测试智能化为企业节俭了少量期间——除非您选用了失误的测试用例。这篇文章指出了您应该留意的事项。
依据2021年测试智能化报告,超越40%的公司正在寻求裁减和投资于测试智能化的资源。虽然这并不象征着手动测试会隐没,但从ROI的角度来看,人们对智能化的兴味越来越大——无论是在金钱还是期间方面。
毕竟,咱们可以赞同编写和运转这些单元测试用例很无聊。一个好的智能化战略可以腾出测试人员的期间来处置一些更复杂的疑问,并有助于及早发现失误。
但是,团队经常在没有适当测试战略的状况下急于智能化测试,这会造成在启动大修时出现疑问。经过选用正确的智能化测试,最大限制地提高您的精神和投资报答。
在智能化任何测试用例之前应该思考什么?
1.测试频率
为边缘状况组件编写一个手动测试通常更有效。理想上,测试新性能可以让您极速了解无关运行程序的更多消息。但是,随着性能数量的参与,这并不有效。
将您的测试场景分为两局部:重复局部和一次性性或十分复杂的局部。
智能化重复次数最多的那些。您甚至可以设置测试频率的阈值,高于该阈值您将思考智能化。
例如,运行程序登录或警报系统测试是测试智能化的理想候选者,由于它们须要在每次运行程序构建后运转。
这个规定也有几个例外——比如,单个测试须要口头的数据输入量十分大。在这种状况下,智能化该特定测试是无心义的,由于它会节俭少量期间。
这里惟一的正告是智能化一系列相互依赖的重复测试。假设出现缺点,或许很难确定是关键罪魁祸首确实切测试。这就是日志派上用场的中央,它可以协助您有效地检测这些常年形式缺点。
2.测试笼罩率
测试笼罩率关于软件品质和确保软件构建的稳固性至关关键。智能化正确类型的测试可以协助您以简直相反的期间投入成功高测试笼罩率的目的。
例如,假设您的运行程序有很多组件,那么运转智能化测试是个好主意。这绕过了错过特定测试的手动失误的或许性,并确保运行程序中最关键的局部顺利运转。您还可以在无人照管的状况下运转那些简短的夜间测试,并在醒来时检查测试失败(或成功!)要素的详细日志。
3.结果
结果的可预测性如何?智能化须要预先定义的输入和输入来发生经过和失败条件,否则它们或许会造成失误的结果。
假设您处于测试的探求阶段,并且您的测试是暂时的或须要十分详细的畛域常识,那么将它们智能化并不是最好的主意。
4.特色关键性
假设一个名目是一个关键的性能,假设失败或许会造成用户体验终止,你应该编写一个智能化测试套件。这样,您就可以防止任何人为失误扰乱您的颁布。
理想状况下,测试应该延续运转,以便尽快通知相关团队。
5.期间报答比
虽然智能化可以腾出测试人员的期间,但组织和团体经常疏忽测试的一个关键方面——保养智能化测试所需的老本和期间。假设您的运行程序的后端出现严重变动,通常为智能化测试编写和重写代码就像手动测试一样费事。
处置这个疑问的一种幽默方法是让测试工程师智能化,以了解程序的哪一局部失败。您可以经过智能化更宽泛的运行程序测试来做到这一点,这样假设出现疑问,您就可以确切地知道去哪里寻觅。智能测试口头是测试智能化畛域的关键趋向之一,它经过识别须要口头的特定测试来做到这一点。
6.人的介入
您尝试智能化的测试套件有多复杂?假设须要用人眼从新审核测试结果或须要启动实践的用户交互,那么智能化或许不会有太大协助。
例如,用户体验测试最好不要智能化,由于测试软件在经常使用产品时永远无法模拟人类的心情。但是,假设您须要对测试输入启动视觉确认,则可以运转智能截屏测试,而后启入手动验证。
7.优先权
什么时刻须要测试结果?假设智能化测试有助于您更快地将产品推向市场,那么您应该继续经常使用它。但是,当您须要立刻取得结果时,不要让编写和运转智能化测试成为瓶颈。
此外,您应该记住,“测试”并不是惟一可以智能化以提高运行程序效率的物品。手动数据搜集或设置数据输入等义务也十分适宜智能化。因此,假设有一个大型数据集但您的期间不够用,那么智能化它或许是您的救星!
经常智能化的测试用例
1.性能测试(负载、压力测试)
负载测试简直因“隔夜”测试而臭名昭著。依据定义,负载测试须要少量资源,由于它们可以识别公司裁减时出现的系统滞后和性能疑问。
这就是为什么启动智能化测试的工具很无心义的要素——由于它们可以以很少的老本有效地模拟用户和资源。我的意思是,尝试找1000名用户对尚未颁布的产品启动失误测试-哎呀!
虽然您相对不能延聘1000名QA专家来启动智能化测试,但测试智能化框架可以设置虚构用户并让他们像实在用户一样与您的产品启动交互。这将使您能够经过在流程早期识别它们来裁减和防止终止。而后,您的团队可以检查性能目的并确定速度降低或终止确实切要素。
雷同,假设您须要启动跨阅读器测试,智能化测试可以协助您经过几个步骤搜集运行程序跨多特性能的性能。
智能化您的性能测试以检查哪里出现疑问,以及您的运行程序能否可以处置这些疑问。
2.单元测试
假设您正在开发大型运行程序的代码库,智能化单元测试将节俭您的期间。单元测试的智能化测试将协助您实时发现失误,让您继续了解各个组件能否反常上班。
智能化在重构代码时特意有用,由于只需单元测试是绿色的,您就可以安心肠假定单个代码单元的行为没有扭转。此外,这些测试的报告可以立刻提供应整个团队。
3.回归测试(烟雾、健全性测试)
回归测试可确保即使启动了少量更改,运行程序也能顺利运转。这象征着须要重复从新测试多个运行程序组件。由于这种重复,回归测试是测试智能化的理想候选者。
智能化回归测试将协助您节俭手动资源和期间,并更快地裁减。虽然回归测试通常在软件颁布完结时口头,但智能化它们也为您提供了一个迭代和延续运转它们的选项。这有助于更快地识别程序中的失误并创立极速反应循环,从而更快地处置疑问。
4.性能测试
性能测试实质上是验证运行程序能否在前端以应有的形式运转。虽然性能测试的某些方面是手动的,但很多方面应该是智能化的,以确保无失误的产品交付。
例如,端到端测试智能化可确保关键的预约义用户体验流程关于每日颁布的产品顺利运转。
经常使用selenium智能化性能测试是一种盛行的选用。您甚至可以经常使用稍微不同的数据集或用户行为来调整测试,以涵盖多个用例。
哪些测试相对不应该智能化?
1.探求性测试
探求性测试包含更宽泛的非脚本测试,这些测试必无法少,但都是即时成功的。通常,这些测试须要一些畛域常识和对运行程序的相熟能力找出意在行为。由于它们没有很好地定义,它们不能被智能化。
但是,一旦测试人员经过探求性测试发现缺点,这些测试操作就可以记载上去并智能化以供未来构建。
2.可用性测试
如前所述,可用性测试不应该智能化,由于很难预测人类行为。这或许包含失误的字体、色彩或使人们感到困惑的UI。只要在口头Beta或QA测试时,您才会知道这些。虽然有一些工具可以尝试智能口头此操作,但让人工检查它更有效(且老本更低)。
智能化还是不智能化?
测试智能化关于高效的CI/CD管道至关关键。测试智能化畛域正在启动许多翻新,例如并行测试口头、DevTestOps、物联网测试智能化等。这些智能化框架协助大大缩短了产品的上市期间并提高了构建品质。
选用正确的智能化测试只是为您的组织成功这一目的的第一步,因此更快地测试、更快地失败和更快地修复!