作為一名從事軟件測試已經(jīng)N年(N>5)的資深人士,整理下我所采用的軟件測試的流程:
需求分析
深入分析產(chǎn)品所有者制定的功能需求炕横,確定需求是不是合理耿眉,有哪些不明確的地方菌瘪,找出需求設(shè)計的漏洞。
制定驗收測試用例
針對需求制定驗收的測試用例丑蛤,說明實現(xiàn)需要通過哪些比較基本的測試叠聋。驗收測試用例需要通過測試, 開發(fā), 產(chǎn)品所有者的評審。開發(fā)完成實現(xiàn)后需自測實現(xiàn)能通過驗收測試受裹,測試開始詳細(xì)測試之前先執(zhí)行驗收測試確定通過碌补,如果有沒通過的地方虏束,需要注明并且跟開發(fā)溝通,了解是因為什么原因?qū)е麻_發(fā)執(zhí)行驗收測試的時候沒有發(fā)現(xiàn)問題:是因為用例寫的不清楚還是測試的步驟不一致厦章。 這樣可以督促開發(fā)自測镇匀,減少基本功能的bug,讓測試把精力放在發(fā)現(xiàn)更復(fù)雜的bug上。
制定詳細(xì)的測試用例及執(zhí)行測試
功能實現(xiàn)之后袜啃,針對功能制定詳細(xì)的測試用例并執(zhí)行汗侵。測試需要覆蓋功能測試,性能測試群发,安全測試晰韵,本地化測試,除此之外進(jìn)行探索性測試熟妓。
提交bug并推動bug解決
針對測試發(fā)現(xiàn)的問題提交bug雪猪,說明詳細(xì)的重現(xiàn)步驟。如果有的問題測試的時候遇到了起愈,但不知道怎么穩(wěn)定重現(xiàn)只恨,也應(yīng)該提交bug,可以后面嘗試重現(xiàn)或由其他測試嘗試重現(xiàn)。不輕易放過任何一個問題就能找出更多復(fù)雜或者跟時間相關(guān)的問題抬虽。測試要及時跟開發(fā)溝通官觅,推動開發(fā)解決問題。
驗證修復(fù)的bug?
驗證bug已經(jīng)修復(fù)阐污,對bug修復(fù)涉及的模塊進(jìn)行基本功能測試休涤。除此之外還要分析bug產(chǎn)生的原因, bug的產(chǎn)生說明哪部分是薄弱的地方,需要加強哪部分的測試笛辟。怎么防范類似問題的出現(xiàn)滑绒。
制定bug分析報告
針對測試的功能的bug進(jìn)行匯總,列出bug產(chǎn)生的原因隘膘,分析哪些部分是薄弱的地方,需求加強哪部分的測試杠览,怎么防范類似的問題出現(xiàn)弯菊。通過bug的分布和趨勢研究,發(fā)現(xiàn)bug產(chǎn)生的根源踱阿,及早采取調(diào)整和控制措施管钳,預(yù)防和控制問題的蔓延和新問題的產(chǎn)生。
測試用例評審
測試用例通過另一位資深的測試評審软舌,評審過程關(guān)注用例覆蓋的全面性才漆,用例描述的準(zhǔn)確性。
制定自動測試計劃并實現(xiàn)
針對手工測試的用例看看哪些可以自動化佛点?通過什么方式實現(xiàn)?是采用直接通過界面的系統(tǒng)測試還是接口測試醇滥?實現(xiàn)相關(guān)的自動測試黎比,在測試用例上標(biāo)注出已經(jīng)實現(xiàn)自動測試的部分。