UI测试是测试中不可或缺的一部分,对于产品来说UI测试至关重要,这是因为良好的UI能给用户带来更好的体验,而UI测试不仅仅要测试UI的功能,更要考虑到UI的美观以及是否方便用户的使用和用户习惯以用户感受。
从美观的角度来说这个测试几乎是一次性的,不需要测试人员花费很多精力来验证,但是对于UI的功能来说这个测试应该是频繁而重复的,对于任何代码层面的改动,几乎都要去执行一次回归测试来验证整个产品是否会受到新功能的影响。这往往需要测试人员投入很多的精力来完成工作。
为了提高工作效率,释放出人力来做更多有意义的事情,我根据现在的项目,已经工作中遇到的问题总结了一些心得也提炼了一些工作技巧。
总结项目特点明确工作内容:我们实现自动化的目的是什么,难道只是为了应付公司自动化的目标,我觉得应该不是这样的,我们的目标是希望我们的工作可以更高效,能更快更好的完成项目的回归测试。是对系统功能覆盖的更全面,使得自动化测试真的能替代手工的测试。明确了这样的目标以后,就是我们调动各方资源来分析项目自动化测试方案的时候了,根据项目特点将UI分层,在这里我们将UI分为三层(欢迎大家提出不同意见):
第一层验证各UI控件是否按照设计需求来实现的,而对于这一测试,自动化能实现的将会验证页面上控件是否存在,各属性是否按照需求定义来实现,其他的目前我也还没有更多的研究。
第二层则是验证页面的AJAX机制实现的页面验证。
第三层则是验证页面中的控件是否可以正常发出request请求,而对于UI来说,我们仅仅只要验证页面可以正常发出请求即可。
这三层测试进行完毕UI的测试也可以说是完成了。很对人会觉得这样测试漏掉了很多测试用例:比如说是一个注册用户的用例,一个标准的用例验证过程是在在页面填写注册信息—>点击提交提交注册信息—>用注册的用户登录系统来验证注册是否成功。但是我们的UI层面只进行到了第二步提交注册信息,只要提交的请求成功发送我们就认为测试通过。其实这里的最后一步有两种测试方法:
一、当我们成功的发送注册请求之后,去获取服务器的返回消息,来查看注册是否成功,如果成功服务器会返回正确的注册商信息,否则服务器会返回注册失败信息。
二、使用新注册的用户名和密码向服务器发送请求,待请求成功发送之后并获取服务器的返回消息来验证登录是否成功,成功则说明注册成功,失败的话有多种情况,在不考虑服务器不能正常接收请求的情况下那就是注册失败了。
这也可以说是后台的测试,后台不涉及页面,这样的测试用例执行通过率更高,测试效果更显著。
UI和后台的结合也是完整的系统的功能测试,这样的实现方案可以大大的提高工作效率,更使得测试变得有意义,测试人员也会更有成就感.。
领取专属 10元无门槛券
私享最新 技术干货