作者:chu.qingqing
什么是軟件測試
軟件測試,是一種實際輸出與預期輸出之間的審核或者比較過程。是在規定的條件下對程序進行操作,以發現程序錯誤,衡量軟件質量,並對其是否能滿足需求設計要求而進行評估的過程。
軟件測試主體內容
1、測試計划
根據產品的需求說明書,測試需要明確測試過程中的着重點、爭議事項、測試目標、測試范圍、測試進度、測試類型、測試技術等等,100%測試覆蓋率不現實也不可能。測試過程中,時間、質量、成本,三個重要維度相互制約、相互影響,永遠無法實現時間、成本和質量的三贏;
2、設計用例
按照系統、產品給的需求文檔,原型圖,UI圖完成測試用例,完成測試用例需要用到:等價類划分、邊界值分析法、錯誤推測法、因果圖方法、判斷表驅動法、正交試驗法、功能圖法;同時需要分析業務邏輯,用戶操作場景,異常場景,關聯業務等;
3、執行用例
根據測試階段,代碼改動,環境等挑選相關用例執行;執行過程中要了解:linux簡單命令:ls,cat,tail,cd等,用來看后台日志,是否有前台雖然正常展示,但后台已經拋異常;要了解sql的增刪改查,以便造數據、查詢數據;要了解業務相關操作對數據庫的操作,新增操作入了哪些表,有哪些關鍵數據,哪些狀態數據,更改操作入了修改了哪些表的哪些字段,以及字段對以后業務的影響;bug中問題描述,步驟,抓包,日志等,sql是絕對的重點;
4、輸出報告
依據bug追蹤工具禪道,給出詳細的測試報告,測試報告中需要明確測試所涉及到的功能點,本次測試涉及到的嚴重級別bug數量,已修復的bug,未修復延期修復的bug,延期修復的bug中是否有影響系統功能的,如果有,系統不予發布,這是一個測試人員的基本素養。
現在,你是否還認為測試僅僅是對系統進行簡單、無邏輯的點擊?測試人員的職責,是站在用戶角度,使用系統,對系統未實現的需求、不合理的邏輯、易用性、美觀性等等多方面提出修改意見,其最終目的,都是為了系統能夠如期發布或上線。
軟件測試的重要性
公司現在很多項目組其實是沒有配備測試人員的,這種情況其實是不合理的且不樂觀的。對於代碼,大神們總是有一種莫名的自信(我寫的代碼邏輯嚴謹,不會出現問題),樓主也參與過開發,然而事實總是papapa打臉。故而這里提一下軟件測試的重要性,為什么你們團隊,需要測試人員(現在是可以隨時申請測試人員的),一張圖說明(來自網上):
這些是比較老的數據,大家可能覺得比較遙遠。身邊的例子,我們的項目未經測試,直接上線:
(1)客戶反饋的bug多不多?
(2)熬夜修復的日子多不多?
(3)重復返工的日子多不多?
(4)心煩意燥掉頭發的時間多不多
如果上線前經過測試,測試人員已經發現bug並告知開發人員,開發人員上線前修復完成,是不是客戶和領導皆大歡喜?再者說,一次bug、兩次bug客戶能理解,次數多了,客戶是否會質疑我們的能力?一個功能,頻繁出現問題,往低的層面說,是我們開發的時候沒有考慮周到、全面,往高的層面說,是影響公司形象的行為(嚴重情況下,客戶拒絕驗收、拒絕交付尾款,開發周期加長等等都是成本,且公司可能會被罰款,而基層員工的我們可能會被扣工資)。畢竟無論在哪一行,客戶都是上帝。
通過一些簡要說明,測試的重要性不言而喻。
當前我們支持
路人甲乙丙丁:你們是否只會做功能測試呢?當然不是,性能測試、安全測試、自動化測試(腳本),我們有專業的測試人員,她們會依據測試場景進行分析,制定周密的測試計划,設計合理的測試用例,針對不同系統不同需求,進行測試,給出測試結果,並針對測試結果,給出優化意見。性能問題發現后,可與開發人員協同調優。
至此,對測試認知的一個淺談結束了,如果你們剛好有需求,而我們能提供專業能力,請隨時call我們:USTCINFO-QC。