作为一名从事软件测试已经N年(N>5)的资深人士,整理下我所采用的软件测试的流程:
需求分析
深入分析产品所有者制定的功能需求,确定需求是不是合理,有哪些不明确的地方,找出需求设计的漏洞。
制定验收测试用例
针对需求制定验收的测试用例,说明实现需要通过哪些比较基本的测试。验收测试用例需要通过测试, 开发, 产品所有者的评审。开发完成实现后需自测实现能通过验收测试,测试开始详细测试之前先执行验收测试确定通过,如果有没通过的地方,需要注明并且跟开发沟通,了解是因为什么原因导致开发执行验收测试的时候没有发现问题:是因为用例写的不清楚还是测试的步骤不一致。 这样可以督促开发自测,减少基本功能的bug,让测试把精力放在发现更复杂的bug上。
制定详细的测试用例及执行测试
功能实现之后,针对功能制定详细的测试用例并执行。测试需要覆盖功能测试,性能测试,安全测试,本地化测试,除此之外进行探索性测试。
提交bug并推动bug解决
针对测试发现的问题提交bug,说明详细的重现步骤。如果有的问题测试的时候遇到了,但不知道怎么稳定重现,也应该提交bug,可以后面尝试重现或由其他测试尝试重现。不轻易放过任何一个问题就能找出更多复杂或者跟时间相关的问题。测试要及时跟开发沟通,推动开发解决问题。
验证修复的bug
验证bug已经修复,对bug修复涉及的模块进行基本功能测试。除此之外还要分析bug产生的原因, bug的产生说明哪部分是薄弱的地方,需要加强哪部分的测试。怎么防范类似问题的出现。
制定bug分析报告
针对测试的功能的bug进行汇总,列出bug产生的原因,分析哪些部分是薄弱的地方,需求加强哪部分的测试,怎么防范类似的问题出现。通过bug的分布和趋势研究,发现bug产生的根源,及早采取调整和控制措施,预防和控制问题的蔓延和新问题的产生。
测试用例评审
测试用例通过另一位资深的测试评审,评审过程关注用例覆盖的全面性,用例描述的准确性。
制定自动测试计划并实现
针对手工测试的用例看看哪些可以自动化?通过什么方式实现?是采用直接通过界面的系统测试还是接口测试?实现相关的自动测试,在测试用例上标注出已经实现自动测试的部分。
网友评论