软件系统测试意味着将软件系统或者应用程序做为一个整体进行测试。应用程序的系统测试从整体上检测软件大致的业务,操作以及最终用户需求的一致性。系统测试被归类为黑盒测试。
这就是为什么内部设计,架构或者代码对于这种测试来说完全不重要。
当执行一个软件测试时,专业软件测试员倾向于区分是接口里面的,还是整个软件里面的错误或者缺陷。然而,当执行软件或者应用程序的内建(build-in)测试的时候,专业的软件测试员会倾向于,把已经合并起来的单独模块之间的缺陷或者错误区分开来。
系统测试过程中,主要的问题是软件的设计,行为以及客户的期望。因此软件的系统测试阶段也可以被称为软件开发生命周期的审查测试阶段。
什么时候系统测试会变得重要起来?
当软件的所有功能开发完成时,整个软件系统就应彻底的被测试,保证业务,功能和非功能的要求。系统测试基于单元测试和集成测试标准。绝大多数情况下由一个特别,独立,并且值得托付的小组来负责系统测试。系统测试在开发用服务器(staging server)上完成。
系统测试的理由
● 系统测试是把软件或者应用程序首次做为一个整体进行测试
● 执行系统测试是为了检查和改进技术,业务,功能和非功能的软件需求,审查和改进软件程序架构也是这个阶段一部分内容。
● 系统测试执行在模拟环境(staging environment)里,与最终软件安装所需的环境非常类似。(译者注:staging environment,即在软件最终发布前,开发或者设计人员对软件进行调整后可以及时预览改变的测试环境,这个环境更接近于产品最终发布后的运行环境)
系统测试完成的标准:
● 完成单元测
● 完成集成测试
● 软件系统开发彻底完成
● 模拟产品环境的测试环境准备完成。例如,模拟环境(staging environment:同上注) 存在
系统测试7个阶段:
● 开发系统测试设计
● 开发系统测试用例
● 选择或者开发一些用于系统测试的数据
● 必要的话,将系统测试用例自动化
● 执行测试用例
● 修复缺陷和回归测试
● 如果需要,在不同的测试环境下,再次完成一个测试周期