关键词:重复、交付速度、质量
1.优点:
1.1 解决手工测试的重复性工作
同样的测试用例,一定时间内需要执行一次或多次,如多次/月,或多次/星期。此时需要考虑自动化测试,尽可能减少手工测试的重复性工作,将人员投入到更有价值的测试中。
1.2 提高产品交付速度
目前大多数软件企业都希望尽快的交付产品,争取更多的用户使用时间或体验,特别是敏捷项目中有的需要1-2周就要对产品版本进行更新、发版,手工测试人员有限的情况下,进入自动化测试是个不错的选择,因为自动化测试会节省很多时间。
1.3 提高产品质量
夜间:执行自动化测试可以夜间进行,发现的问题容易定位和解决。(当然,白天也可以进行自动化测试,依据项目开发和测试的时间安排情况)
白天:手工测试人员可以进行非自动化测试的功能模块,将更多时间进行用户体验、执行探索性测试,发现跟多的产品问题
2.关注点:
2.1 投入产出比。
管理者需要考虑,如开发的自动化测试利用率多高,谁适合做这个工作,是否需要新招聘人员,学习成本是多少,预期的结果是什么,取得什么样的效果,可以带来哪些收益等。有些企业为了自动化而自动化,没有很好的衡量人员、资金、学习成本的投入与产出结果。
2.2 成本高
一般的自动化测试开发人员,会基于自动化测试工具(如Robot Framework,Selenium,Appium),通过一定程度的编程(如Python、JS、Java),实现软件功能的自动化测试开发。所以一般这类人不仅需要软件开发能力,还要熟悉自动化测试工具的原理和使用等。对人员要求较高,开发和维护成本自然也就高。
目前国内从事软件测试的人员中,90%以上的功能测试是不具备自动化测试开发能力的,会的人市场竞争力就会很强,具备一定程度的开发能力,这也是软件测试行业的趋势。
2.3 类型多
自动化测试有UI,接口,单元自动化测试等。此项目需要做哪方面的自动化测试,自动化测试工具的选型和架构是怎样的等,这些问题也需要思考。