② 在功能概要设计阶段活动是:依据功能概要设计的目标,设计测试用例,对集成测试阶段的目标,作好一个准备。
③ 在详细设计阶段的活动是:在这一阶段,对应的测试工作是单元测试工作,通过详细设计的说明,测试工作人员可以准备好测试用例。这个是最小的测试执行单元。
④ 在编码阶段的活动是:测试工作可以根据上述的单元测试计划,进行单元测试了。一面编程,一面进行单元测试。充分的单元测试可以极大的提高程序的质量。因为很大的一部分错误都是在单元中发现的,如条件组合问题、边界值问题等。
编码工作全部完成后,测试工作就可以按照计划进行。从单元测试、集成测试、到系统测试。最后还有验收测试,验收测试工作主要是面向客户,向客户演示软件功能的实现。通过系统测试的用例。给客户展示,并确保用例全部执行通过,测试工作完成。建立规范的测试流程对测试部门的效率提升是非常关键的一环。
3)缺乏合适的测试人员。很多公司的HR认为对测试人员的要求较低,不需要懂得太多的知识,也不需要具备很多经验,测试谁都可以做。其实,这些观点都是错误的。要招聘到一个合适的测试人员不是一件容易的事。因为一个合格的软件测试人员需要同时具备以下条件:
① 具备一定的产品和业务知识。
② 有一定的怀疑精神,有寻根问底的精神。
③ 良好的沟通能力。
④ 具备一定的编程能力,只有懂一两门编程语言,跟开发的交流会更加顺畅。
⑤ 具备良好的文档编写能力,能编写较规范的测试报告。
⑥ 总结及分享的能力,能及时总结测试经验及与他人分享的能力。
⑦ 学习能力较强,对新业务、新技术和新产品功能的掌握较快。
⑧ 具备发散性思维,需要对客户的正常操作及异常操作进行推断。
⑨ 掌握一定的自动化测试方法和工具,能对测试效率不断进行改进。
除了上面几点之外,还有些公司对测试人员的英文水平要求较高,或者要求有带领团队的能力。可见,测试人员需要掌握的知识还真多,具备以上要求的测试人员或管理人员少之又少,除了招聘之外,公司内部也可以进行培养。
由此可见,人、流程、组织对软件测试的成功进行缺一不可。当然,研发管理的规范性,测试人员的绩效考核和激励机制也是非常重要的因素,一定要解决测试团队的成就感问题,同时,应建立测试人员的职业通道。只有这样,测试才有可能做好,不会陷入“测试人员走了一批又来了一批”的怪圈,一方面团队不稳定,另一方面产品质量也不会稳定。