系统测试

系统测试定义:把产品作为一个整体,在真实的运行环境下,与环境中的其他要素相结合,检验是否满足用户的需要

系统测试的目的:检验是否满足用户的需求,或者弄清实际和需求的差距

系统测试的真实使用环境:包括真实环境和仿真环境

  仿真环境:某些无法实现的真实的测试环境,或真实的测试环境成本太高,就可以采用仿真环境

    优点:1、容易搭建

       2、成本较低,可重复使用

    缺点:测试结果有失真,所以在真实使用环境下还需要在测试一次

测试对象:包括被测产品在内的整个使用环境

测试类型:采用特定的测试方法、检验产品某些质量特性的测试,叫某类型的测试

  1、功能测试:

    检验产品的功能特性(主要针对准确性和适用性)

    目的:检验产品的功能特性是否满足用户的需求

  2、性能测试:

    检验产品的效率和可靠性

    目的:检验产品的效率和可靠性是否满足用户的需求,找出性能瓶颈,并进行性能优化

      a.负载测试:检验产品在不用负载情况下的产品性能

        软件的负载:承受的用户并发数量,有多少用户共同使用

        负载测试是一种对比性的测试,在不同负载情况下检验产品,调整产品设计以更好的满足更主要负载时的质量特性

      b.稳定性压力测试:检验产品在一定负载情况下长时间运行中的效率和可靠性

        负载通常在最大负载范围的边缘

      c.破坏性压力测试:检验产品在远超过所需负载的极大负载情况下的产品质量特性,特别是观察是否存在严重的故障

      d.容量测试:主要针对产品的输入输出数据负载时产品的效率和可靠性

        负载通常针对大数据的吞吐量能力,重点考察磁盘和网络宽带

    指标:表示产品质量特性的一种方法,进行性能测试时通常选择的指标包括:

      a.负载

      b.硬件环境指标:cpu、内存、磁盘读写速度、网络带宽占用率

      c.软件环境指标:web服务器、数据库服务器、中间件服务器等连接数使用率

      d.被测试产品运行指标:大部分用户(50%、90%、99%)事务时长、事务成功率

    测试过程:

      a.从需求中选择要检验功能特性的性能指标,并分析产品特性,筛选出还需要检测的其他性能指标

      b.选择测试工具、编写自动化测试脚本

      c.模拟用户并发量,监控所有性能指标,智行性能测试,记录各性能指标的实际数值

      d.执行性能测试后,对各性能指标结果进行分析,找出性能瓶颈,并优化

  3、安全性测试:

    检验产品所在整个运行环境的安全性

    目的:通过模拟攻击的方式找出产品运行环境的安全性漏洞,并弥补漏洞,以提高产品的安全特性

    方法:没有固定方法,黑客怎么攻击产品,安全性测试就怎么测

    安全性漏洞:

      a.硬件环境安全漏洞

      b.软件环境安全漏洞:端口扫描、杀病毒、打补丁等

      c.被测试产品的安全漏洞:代码的错误、权限

    权限测试:

      a.有相应权限则能执行相应功能

      b.无相应权限则不能执行相应功能,难点

    是否会出现不通过点击按钮、而是直接访问某网址的方式执行没有权限的功能

        sql注入、跨站脚本攻击

  4、GUI测试:

    Graphic User Interface图形化用户接口

    对人机交互界面进行的测试,检验产品的人机交互界面的易用性和功能性。按钮、文本框、下拉列表、窗口等控件的美观、统一

    基于GUI的功能测试,关于的是产品的功能特性,通过使用图形化界面上的控件来测试产品的功能

    GUI测试,测试的就是图形化界面的控件,关注的是界面的易用性

  5、易用性测试:

    检验产品的易用性

  6、安装测试:

    检验产品在安装升级和卸载过程中的质量特性

    测试过程:根据提供的安装文件列表,将产品安装完成后,对比需要安装到制定目录的文件是否安装完整、需要执行的程序是否成功执行;还需要检查在各种兼容环境下该安装过程是否存在异常;还需要检查相同文件名的不同版本的替换问题;还需要检查不兼容环境的警告。卸载时还需要检查之前替换过的不同版本的保留问题。升级是还需要检查跨越版本升级是否会出现配置冲突的问题

  7、配置测试:

    检验产品在运行环境的不同配置下的产品质量特性

    配置测试也是一种对比型的测试,通过多种配置的配置测试,找出最佳配置,提高产品最佳配置的质量特性

  8、异常测试,容错测试,可恢复性测试:

    人为制造异常,检验产品如何恢复正常、恢复的时间长短、恢复程度的测试。主要针对产品的可维护性

    备份测试:检验产品中信息被备份的程度和时间长度的测试。通过和异常测试一同进行

  9、健壮性测试,鲁棒测试:

    检验产品在面对异常时能否自动的包容故障、恢复正常的测试。针对产品的可靠性

  10、文档测试:

    检验文档的质量特性,关注文档本身是否正确,关注文档和产品描述是否一致

    测试方法:静态评审

  11、在线帮助测试:

    检验在线帮助文档的质量特性,关注帮助文档内容,关注软件界面和帮助内容一致

  12、网络测试:

    检验产品中网络部分的质量特性

    测试方法:采用专门的网络测试设备进行自动化测试

  MTBF:Mean Time Between Failure,平均失效间隔时间(就是正常时间)

  MTTR:Mean Time To Reload,平均恢复时间(就是失效时间)

    希望MTBF越大越好,MTTR和MTBF之比越小越好

提高产品可靠性的方法:冗余设计,包括功能冗余、时间冗余、信息冗余

测试阶段:

  系统测试计划阶段:完成系统测试计划

  系统测试设计阶段:完成系统测试方案

  系统测试实现阶段:完成系统测试用例、系统测试规程、系统测试预测试项

  系统测试执行阶段:执行系统测试预测试用例、系统测试用例、修改发现的问题并进行回归测试、提交系统预测试报告、测试报告、缺陷报告

  

原文地址:https://www.cnblogs.com/qiuqiu21/p/8393946.html