软件测试是软件质量保证的主要手段之一,测试并不仅仅是为了要找出错误,再则没有发现错误的测试也是有价值的,完整的测试是评定软件质量的一种方法。
软件测试的类型:动态测试(黑盒测试法(测试人员不清楚程序的内部结构和处理过程的一种测试,常见的方法有:等价类划分、边界值分析、错误猜测和因果图,测试的重点在于是否实现了某种功能)、白盒测试法(测试人员清楚程序的内部结构和处理过程的一种测试,常见的方法有:基本路径测试、循环覆盖测试、逻辑覆盖测试,测试的重点在于检验内部控制结构和数据结构是否有错,即结构)和灰盒测试法(界于黑盒与白盒测试之前的一种方法,测试的目的在于评价软件质量好与坏))和静态测试(即不在机器上运行,采用人工检测和计算机辅助静态分析的手段进行检测,实践证明,30%~70%的逻辑设计和编码错误都能发现,其主要方法有:桌前检查(程序员自己检查自己编写的程序)、代码审查(他人(一个小组)对程序员编写的程序进行检查)、代码走查)
注:静态测试也可以实现白盒测试,如使用人工检查代码方法来检查代码的逻辑问题。
根据测试的目的、阶段不同,可将测试分为单元测试(模块测试,由开发人员自已负责)、集成测试(测试的是模块之间的协作性,其测试计划应在概要设计阶段完成)、确认测试(验证软件的功能、性能及其他特性是否与用户要求一致,其测试计划应在需求分析阶段完成)和系统测试(整个项目的各种都集成在一起的测试,其测试计划应在需求分析阶段完成)
验收测试内容通常包括:功能测试、性能测试、压力测试、配置测试、平台测试、安全性测试、恢复测试及可靠性测试等。
各省软考办 | ||||||||||