可靠的测试策略是确定重大决策的关键工具,以便参与测试的人员能够做出符合共同目标的决策。测试软件的次数越多,就越能从制定高级计划中受益。本文将详细介绍测试策略,以及如何建立测试策略的实用建议。
01
什么是测试策略?
测试策略,是测试过程的战略布局,是指导测试过程设计和进行的纲领,统筹软件测试过程全局。简单来说,测试策略主要关注两个问题:
测什么:指质量需求是什么、需要关注质量的哪些方面,比如应用的功能范围、性能、安全、易用性等非功能需求。
怎么测:采用什么办法来帮助系统实现质量需求,而不仅仅是手动和自动化的测试方法,也包括一切为质量保障服务的流程、环境、基础设施和人员等。
02
明确测试范围和重点
测试范围定义了测试的边界。如果你正在测试Salesforce的移动应用程序,可以确定Salesforce平台的范围并假设它正常工作。为了权衡质量和成本,你可能只想在部分常用的移动设备上进行测试。可以定义最重要的用户角色(包括其任务、行为和偏好)作为测试范围的一部分。
测试重点指导范围内的工作分配。确定软件中哪些缺陷会造成严重损害,以及这些缺陷可能出现在软件的哪个位置。通过测试策略来指导你的决策,同时也可以应用其他启发法,例如,新功能可能比旧功能更容易出现Bug,之前有缺陷的功能现在可能也有缺陷等。
03
测试级别和类型的正确组合
不同类型的测试揭示了不同类型的缺陷。应用测试级别和测试类型的正确组合将使质量、时间和成本等多个方面达到最佳。
开发人员通常在代码和模块级别进行测试,这被称为单元测试。一旦知道模块可以独立工作,就可以在集成测试中一起测试它们。当模块可以一起工作时,就应该将重点放在程序测试或系统测试。
在过去的几年里,测试应用程序间的依赖关系变得越来越重要,因为数字业务流程不考虑应用程序的边界。这被称为端到端测试或业务流程测试。在这种情况下经常提到的验收测试,实际上是一个签收过程,而不是一个单独的测试级别。
在Salesforce中,平台实现了应用程序流程的良好共享,应用程序本身就是自定义任务和工作流程的集合。其中一些自定义流程可能会与其他系统交互,从而在流程中带来必要的依赖性和复杂性。这就是为什么 Salesforce 测试人员倾向于强调单元测试和业务流程测试。
主要的测试类型是功能测试。它伴随着各种类型的非功能测试,例如软件如何防止恶意使用、对用户的响应速度、以及在重负载下的行为方式以及从故障中恢复的方式。这些测试称为安全性测试、性能测试和负载测试。
04
测试架构将测试置于上下文中
测试专业人员将被测试的事物称为SUT(System UnderTest) 或“被测系统”。测试架构是对SUT、任何相互依赖的系统以及各种测试环境和工具如何协同工作以实现测试的描述。
绘制一张测试架构图,当需要解释新的软件版本如何通过测试级别和类型,或者测试数据来自何处时,参考此图很实用。
05
设计测试流程
许多企业会邀请应用程序的目标用户进行端到端测试和验收测试。这些用户最了解应用程序的使用方式,可以让他们参与应用程序设计。如果需要让用户参与测试,需要先确保设计和管理流程,最大限度地减少等待测试的时间。
06
测试方法原理
测试策略中需要确定的典型方法问题有:
- 如何定义和存储测试用例和测试数据?
- 哪些测试是手动的,哪些测试是自动化的?
- 如何报告测试结果?
- 从较低级别测试到较高级别测试的流程和进入/退出标准是什么样的?
现如今,测试策略更关注测试数据和相关方法,对于Salesforce等围绕数据构建的平台尤其如此。随着应用程序中数据量的不断增长,数据交换、同步和迁移成为常见的问题根源。
测试方法应包含回归测试策略:应采取哪些措施来确保方法在变更前后一直有效。
07
创建基于指标的可见性
良好的测试可以实时了解软件进度和完成情况。对于测试人员和开发人员来说,可见性意味着测试用例和缺陷报告。
测试策略应该定义强制性指标,包括测试结果(以及测试过程)以及如何将信息交付给需要的人。一系列强大的测试指标应包含缺陷累积、缺陷密度、缺陷检测效率和缺陷检测有效性。
- 缺陷累积和缺陷密度:测试缺陷的发现时间、地点、方式以及纠正时间。
- 缺陷积累:软件质量和测试完整性的指标。
- 缺陷密度:帮助突出测试焦点,从而提高测试效率和效果。
- 测试效率:衡量检测缺陷需要多少时间和精力。
- 有效性指标:衡量测试实际防止生产故障的效果。
对于所有质量指标,随时间变化的趋势比当前值更重要。
作者:自由侠部落
🔥🔥Salesforce学习资料、高薪岗位、考证攻略,$40考试优惠券
本文欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接
如果文章的内容对你有帮助,欢迎点赞~