课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
随着互联网的不断发展,越来越多的软件测试程序员都开始接触和掌握自动化测试的相关知识,而今天我们就通过案例分析来了解一下,适合使用自动化技术的场景都有哪些类型。
把枯燥的问题自动化
曾经多少次,你不得不查看一堆日志和表单文件,一遍又一遍做着同样的基础工作?曾经多少次,你被要求将数据从一种格式转换成另一种稍微不一样的格式?当任务具有高度重复性和公式化的时候,这就是适合自动化的场景了。
我开始采用自动化是因为我被要求打开数以百计的日志文件,在某一行上找点信息,并把它和另一行上的信息做比较。我的经理估计我需要用大约一周的时间完成。我确实也花了将近一周的时间,但不是因为我全是用人工做的。我开始学习Bash的基础知识来完成这个任务,因为Bash是当时所有可用的机器上都安装了的工具。一次我花了一周时间,后面几次运行我只花了几个小时,而大部分时间也都是花在传送文件和保存数据上。
把反复出现的问题自动化
自动化的开发是需要成本的,还有着技术债务需要维护。开发成本依赖以下一些因素:对问题的熟悉程度、对自动化解决方案的熟悉程度(编程语言,代码库,算法等)、输入或者原始数据的一致性程度等。技术债务则依赖于数据更改的频率,需要多少维护量才能保持解决方案的适用性。
在整个工作流程中,常见的问题往往需要更多时间完成或者处理。即使不能自动化整个问题,可能也有一大部分问题是足够常见的,能够成为自动化目标。如果一个操作占用了75%的流程,你可以通过投资自动化开发,把这个流程的75%给自动化。即使自动化不能换来更多时间,也能提供比人类更高的准确性,使整个流程更加高效。
把简单的问题自动化
有些操作可能只是流程的沧海一粟,但这些操作也很容易自动化。如果这些操作很常见,你就可能想要自动化它们,因为完成这些自动化系统的代价很小,只要开发自动化方案的时间不超过完成任务本身的时间就好啦。对于我这个任务(找到文件里的某些行),就适合做成自动化的方案,即使这个任务不会那么频繁地出现,或者只会在小数据集上使用,因为这个任务要自动化简直太容易了。而且当你手动做这个任务时,很容易看漏什么东西,比如忽略了某个文件(当手动做的时候,肯定发生过这个情况)。这是我学到的关于自动化的一堂课,我几乎没花多少时间就从零开始学会了它。
自动化大阻碍之一是对未知的恐惧,以及对相关主题缺乏了解。针对简单的问题,我们能够简单地测试自动化方法的有效性,也更容易检查错误。简单的问题只需要投入很少量的时间,对技术要求也不高,这就使这样的问题更容易开始着手自动化。简单的问题如果极其单调乏味,人工完成就很可能出现准确性的问题。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。