稳定性测试是在保证功能完整正确的前提下,必不可少的一项测试内容,通过对软件稳定性的测试可以观察在一个运行周期内、一定的压力条件下,软件的出错机率、性能劣化趋势等。进而大大减少软件上线后的崩溃卡死等现象,为软件的逐步优化提供方向及验证。
无论是服务器端还是客户端,对稳定性的测试无非是就是测试系统的长期稳定运行能力。在系统运行过程中,对系统施压,观察系统的各种性能指标,以及服务器的指标。不同于服务器端的稳定性测试的是,客户端软件是运行在单机环境下,所以不存在并发用户数的概念,取而代之的是一些多进程长时间的操作,以及各种复杂的并发场景的组合。一款客户端软件,它的稳定性测试需求基本包括:
1、长时间运行及各种操作下,软件的稳定性以及各种性能指标的劣化趋势。
2、多进程或多线程运行时的稳定性。
3、不同操作系统,在不同宿主软件下运行的稳定性。
稳定性测试实施
整个稳定性测试的包括三大部分:
1、场景的设计及实现
2、稳定性测试的执行
3、最后结果的校验
场景设计
测试场景一般是指模拟平常的压力,以及模拟实际中用户的日常操作,如果包含数据库,那么数据库要存有一定的数据。一般来说客户端产品的稳定性测试包括:
自动化脚本
自动化测试是稳定性测试的基础,对于使用标准控件的客户端软件来说,可以使用市面上较为通用的自动化及性能测试软件QTP或LoadRunner,这些软件对标准控件支持较好,可以很方便快速的搭建起自动化测试的框架,为稳定性测试提供基础。
但由于目前客户端软件的界面开发为了更加快速,同时融入业界前沿的皮肤技术,为用户创建更加高效,专业的界面,大多数都采用了DirectUI的技术,这种方式是直接在父窗口上绘图。即子窗口不以窗口句柄的形式创建,只是逻辑上的窗口,绘制在父窗口之上。对于这种非标准控件如果使用QTP等自动化测试工具就会显得力不从心了。
31/3123>