PS:本文首发于公众号「软件测试艺术」,回复“软件测试教程”获取:麦子学院、传智播客、小强软件测试全套学习教程!
之前被邀请回答“App如何测试”,联想到当前移动互联网非常流行,人们每天都在花费大量的时间浏览手机App(高概率使用的包括:购物、社交、游戏、影音短视频、工具助手),因此移动App的测试也是软件测试的一个方向。我们有没有思考过如果自己测试一款App该从哪些方面入手?也许我们去面试时候被面试官问公司开发了一款App,如果是你测试的话你会从哪些方面进行测试?我们该如何回答。
现在的App体积越来越大,包含的功能也越来越多,导致测试内容非常多,但是基本的测试方向都是一样的,我们可以根据测试方向找出应用的测试功能点,之后在根据功能点设计测试用例就非常简单了。但是我们也应该知道,不同类型的App测试重点不同,针对重点功能需要设计详细的用例进行测试。
如下是我的回答,可以从以下几个方面描述测试方向找到应用的测试功能点,然后根据功能点选取测试数据设计测试用例:
1、基本功能测试
就是UI类测试,也即我们说的点点点,看看是否有功能方面问题。该项测试主要检查开发的功能是否满足需求说明书,早期模拟真实用户使用场景排查是否有功能缺陷。
基本的功能测试同时要包括与系统的交互。如耳机配件啊,传感器、相机、音视频的交互等。用户的使用场景非常多,我们可以使用错误推断法、场景法设计用户的使用场景。
如果App的界面需求比较稳定,开发使用的控件id有统一的规范,我们就可以根据业务需要和基于成本的考虑设计UI自动化用例做回归测试,因为在后续的兼容性测试中非常节省测试人力(根据测试的轮次*适配的机型数-自动化开发时间来预估减少的测试人力)。
2、兼容性测试
市面上主要有安卓和ios系统的手机、平板,同时安卓还有各种分辨率的机型,需要适配测试机型和系统的兼容性。主要检查界面显示,功能使用是否有问题。
如果App是多国使用,还需要测试语言的兼容性,需要查看界面语言是否翻译和翻译是否本地化,翻译后不同的分辨率显示适配等。
3、性能测试
主要测试应用的启动时间(冷启动热启动、高负载时启动时间)、各个页面的切换是否流畅,页面的加载时间和流畅度。在网络不好的时候性能怎么样、在低配置的手机上性能怎么样,在满负荷的手机上性能怎么样,某个使用场景是否有内存泄露,是否非常耗流量。我们应该也有切身体会,在手机开各种应用的时候使用某个应用突然点着就没反应了。
一般我们都需要与上个App版本的测试数据对比,是否有性能下降,如果有下降哪个部分有下降则一目了然,这样不至于迭代多个版本之后不知道从何时有引入。
4、功耗测试
使用过程中是否特别发热耗电,待机耗电怎么样。还有一边充电一边用情况模拟用户,后台待机时是否耗电。这个耗电的量化指标不太好设计,首先需要排查其他因素的影响,同时需要固定测试场景后续一致性,固定一个测试系统,如使用1个小时查看手机耗电量,该种方式可以快速发现明显的电量消耗异常,不好定位。也许手动操作也会有影响,有时候会接着机械手进行自动化操作。这个不同的公司会有不同的方案。
5、稳定性测试
稳定测试就是App在长时间运行时是否会崩溃、无响应,目前安卓系统可以使用monkey测试稳定性。也可以设计固定的用例场景反复压力7天。
6、接口测试
App的界面显示数据都是调用后台服务器数据的,所以调用的接口也需要测试,首先要保证接口功能正常才能保证应用显示正常。
7、安全测试
类应用是否保存敏感数据到本地,应用与服务器的数据传输时否有加密,数据是否能篡改发送给服务器。针对金融类的涉及钱的敏感数据的应用,一定要作为重点测试。
8、升级测试
应用经常更新,在更新后需要保证数据不会丢失。
9、单元测试
这个一般都是开发自己做,一般公司也没有该阶段,对测试人员的要求比较高,并且是在前期测试。一般测试人员主要做的是集成后的系统测试。
以上就是从哪些方面测试移动App,如果是让你测试的化你会从哪些方面进行测试呢?不妨花点时间思考一下,写下你的思路。
网友评论