软件测试是软件质量控制的一种方法,它贯穿整个软件生命周期。

  分阶段来说,不同的阶段有不同的方法进行质量控制

  1.对于需求和设计阶段测试效果的质量控制,由于国内的很多公司都是只负责编码,开发过程中根本没有这个阶段,甚至于有些公司的测试知识按照国外公司发过来的(非中文版的)测试用例进行测试,对于这个阶段的质量控制我的经验也不是很多,主要是参加评审(需求和设计)会议和check仕样书,站在客户的角度提出的合理建议,比如易用性,美观性等。

  2.测试用例的编写:这个也是在需求和设计阶段需要做的,也是QC比较重要的工作(包括的比较多,呵呵,主要的是遍历,还有测试正常和异常功能用例的比例)。比较好的流程是每天固定时间提交,由小组内部review,由测试组长抽查,全部完成后要经过同级评审,和开发人员的确认,才能应用。(这是QA的工作了,呵呵,有时间一定好好学习CMM。)

  3.单元测试:这个工作一般是由开发人员来做的,如果由于时间紧,也可能由其他开发人员或测试人员来完成。这是非常重要的测试阶段,可能发现很多隐藏很深,或影响很大的bug,很多项目结合测试时发现的bug过多,导致不能按期提交,都是由于单元测试做得效果不好。这个阶段质量控制可以针对提交的bug数对代码(包括测试代码)做抽查,是否发现修改后的代码仍然存在很多问题,并且,测试代码没有遍历。这里好使用工具,呵呵,目前我用过junit(相关资料请看其他文章,还是广告,嘿嘿)。

  4.结合测试:可以通过并行测试和抽查来做质量控制。这是检查测试效果的主要途径。还有是否按照用例进行测试,测试中记录下来的新增用例的数量等等

  5.回归测试:其实是结合测试的一部分,是对开发人员修改后的软件产品,进行的bug确认和基本功能的测试,因为大家都知道,修改bug,很可能对其他代码造成影响。往往是修改一个bug,能引起更多更大的bug。这一阶段,主要还是抽查,看看是否有的bug没有修改,是否有以前没发现的bug被提出等等。

  6.系统测试:这里的质量控制要按照基本用例测试一下,是否有基本功能为实现。

  7.产品的用户手册:这里要对用户手册进行检查,是否做到了简单,易懂,风格一致等。

  8.QC总结报告:是通过数据(抽查结果)记录项目实际完成情况,并提出项目中存在的问题和值得以后借鉴的东西,以及提出的建议。这也是项目中比较重要的文档,供公司成员参考,使以后的项目开发过程不断完善。

  以上如发现问题应该立即提出督促修改,并对修改结果进行确认,如果严重要重新进行这个阶段的测试。