原子性测试
为了使自动化框架都成功,此概念对于理解至关重要:原子自动化测试用例不应模仿端到端自动化用例。
取而代之的是,自动化检查应形成一个不可拆分的单元,一个用例只能测试一个功能点。由于测试的颗粒度非常小,这与编写单元测试非常相似。
原子性的测试用例应该是这样的:
该测试用例尽可能少地断言,通常只有一个或两个断言。
测试避免与UI界面交互,最多只能在两个页面上进行。
在通常情况下,测试颗粒度越小。测试用例就会越复杂,但是将测试设计得尽可能小有很多优点。
原子性测试用例的优点
精准反馈
编写原子性测试可以快速执行得到测试结果。测试报告的反馈是迅速而针对性的。检查功能状态的时间一般都是几秒钟内完成。
对于测试报告中的错误信息,很快能够复现且排查BUG的根源,并迅速解决它。
缩短测试链
如果平均单个测试用例执行的时间能够缩短一半,那么测试效率会提升两倍以上。因为测试的时间越长,误报的可能性越大,随着干扰因素的不断累计,失败的可能也越大。
编写原子测试用例可减少脆弱性,因为它减少了该测试中可能出现的断裂的数量。原子性测试用例能够减少大量误报,这又会促进出现问题的排查时间。
这是一个例子:
打开网页主页
断言页面已打开
断言某个元素存在
打开搜索页面
搜索文章
断言该文章存在
使用自动化测试时,每一个步骤都有概率出现错误。例如,定位器或交互机制可能已更改而同步策略可能已过期。
因此一个自动化测试用例中的步骤越多&#x