测试app,app稳定性测试怎么做

如何测试APP集成的SDK插件安全性和稳定性?
天蝎座

我最讨厌的星座
请问:自动化测试需要学习那些知识
1. 做好手工测试(了解各种测试的知识)-> 2. 学习编程语言-> 3. 学习Web基础(HTML,HTTP,CSS,DOM,Javascript)或者 学习Winform-> 4. 学习自动化测试工具 ->5. 学习自动化测试框架 -> 6. 实现自动化测试用例 -> 7. 开发自动化测试工具 ->8. 开发自动化测试框架
如何学习自动化测试
软件自动化测试的学习步骤
大概步骤如下:
1. 做好手工测试(了解各种测试的知识)-> 2. 学习编程语言-> 3. 学习Web基础(HTML,HTTP,CSS,DOM,Javascript)或者 学习Winform
-> 4. 学习自动化测试工具 ->5. 学习自动化测试框架 -> 6. 实现自动化测试用例 -> 7. 开发自动化测试工具 ->8. 开发自动化测试框架
自动化测试的最高境界是: 开发测试工具,设计自动化测试框架, 让别人用。
自动化测试的本质
自动化测试的本质是:用程序测试程序。 也就是说学习“编程语言”是学习自动化测试的基础。
很多人问小坦克我学自动化测试,应该去学什么自动化工具。 我的回答是,第一步:应该先学习编程语言,以后再去学自动化测试工具
自动化测试是一定要写代码的, 编程语言水平的高低决定了自动化测试水平的高低, 有了扎实的编程技术,干什么都可以。
学习编程语言时, 要把自己当做开发人员, 系统地学习各种编程知识。

自动化测试学习的误区
很多新手一开始,就学习复杂的自动化测试工具, 我觉得这样是本末倒置了。
如果不先理解HTTP协议, 就不会理解Jemeter, LoadRunner, Fiddler, SoapUI这些工具的。
如果不先理解HTML,DOM, 就不会理解Firebug 这种工具的
如果不先理解Win32 API, 就不会理解Windows 窗体自动化测试的原理的。
如果自己没有开发过网站, 就不会理解网站的各个方面,测试起来难免有遗漏。

总之学习自动化测试,需要循序渐进, 把基础打好。

自动化测试的职位
自动化测试工程师的职位叫做: (SDET) Software Development Engineer in Test. 专注于自动化测试
手动测试工程师叫: (STE)Software test enginer. 专注于手动测试
在微软有很多SDET的职位,但是没有STE的职位, STE职位一般都是外包给外包公司的, 目前自动化测试还是非常吃香的。

自动化测试分类
自动化测试也有非常多的种类,
对Web UI 的自动化测试程序
对Windows 窗体UI的自动化测试程序
API测试, 比如(测试WCF service, Web API 等)
数据库测试, 比如测试存储过程
接口测试 (这种只能用自动化测)
单元测试
性能测试, 性能测试都需要用到自动化
如何做好app的测试工作
无线测试是业界挺难的一个点,无线测试有太多的碎片化,包括品牌、机型、操作系统、分辨率等,这个对于整个做兼容性测试有很大影响。但是现在互联网技术这么发达,亲也无需担忧。阿里巴巴旗下一站式研发提效平台—云效,就在10月份推出了无线测试平台新品,包括无线适配测试平台和真机远程使用平台,着重解决无线APP真机适配以及Android真机远程使用和调试难题。

