对于业内人士而言,软件测试要做到与时俱进还真不容易。因为测试团队与领导之间在测试方法、测试地点和时间问题上有着许多误解,所以使得准时的、高质量的发布具有一定的挑战性。
如果高层领导从测试之初就参与进来,你就能够克服很多这样的问题。虽然他们不会参与到实际测试,但是他们能够从基层了解到从测试到交付一个优质软件需要做到什么。
通过设定明确的质量预期,并了解满足测试团队的需求(例如培训、练习、工具等等),才能从顶层建立领导力。
由于公司在持续交付中进行测试,测试计划的必要成为他们质疑的一点。现代测试计划可以为构建和传达测试策略和方法提供帮助。他们给测试团队提供的是交流各类假设和方法的渠道,其中也包括了对测试项的筛选。
以下是一些需要主要的关键性测试技巧:
1.制定正确的测试计划
测试计划基本上分为两种类型。全局计划着重提及了测试团队的决心、期望、时间安排、资源、方法、工具和其他测试要点等。一个完整的计划应该包括了具体的测试用例。与全局计划不同的是,在软件更改时也指定好详细的计划。
在全局测试计划中,包括产品所有者和其他利益相关者在内的高层领导能够引导软件测试的进行。目标是需要对测试时间线、重点领域和方法达成一致。例如,将区块链合并到软件中需要进行更多测试,你也需要在分布式环境中的架构流程、分段、和模拟场景等方面付出更多努力。
可能出现的问题:随着测试的进行,测试计划也可能需要重新制定更新。坚持使用最初的测试计划可能会导致无法实现测试目标,最终可能会影响到产品质量。
解决方法:领导者和团队应该确保能够及时更新测试设计计划。根据测试范围,你可以向领域专家和其他利益相关者查看更新的测试。
2.自动化软件测试
自动化测试是快速、频繁执行多项测试的最有效方法,因此自动化测试在敏捷和DevOps中是必不可少的。
可能出现的问题:虽然自动化被普遍接受使用,但在许多自动化测试环境的部署依然昂贵又复杂,所以它只能停留在计划之中。确实,自动化测试可以看作软件开发(开发可用的测试脚本,测试框架,甚至测试平台),需要规划和专业技能,但如果没有自动化势必会减缓开发周期。
解决方法:在自动化缺失或较少的情况下,高层领导可以提供范围和资源,鼓励团队从少量的,一小部分测试开始,着重学习和清扫技术难题,逐渐建立自动化测试。此外,测试的设计和组织也是成功实现自动化的关键所在。其中一个方法是基于行动的测试,这是一种关键字驱动的模块化测试设计和自动化方法。
首先选择哪种自动化测试取决于测试能够节省的时间长短和业务关键性。例如,计算保险单的保费是业务的重点,因此应该对保费计算进行反复且多次的测试。
3.分享测试用例
测试用例是对于评估系统的描述。它可以用来记录测试内容和测试方式,并有助于确保跨团队的测试可重复性,这对于消除错误和保证交付时间至关重要。所有的团队成员和其他利益相关者都能够了解相关的测试用例。
可能出现的问题:没有组织记录好的测试用例,或其他团队无法充分访问的测试用例,可能会导致工作的重复和延迟。这使获得良好的测试覆盖率以及维护用例及其自动化变得十分困难。
解决方法:了解测试用例的记录位置和记录方式。如果被记录在Word Doc或Excel中,可以考虑升级到更易于访问得跟踪工具,例如TestArchitect, TFS/Wisual Studio, Jira或Zephyr。通过简化访问用例,团队可以更好的构建测试,实现更高的覆盖率,更轻松得维护自动化。
4. 提前测试(向左)
在软件开发过程中,将测试放到首位能让你更早的发现问题所在,并减少修复问题的时间和成本,例如在测试进行中就将问题解决。
可能出现的问题:在初期,公司在集成、API测试方面取得了实质性进展。但是,单元测试(一种基于代码级的测试)通常是由开发人员完成,且可能不会被放在首位考虑。如果需要大量的设置和拆分周期,单元测试也会变得更贵。
解决方法:确保在正确的时间进行正确的测试。尽可能地采用单元测试和API接口测试进行自动化测试的实施,因为它们的自动化趋向于稳定,且能在开发周期的早期执行。
保持不变的态度
当领导了解了软件测试的真正价值后,就能够帮助团提供更好的软件。IT领导者更容易发掘出通过利用自动化等技术来改进测试方法的机会。
通过围绕目标来交付最佳的产品,企业才能让测试人员感受他们的工作是被支持的。
版权声明:本文出自51Testing会员投稿,51Testing软件测试网及相关内容提供者拥有内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。