什么是系统测试?
系统测试是验证完整和完全集成的软件产品的测试级别。系统测试实际上是一系列不同的测试,其唯一目的是测试整个基于计算机的系统。
在本教程中,将学习
- 系统测试为黑盒测试
- 在系统测试中验证什么?
- 软件测试层次结构
- 不同类型的系统测试
- 测试人员应该使用什么类型的系统测试
系统测试为黑盒测试
软件测试的两个类别
- 黑盒测试
- 白盒测试
系统测试属于软件测试的黑盒测试类别。
白盒测试是对软件应用程序的内部工作或代码的测试。系统测试从用户的角度涉及软件的外部工作。
在系统测试中验证什么
系统测试包括测试以下软件代码

- 测试包括外部外围设备在内的完全集成的应用程序,以检查组件之间以及与整个系统的交互方式。这也称为端到端测试场景。
- 对应用程序中的每一个输入进行彻底的测试,以检查所需的输出。
- 对用户体验的测试取决于应用程序。
这是对系统测试所涉及内容的非常基本的描述。需要构建详细的测试用例和测试套件,这些测试用例和测试套件测试从外部看的应用程序的各个方面,而不需要查看实际的源代码。
软件测试层次结构

与几乎任何软件工程过程一样,软件测试有一个应该按照的规定顺序。以下是全面测试新软件以准备将其推向市场所采取的步骤:
- 在开发期间对代码的每个模块或挡路执行单元测试。单元测试通常由编写代码的程序员完成。
- 在将新模块集成到主软件包之前、期间和之后进行的集成测试。测试每个模块对整个程序模型的影响是至关重要的。
- 在软件产品投放市场之前,由专业测试代理对完成的软件产品进行系统测试。
- 验收测试-由实际最终用户对产品进行的Beta测试。
不同类型的系统测试
系统测试有50多种类型。有关软件测试类型的详尽列表,单击此处。下面我们列出了大型软件开发公司通常使用的系统测试类型
- 可用性测试-主要关注用户使用应用程序的易用性、处理控件的灵活性以及系统满足其目标的能力
- 负载测试-有必要了解软件解决方案将在实际负载下执行。
- 回归测试-包括进行测试,以确保在开发过程中所做的任何更改都没有导致新的错误。它还确保随着时间的推移不会因为添加新的软件模块而出现旧的错误。
- 恢复测试-用于证明软件解决方案是可靠、值得信赖的,并且可以成功地从可能的崩溃中恢复。
- 迁移测试-执行此测试是为了确保软件可以从较旧的系统基础架构迁移到当前的系统基础架构,而不会出现任何问题。
- 功能测试-也称为功能完整性测试,功能测试涉及尝试考虑任何可能丢失的功能。测试人员可能会列出产品在功能测试期间可能需要改进的附加功能。
- 硬件/软件测试-IBM将硬件/软件测试称为“硬件/软件测试”。这是测试人员在系统测试期间将他/她的注意力集中在硬件和软件之间的交互上的时候。
测试人员应该使用什么类型的系统测试?
有超过50种不同类型的系统测试。具体的这些变量包括:
- 测试人员为谁工作-这是确定测试人员将使用的系统测试类型的主要因素。大公司使用的方法与中小型公司使用的方法不同。
- 可用于测试的时间-最终,所有50种测试类型都可以使用。时间常常限制我们只能使用与软件项目最相关的类型。
- 测试人员可用的资源-当然,一些测试人员没有必要的资源来执行测试类型。例如,如果是一名为大型软件开发公司工作的测试人员,很可能拥有其他人无法获得的昂贵的自动化测试软件。
- 软件测试人员的教育-每种可用的软件测试都有一定的学习曲线。要使用所涉及的一些软件,测试人员必须学习如何使用它。
- 测试预算成本-资金不仅成为小公司和个人软件开发人员的一个因素,而且也成为大公司的一个因素。