《软件建模与设计: UML、用例、模式和软件体系结构》一一3.4 软件测试

本节书摘来自华章计算机《软件建模与设计: UML、用例、模式和软件体系结构》一书中的第3章,第3.4节,作者:(美)Hassan Gomaa,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

3.4 软件测试

由于发现错误以及定位和纠正错误的困难性,因此在多个阶段都要进行软件测试(Ammann and Offutt 2008)。单元测试和集成测试是“白盒”测试方法,需要了解软件的内部知识;系统测试是基于软件需求规约的“黑盒”测试方法,不需要了解软件内部结构。
3.4.1 单元测试
单元测试表示在单个构件与其他构件进行组合之前对其进行单独的测试。单元测试的方法使用测试覆盖准则,经常使用的测试覆盖准则包括语句覆盖(statement coverage)和分支覆盖(branch coverage)。语句覆盖需要达到每一个语句应至少被执行一次。分支覆盖则需要达到每一个分支的可能结果应至少被测试一次。
3.4.2 集成测试
集成测试表示将已测试的单个构件逐步地组合为更复杂的构件组,然后对这些构件组进行测试,直到组合成完整的软件系统,同时构件间的接口都已经被测试过。
3.4.3 系统测试
系统测试是测试一个经过集成的硬件和软件系统来验证系统是否满足特定需求的一个过程(IEEE 1990)。测试人员测试整个系统或主要的子系统来判定它们是否与需求规约保持一致。为了使测试更加客观,推荐让一个独立的测试团队来执行系统测试。
在系统测试过程中,需要测试软件系统的几个特征(Beizer 1995)。这些特征包括:
功能测试。判定系统执行了需求规约中所描述的功能。
负载(压力)测试。判定当系统运行时是否能够处理计划中的大量的和变化的负载。
性能测试。测试系统满足响应时间的需求。
3.4.4 验收测试
在验收系统之前,通常在用户安装阶段,用户组织或其代表都会进行验收测试。与系统测试相关的大多数问题也应用于验收测试。

上一篇:阿里云智能数据构建与管理 Dataphin公测,助力企业数据中台建设


下一篇:php $_FILES处理文件上传