无线适配测试平台,支持Android和iOS的智能适配,提升随机执行有效性和覆盖度,包括随机事件百分比、定制化、防跳出功能、自定义脚本执行和固定场景Monkey执行,并且支持App登陆后的Monkey执行,控件遍历。还可以为开发和测试同学提供直观的crash、anr、activity覆盖度结果报表,提供精准的设备推荐策略,进行独立机房快速搭建和底层设备管理调度系统高效运维,有效降低Crash率,提升APP 稳定性。
真机远程使用平台,有大量Android真机设备高效管理、真机设备Web化远程在线使用,方便快捷。并且支持Native、H5代码远程调试,与无线适配测试平台设备共享使用,提升设备利用率。
另外,云效推出的无线测试平台在上线之初,就已经接入包含B2B、手淘、天猫、聚划算、阿里健康等100多款App。通过平台之间的比较发现,云效无线测试平台crash和anr发现率远超同类其他平台。
如何制作移动app测试方案及详细流程?
1.首先是测试 资源确认及准备
(1)产品需求文档,产品原型图 ,接口说明文档及设计文档应该齐全
(2)测试设备及测试工具 的准备:IOS和Android的不同年版本的真机,以及测试相关工具的准备
2.测试用例的设计及评审
(1)根据产品需求文档,产品原型图等文档,设计客户端的一般功能测试用例
(2)测试用例评审,修改与完善,评审过后着手进入正式测试阶段
3. UI测试
(1)确保手头的原型图与效果图为当前最新版本,符合产品经理及用户需求
(2)测试过程一切以效果图为准,若用户体验方面有建议,先以邮件的形式 与产品经理确认,确认通过后,可以正式的发出用户体验方面的问题
4.功能测试
(1)APP功能测试主要依据编写的功能 测试用例进行软件功能的遍历
(2)涉及的测试主要包括基本功能测试,安装,卸载,运行测试 ,异常处理(包括网络 突然中断或者网速 过慢,机器内存不足等异常情况的处理 )
5.中断测试
(1)软件运行 过程中接电话,收短信,锁屏,闹铃,充电,收到通知提醒后在 使用软件,软件任可以 正常运行
(2)运行软件时由前台切换到后台,再切换回前台 仍能继续运行
6.兼容性及适配器测试
(1)硬件的适配 :不同手机 厂商,硬件 性能,不同屏幕大小的适配
(2)OS版本的兼容
(3)不同屏幕分辨率的适配:移动端设备的屏幕分辨率多种多样 ,如果 app没有做合适的处理可能会显示不好,甚至影响功能的操作
(4)兼容性测试必须放在 一定数量的真机上运行 ,由于真机类型较多,兼容性测试 的时候可以选取典型的几种运用较多的真机进行兼容性测试
7.性能测试
(1)客户端性能测试注重安装卸载时间,启动时间,页面加载时间,主要功能占用的床铺,内存,流量,耗电量 等,以及与同类产品相比较是否具有优势
(2)至于服务器端的性能,主要利用接口对服务器进行加压,重点关注相应时间,吞吐量,并发数,事务通过率等
8.稳定性测试
(1)安卓app的稳定性常常使用 monkey进行测试,通过随机事件流模拟个人操作,对检查程序的内存溢出,空指针有很大的作用
9.检测分析及测试报告输出
以上各种形式的APP测试结束后,应该形成完整的分析及报告文档,输出给相关人员
TestBird
如何测试app的稳定性
稳定性测试是指对应用进行长时间的操作,检测功能是否稳定。可以考虑采用monkey测试。
adb shell monkey -p 包名 -v -v --throttle 300 -s 种子数 --ignore-crashes --ignore-timeouts --ignore-security-exceptions 动作次数 |logcat -v time > 日志路径
参数:
-p : 指点包名,如果要指定多个包名,需多个-p参数
-v : 指定日志的详细程度,取值1-3,三个 -v 详细程度最高
-throttle : 指定用户操作时的时延,单位毫秒
-s : 指定伪随机数生成器的seed值,取值1-10,当seed相同,产生的事件序列也相同
–ignore-crashes : 指应用程序崩溃,monkey依然发送事件,直到事件数完成
–ignore-timeouts: 指应用程序发生ANR,monkey依然发送事件,直到事件数完成
–ignore-security-exceptions: 指应用程序发生许可错误,monkey依然发送事件,直到事件数完成
|logcat -v time: 给monkey命令的日志加上时间
可以多去黑马程序员视频和技术社区库看看,里面这样的知识点特别多