前天在《UI自动化该如何实施》中从ROI的角度,提出UI自动化实施的覆盖率达到15%到25%时,收益最高。那么15%到25%覆盖范围应该为那些内容呢?
结合笔者多年的经验从以下五个方面简单的聊聊如果要实施UI自动化测试时,基于ROI的角度出发应该选择那些功能模块或者系统优先进行UI自动化测试。
1.核心功能和基础功能
对一个软件或者App来说,毫无疑问的要先对其核心功能实施UI自动化测试,因为每一个软件或者App之所以能够成功,最主要的原因就是满足用户其最核心的痛点,解决了其某方面的需求。这部分内容一般相对很少,剩余大部分内容都是锦上添花的功能或者体验类的需求。例如:
京东金融App:核心功能就是支付、白条、理财(小金库)以及衍生出来的基金和保险。基础功能包括要支持App运行的登录体系。
2.行业标准化高的模块或者软件
在实际测试过程中,有部分行业标准化高的功能可以优先使用UI自动化测试,比如ERP中的财务系统、期货或者基金中的客户端买卖及其账单系统等等。这些系统都有统一的国标或者行标,业务流程和过程清晰透明,变化频率非常小,非常适合进行自动化。例如
ERP系统中的财务系统:其核心功包括期初、各种凭证、三张报表以及三张报表衍生出来的其他报表。但他有个非常难得的点在于期初数据非常复杂,在这块建议采用接口测试和UI自动化测试相结合的方式。
期货系统的客户端功能:其核心功能包括买卖期货和交易标的的不同业务组合、保证金率与时间关系以及各种个人账单信息。期货系统行业客户操作行业标准非常清晰,基本上不会变化,非常适合进行自动化测试。
3.公式化的/程序化/运算计算/报表类
对于公式化/计算运算类/报表类的功能,因为有固定的公式化或者规则,非常适合使用自动化测试,对于这类型的测试使用静态数据比对方法或者动态数据比对方法是非常好用。后面专门针对这类问题的方案进行讨论。
4.逻辑清晰,输入组合复杂的模块
在测试过程中经常有很多业务逻辑清晰,但输入项较多,各种组合复杂,人工测试时非常容易出错而且低效。这些需求就可以考虑使用自动化测试。比如很多年前在中国移动测试的动感地带套餐的测试。
动感地带套餐对每个人来说可能比较简单,主要包括初始套餐、通话、短信、各种SP业务套餐;初始套餐又包括8、18、38、58、88等各种套餐,通话包括超出套餐内通话、套餐外通话,短信包括套餐内、套餐外,再加之各种复杂的SP业务,大概有400多种组合。如果完全使用人工测试,每次回归测试大概需要40人日左右,工作量巨大,转换成自动化测试后,基本2个小时完成测试任务。
5.功能专项
在测试过程中经常会有一些为某一目标需要定时或者经常完成测试的任务。可以针对这些任务进行自动化测试。比如
在京东金融App为了验证埋点和曝光数据的正确性,每次回归测试或者定期都需要对所有埋点或者曝光数据进行一次验证确认,每次测试时工作量都不是很大,但其业务频率高。
通过模拟操作数据埋点和曝光的主要类型的场景进行测试,然后采用简单的静态数据比对方法进行验证,确保每次执行后曝光和埋点数据一致。
以上内容是笔者根据多年工作经验和实践总结出来的,希望大家在实际中多总结,多实践不断优化测试策略,进而实现测试效率最大化。
如果你喜欢我的文章,欢迎关注扫描公众账号:MiniStarClub
网友评论