什么是系统测试?类型与示例
什么是系统测试?
系统测试是验证完整且完全集成软件产品的测试级别。系统测试的目的是评估端到端系统规范。通常,软件只是一个更大的基于计算机的系统的一个元素。最终,软件会与其他软件/硬件系统进行接口。系统测试被定义为一系列不同的测试,其唯一目的是对整个基于计算机的系统进行全面测试。
系统测试视频解释
如果视频无法访问,请点击此处
系统测试是黑盒测试
软件测试的两大类
- 黑盒测试
- 白盒测试
系统测试属于软件测试的黑盒测试范畴。
白盒测试是对软件应用程序的内部工作或代码进行测试。相反,黑盒测试或系统测试则相反。系统测试涉及从用户角度对软件的外部工作进行测试。
系统测试中验证什么?
系统测试涉及测试软件代码的以下方面:
- 测试完全集成的应用程序,包括外部外设,以检查组件之间以及与整个系统的交互。这也被称为端到端测试场景。
- 验证应用程序中每个输入的彻底测试,以检查预期的输出。
- 测试用户与应用程序的体验。
这是对系统测试涉及内容的非常基本的描述。您需要构建详细的测试用例和测试套件,从外部测试应用程序的各个方面,而不查看实际的源代码。要了解有关此过程的全面方法,请考虑阅读有关端到端测试的内容。
软件测试层次结构
与几乎所有软件工程过程一样,软件测试也有一个规定的执行顺序。以下是按时间顺序排列的软件测试类别列表。这些是为将新软件推向市场而进行全面测试所采取的步骤
- 在开发过程中对每个模块或代码块执行单元测试。单元测试通常由编写代码的程序员完成。
- 在将新模块集成到主软件包之前、期间和之后进行集成测试。这涉及对每个单独的代码模块进行测试。一个软件可能包含由多个不同程序员创建的多个模块。测试每个模块对整个程序模型的影响至关重要。
- 由专业测试人员在已完成的软件产品推向市场之前进行系统测试。
- 验收测试——由实际最终用户对产品进行的 beta 测试。
系统测试的类型
系统测试有50多种类型。如需软件测试类型的详尽列表,请点击此处。下面我们列出了大型软件开发公司通常会使用的系统测试类型
- 可用性测试 – 主要关注用户使用应用程序的便捷性、处理控件的灵活性以及系统实现其目标的能力
- 负载测试 – 对于了解软件解决方案在实际负载下的性能是必要的。
- 回归测试 – 涉及进行测试以确保在开发过程中所做的任何更改都没有导致新的错误。它还确保随着时间的推移添加新的软件模块不会出现旧的错误。
- 恢复测试 – 用于证明软件解决方案可靠、值得信赖,并且能够成功从可能的崩溃中恢复。
- 迁移测试 – 用于确保软件可以从旧系统基础设施迁移到当前系统基础设施,而不会出现任何问题。
- 功能测试 – 也称为功能完整性测试,功能测试涉及尝试思考任何可能缺失的功能。测试人员可能会列出产品可能具有的额外功能,以在功能测试期间改进它。
- 硬件/软件测试 – IBM 将硬件/软件测试称为“HW/SW 测试”。这是指测试人员在系统测试期间将注意力集中在硬件和软件之间的交互上。
测试人员应该使用哪种类型的系统测试?
系统测试有50多种不同的类型。测试人员使用的具体类型取决于几个变量。这些变量包括
- 测试人员为谁工作——这是决定测试人员将使用哪种系统测试的主要因素。大公司使用的方法与中小型公司使用的方法不同。
- 可用于测试的时间——最终,所有50种测试类型都可以使用。时间通常限制我们只使用与软件项目最相关的类型。
- 测试人员可用的资源——当然,有些测试人员将没有必要的资源来执行某种测试类型。例如,如果您是一名在大软件开发公司工作的测试人员,您可能会拥有其他公司无法获得的昂贵的自动化测试软件。
- 软件测试员的教育背景——每种可用的软件测试类型都有一定的学习曲线。要使用某些相关软件,测试员必须学习如何使用它。
- 测试预算——金钱不仅是小公司和个人软件开发人员的考量因素,也是大公司的考量因素。