Page 224 - 软件工程与项目管理
P. 224
软件工程与项目管理
Software Engineering & Project Management
测试来发现编码有误,代码存在除零或数据越界,程序逻辑结构合理,模块的功
能实现正确,与详细设计文档要求一致等。软件单元测试一般应采用静态测试和
动态测试相结合的方法。通常,静态测试先于动态测试。对于面向对象程序,一
般从类或函数的方法、约束、状态、交互和异常几个方面对类进行测试。对于
结构化程序,通常对软件单元的控制流、数据流、接口和表达式等内容进行分
析,对软件单元的功能、性能、接口、局部数据结构、独立路径、错误处理、
边界条件和内存使用情况进行动态测试。通常对软件单元接口的测试应先于其
他内容的测试。软件单元测试一般借助单元测试工具 C++Test 或者 Klockwork 来
完成。C++test 作为 C/C++ 单元测试工具,可以自动测试任何 C/C++ 类、函数或
部件,而不需要测试人员编写单元测试用例、测试驱动程序和桩函数调用;使用
C++test 进行软件单元测试,查看并分析测试用例、桩函数、覆盖率等的运行结果,
可以及时修正代码错误。Klocwork 能够分析软件的源代码,在第一时间发现代码
问题,自动识别质量缺陷、安全漏洞和架构问题,并可进行软件度量和定制化分析。
2. 集成测试
软件集成测试是将单元测试过程中构造的桩模块、驱动程序或全局数据用
实际部件和实际全局数据替代,逐步将部件集成为较大的部件。软件集成测试的
目的是检验软件单元和部件之间的接口关系,并验证部件的设计要求。软件集成
测试一般采用静态测试方法和动态测试方法。静态测试方法常采用静态分析方
法,动态测试采用白盒和黑盒方法,同时静态测试先于动态测试。软件集成测试
至少应包括软件单元间、部件间的接口测试。必要时,应包括软件部件的功能测
试、性能测试、运行时间和运行空间等内容。软件集成测试一般借助集成测试工
具 Testbed 来完成。使用 Testbed 进行集成测试,综合了 C++test 进行动态测试及
Klocwork 进行静态测试的过程,方法相类似,此外不再详述。
3. 合格性测试
软件合格性测试是检验软件配置项、软件任务书和软件需求规格说明的一
致性。软件合格性测试一般采用黑盒方法,至少应包括功能测试、性能测试和接
口测试。必要时,应包括余量测试、边界测试、人机交互界面测试、强度测试、
安全性测试、可靠性测试、恢复性测试和安装性等内容。软件合格性测试一般借
助集成测试工具 QTP 来完成。使用 QTP 进行合格性测试的过程包括:确定测试
需求、准备测试脚本基础结构、测试环境及参数配置、录制测试脚本、增强测试
214
214

