软件质量即业务生命。软件测试项目已经变得比以往任何时候都复杂和困难。1979年,Glenford Myers在《The Art of Software Testing》一书中提出“测试的目的是证伪”这一概念,推翻了过去“为表明软件正确而进行测试”的错误认识,为软件测试的发展指出了方向,软件测试的理论、方法在之后得到了长足的发展。但是,目前中国许多软件企业仍存在着“重开发、轻测试”的倾向,从而造成软件产品的质量问题日渐突出。因此,如何制定有效的软件测试过程、保障软件业的健康化发展,已成为当务之急。
① 系统软硬件功能划分,形成软、硬件研制任务书。
② 系统软件需求分析。
③ 系统软件概要设计。
④ 系统软件详细设计。
⑤ 软件编码。
测试人员恰恰以相反的步骤实现测试过程:
① 单元测试。软件单元测试的目的是检测程序模块是否符合《详细设计说明书》的要求。通常会采用白盒测试技术,如基于路径覆盖原理等。
② 集成测试(配置项测试)。软件集成测试的目的是检测程序是否符合《概要设计说明书》的要求。通常采用黑盒测试技术,但有时为了确保主要控制路径的覆盖测试,也会采用一定的白盒测试技术。
③ 软硬件集成测试。软硬件集成测试的目的是为了检测系统划分软硬件功能后,在软件集成测试完成的基础上,测试模块软件在硬件平台上的运行情况,主要是对嵌入式软件的实时性、嵌入性及功能性能指标的测试。
④ 系统测试。关注所设计的系统,在模块与模块集成之后构成完整系统时所表现出的质量指标,包括正确性、可扩性等。
⑤ 确认测试。针对确认标准的测试。确认标准由需求分析产生,所以实际上就是指规格化的需求,通常采用黑盒测试技术。