在PC客户端软件测试中,稳定性测试是必不可少的一项测试内容。一般在功能测试已经测试完成,缺陷完全修复完成以后进行。
稳定性测试是在保证客户端功能完整正确的前提下,通过对软件稳定性的测试可以观察在一个运行周期内、一定的压力条件下,软件的出错机率、性能劣化趋势等。进而大大减少软件上线后的崩溃卡死等现象,为软件的逐步优化提供方向及验证。
测试方法:通过自动化脚本,长时间运行客户端某些功能或长时间开关客户端,看客户端是否存在Crash现象,同时查看内存、CPU等性能指标。
一款PC客户端软件,它的稳定性测试需求基本包括:
长时间运行及各种操作下,软件的稳定性以及各种性能指标的劣化趋势。
多进程或多线程运行时的稳定性。
不同操作系统,在不同软件环境下运行的稳定性。
具体来讲:
长时间:一般都要24h以上,要求高点的要24h*3;
不同操作系统:基本上都需要覆盖下面系统:Winxp、Win7 x86、Win7 x64、win8 x64、Win 8.1;
不同软件环境下:主要是指不同的杀毒软件和安全软件环境下;
 步骤:
确定稳定性测试需求,包括:需要覆盖的功能点、系统环境和软件环境、测试时间长度
开发自动化运行脚本
执行脚本,进行性能监控
分析执行结果
自动化脚本
稳定性测试必须要用自动化测试脚本,标准控件可以用QTPLoadRunner来进行,可以方便的来进行自动化脚本开发。
但由于QTP或LoadRunner都是收费软件,很贵,大部分公司都没有license,而且它对非标准控件的支持很差。现在我们用一些开源的工具来替代,这边用Autoit来编写自动化脚本。
学习参考网址:http://www.autoitx.com/
AutoIt ,这是一个使用类似BASIC脚本语言的免费软件,它设计用于Windows GUI(图形用户界面)中进行自动化操作。它利用模拟键盘按键,鼠标移动和窗口/控件的组合来实现自动化任务。
 优点
- 轻量级(官方发布包10M左右),编译成可执行文件后在没有安装 AutoIt 的机器上也可直接运行
- 免费,不需要许可证 - 有丰富的函数库(标准函数库和自定义函数库) - 基于Win32 API,方便扩展
- 有完善的帮助文档和丰富的论坛资源
例子
用一个简单的客户端开关稳定性测试来看看怎么运行的:
开关测试属于稳定性测试里的一种,将客户端长时间不断地开启和关闭,看客户端是否会Crash,产生dump文件。
看下面代码:
;定义变量
Dim $Sum,$i
$Sum=0
$i=1
;循环开关次数
While $i<=86400
$Sum=$Sum+$i
$i=$i+1
Run("C:\Nep\debug\GacRunnerB_D.exe")
WinWait("NEPSingle")
Sleep(1000)
;取得进程pid
$iPid = WinGetProcess("NEPSingle")
;关闭此进程
ProcessClose($iPid)
WEnd
执行
稳定性测试不同于一般的功能测试,属于概率学测试,并不是这次没测出来就是没问题,所以需要长时间运行,多个系统,多种软件环境中进行多次测试,尽可能的提供可靠性。
结果
从稳定性测试的结果的判断从下面几个方向判断:
判断是否Crash:可以通过dump文件判断是否有crash的现象,可以将产生的dump发给开发分析crash原因
判断是否性能劣化:在稳定性测试的同时通过性能监控工具对内存、cpu、句柄等性能参数进行监控,查看性能是否出问题。
最新内容请见作者的GitHub页:http://qaseven.github.io/

