一直以来,APP的UI自动化测试所受到的诟病就是它的ROI很低(ROI:投资回报率,是指通过投资而应返回的价值)。但是,作为一个最接近用户的自动化测试方法,抛弃它又很是可惜。而且从各个公司对于招收自动化测试人员的要求来看,这方面的需求也是很大的,难道这些公司不知道UI自动化测试的种种问题吗?显然不是。那我们该怎么做呢?
我记得之前看过一个对话是这么说的:
甲:怎么做好管理呢?
乙:用正确的人,做正确的事儿,正确的做事儿。
首先,我同意上面的说法,虽然有些概括。再套用下上面的逻辑,怎么做好UI自动化测试呢?
用合适的工具,做适合的测试,正确的做测试。但是有一点要强调下,选择好了测试工具,那就要形成基于这个测试工具的软件框架,来规范和方便大家写用例和添加模块等工作。
1. 用合适的工具
关于UI自动化测试工具这个大家都应该了解:Appium、Robotium,UiAutomator等等等等,各式各样的UI自动化测试工具一薅一大把。会用一个或几个工具几乎已经成为了各个公司招收测试人员的基本条件。我承认这个确实很重要,因为要是不熟悉连自动化用例都写不了,但这些工具目前已经很成熟,在网上就可以很快的学习如何使用并写出人生里的第一个hello world,所以我认为它的门槛并没有那么高。而且目前各个工具的功能越来越强大,几乎也可以满足大部分的操作要求,所以在选型上也降低了大家的成本。所以,只要它是符合部门或公司现在和未来一段时间的业务发展的工具就是OK的。
2. 正确的做测试
这个不多说了,其实就是根据测试点正确的设计测试用例。强调一点,既然已经选好了测试工具,那也同时要形成基于这个测试工具的软件框架,达到方便和规范大家写测试用例和模块等的目的。
3. 做适合的测试
先举个例子:有些团队把UI自动化测试应用在了大部分的功能测试上,然后相关的用例开发人员的悲惨生活就开始了...
UI改版了,好多之前写好的用例都用不了了
写case根本找不到元素去操作啊,用坐标的话case又不灵活
这块主要验证的内容就是用户体验上的东西,自动化根本实现不了啊
之前的case写的太复杂,通过率好低,但是每次还要分析
...
以上的种种问题,做过自动化测试的你是不是也遇到过呢?怎么去解决呢?我认为,找好应用UI自动化测试的场景很关键。合适的场景应该对测试重点有以下要求:
1. 页面验证要求不高,几乎没有用户体验的要求,只重流程
2. 页面元素操作简单,不会有复杂的多层操作
3. 某个或某几个行为的重复
4. 同一个测试方案可以被各个业务使用,复用度高
5. 页面变动预期不强
这么说有点抽象,举几个我们的例子吧。
推送自动化测试(符合上面测试重点中的1,2,4项)
这个测试的主要目的是验证目前app可以接受推送,打开推送并跳转到正确的页面。从描述来看,它主要是对于推送流程的验证(1),收到推送后只要验证通知栏推送收到,点击后是否跳转到了正确的页面,操作也很简单(2)。而且,对于各个业务,收到推送和打开的测试方案都是一样的(4),这么看的话,是完全适合于自动化的,事实也确实如此。
冒烟测试 (符合上面测试重点中的1,2,5项)
冒烟测试主要是对基本且重要的业务流程的验证,而且UI不会经常变动,如登录等。所以在验证上对于用户体验要求不高,操作上也相对单一。万不可在写用例时将功能无限的拓展下去,否则会发生上面提到的问题。
性能测试(符合上面测试重点中的3项)
如对于某一个列表页进行持续的添加,删除并查看列表的显示是否正常。这种长时间,大数据量的操作及验证非常适合自动化。
网友评论