PC端稳定性测试探索相关推荐

  1. lzg_ad:使用Virtual PC 部署和测试XP Embedded 发布镜像

    注意: 本文将假设你已经熟悉并会使用Virtual PC. 如果对Visual PC的使用方法还不了解,请参考: http://www.petri.co.il/virtual_create_virtu ...

  2. 用户研究方法定性定量_用户体验测试:定性测试

    用户研究方法定性定量 什么是定性测试? (What is Qualitative Testing?) Qualitative testing-which can take the form of in ...

  3. 人工智能产品的测试探索

    人工智能产品的测试探索 作者:孙高飞 什么是人工智能 再讲如何测试人工智能产品之前,我觉得我要先跟不熟悉人工智能的同学们解释一下什么是人工智能.毕竟想要测试一个东西,就要先了解它么.用一句话来概括现阶 ...

  4. 淘宝直播PC客户端的hybrid探索

    如何兼具"Native App良好交互体验的优势"和"Web App跨平台开发的优势"在当前互联网时代保持高效的业务迭代是一个非常重要的课题. 什么是hybri ...

  5. 安卓专项测试之GPU测试探索

    作者:章未哲--腾讯SNG质量部 http://dev.qq.com/topic/57c7ffdc0569a1191bce8a63 背景 我们在安卓上进行性能测试时,如果想获取CPU以及内存等常用性能 ...

  6. 【腾讯优测干货分享】安卓专项测试之GPU测试探索

    本文来自于Dev Club 开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57c7ffdc0569a1191bce8a63 作者:章未哲--腾讯SNG质 ...

  7. 基于深度学习的口罩规范佩戴检测【树莓派+PC训练、测试】

    训练.测试.部署代码下载地址:下载地址 一.硬件: PC端运行:Windows10或11(无需GPU,有最好)或MacOS 都测试可行 树莓派运行:树莓派 4B model B 8G 版 USB RG ...

  8. 硬件测试的思考和改进:有道词典笔的高效测试探索

    作者/ 刘哲; 编辑/ Ryan ; 来源/ 有道技术团队(ID: youdaotech) 引言 当我们提到智能硬件的高效测试时,通常会考虑使用自动化测试的方案,提升产品的测试效率和质量. 由于智能硬 ...

  9. Pc软件如何测试性能,电脑如何测试性能

    一般来说,大家购进新电脑都测试一下自己的电脑性能,看一下自己的电脑性能是否能达到购买时所说的要求,下面是学习啦小编整理的电脑测试性能的方法,供您参考. 电脑测试性能的方法 用搜索引擎搜索"鲁 ...

最新文章

  1. zcmu-1184(矩阵乘法)
  2. 我爱的人,你知道我一直在
  3. Kiwi浏览器 MIUI禁第三方广告 ADB停用系统应用
  4. 【MyBatis框架】SqlMapConfig剖析
  5. 女孩!自重!上海出租车司机的话
  6. Linux下切换用户根目录的指令
  7. 零火线都带电该怎么处理?
  8. 十大算法 — 选择排序法【C语言代码诠释】
  9. 【人脸识别】基于matlab小波不变矩人脸识别【含Matlab源码 1355期】
  10. 微信小程序 地图map的坑
  11. 使用apipost工具快速生成在线接口文档
  12. AlphaGo Zero详解
  13. 他25岁进贝尔实验室,32岁提信息论,40岁办达特茅斯会议,晚年患上阿兹海默 | 人物志
  14. 第三十八章 SQL命令 DROP TABLE
  15. 英语基础语法-语态(被动语态Be done)
  16. Android Manager之AudioManager(音频管理器)
  17. 基于MM32与M26物联网入门:远程呼叫及开锁
  18. USACO--3.2Feed Ratios
  19. 树莓派3B+的基础配置
  20. iptable规则的设定与查看

热门文章

  1. L1-025. 正整数A+B-PAT团体程序设计天梯赛GPLT
  2. python 修改pdf内容,如何使用python更改pdf内的超链接?
  3. android 串口调试助手_Arduino入门 第八节-串口通讯(基础篇)
  4. Microsoft.XMLHTTP基本用法
  5. JAVA 调用HTTP接口POST或GET实现方式
  6. A Zero Flow Entry Expiration Timeout P4 Switch
  7. 物联网将如何改善社会运行效率?
  8. 最长递增子序列LIS再谈
  9. 看懂理解 keyboard中 , navigation的设置: 切换工作区和移动窗口到不同的工作区.
  10. 安装更新Lenovo Solution Center更新失败!具体问题看内容!要是等官方技术人员解决,估计要等上好一段时间!...