系统测试分析
回顾:什么是系统测试?
软件:需求--》设计--》编码--》测试(单元测试、集成测试、系统测试、验收测试)--》发布维护
系统测试:就是将已经集成好的软件系统,作为一个计算机的元素,与计算机的硬件,软件,数据,人员在实际的运行环境下,进行一系列的测试和调试。
测试的对象:整个软件(功能、性能、安全、安装等等)
测试的目标:通过需求规格说明书进行比对,检查软件是否符合需求的要求。
测试依据:需求规格说明书
测试方法:灰盒测试方法为主
什么是分析?是在头脑中把事务或者对象分解为各个部分或者属性,常见的:力学分析,化学分析,成分分析,系统分析,代码分析等等。
系统测试分析
分析的对象:系统测试(测试活动)– 》软件系统
分析的目的:发现问题,解决问题,关闭问题,比如验收房子(毛坯,精装…)
分析的前提:敢于怀疑(不代表不信任),怀疑程序员,怀疑需求人员,怀疑客户,怀疑自己…
系统测试分析前的准备:
熟悉被测试对象:越熟悉被测试软件,越有利于我们提取应测试特性
怎么熟悉?
利用文档:需求规格说明书
设计说明文档(概要设计,详细设计说明书)
测试用例
缺陷报告
操作手册
源代码
最直接的熟悉方法:直接使用
== 》需求在一级一级的传递过程当中,会发生变化…
措施:需求确认,减少变更:四次握手的方法(外包公司居多,帮助项目在内部达成一致),即四次会议
一、需求人员发起,进行需求的澄清和串讲,项目经理,开发,测试都需要参加(初步了解)
二、项目经理发起,进行需求的反澄清和反串讲,需求,开发,测试都要参加(进一步了解)
三、开发人员发起(针对各自负责的模块),进行需求的反澄清,反串讲(怎么理解的,准备怎么做),需求,
项目经理,测试都要参加
四、测试发起:进行需求的反澄清,反串讲,需求,项目经理,开发都参加,串讲的重点测试要点,测试思路(测试重点可以通过思维导图画出来)
角色和职责的划分: 需求人员(真正的理解用户需求,并且准备表达出来),尽可能发掘用户真正的需求
开发人员(严格按照需求文档来,不需要随意添加或者减少自己认为的需求)
测试人员(准确理解需求,质量意识,怀疑精神)
熟悉软件的方法:SFDPOT(测试纬度,测试角度)
S : structrue 架构 无架构 ---- 例如:单机版 安装,卸载
B/S 浏览器 ---- 兼容性,功能,性能,GUI
服务器 ---- 环境搭建(大的平台,有专人负责部署,小的平台,需要提供部署文档)
C/S 客户端 ---- 安装,卸载,功能,兼容性,GUI (比如 5年前 qq 和现在 QQ)
服务器 ---- 环境搭建,功能
P2P 端到端:两端是平等的,比如:飞秋 功能
F :function 功能
比如:微信,界面上所有的功能(通讯录,聊天,发现,我的,聊天:语音,文字,视频,图片,红包)
D: data 数据 输入的数据:输入的信息,传入的图片文字等等
输出的数据:输出的信息和文件
预置的数据:软件自带的数据(默认值,下拉框选项等等)
P:platform 平台 提醒测试人员关注软件的运行的平台(操作系统,浏览器,分辨率等等)
o:operation 操作 提醒测试人员关注用户的使用方法
T: time 提醒测试人员关注软件是否收到时间的限制
例如:时区,跨时区聊天,聊天记录如何显示
夏令时,冬令时:夏季作息时间,冬季作息时间
系统测试分析方法:三个方法一个思路
一:质量模型分析法:针对每个功能/非功能特性适用质量模型分析法
质量模型(内部外部质量):六大特性:功能性、可靠性、易用性、效率、可移植性、可维护性
功能性:保密安全性 需要分析被测试软件有没有敏感的数据,有没有需要提高安全性的数据
例如:密码是否是掩码显示,传输的过程中是否加密处理
提醒测试人员关注数据的敏感性,如何才能让软件更安全(传输、存储加密)
适合性 需要考虑软件中包含哪些比较合适的功能,写入需求文档中,作为开发和测试的依据
关键点: 有没有 (两个角度:需求文档中有,软件中没有;需求文档中没有,软件中有)
提醒测试人员关注软件和需求的一致性。
准确性 关键点:对不对
提醒测试人员关注软件的功能实现的是否正确,是否跟文档中描述的功能和实际业务操作
的 结果是一样的。
互操作性 分析被测试软件与其它软件有没有交互,如果有,就要进行测试。
提醒测试人员关注软件和其它软件之间的交互作用
依从性 主要是法律法规,行业标准,在测试的时候可以暂时不考虑
可靠性:成熟性 内部处理问题的能力 == 》内部代码,长时间稳定性测试
容错性 针对的是抗打击,抗错误的能力(提醒测试人员关注输入错误的情况)
可恢复性 提醒测试人员关注异常情况,例如:闪退,断电等异常情况,再次打开软件是否能快速恢复
对应的软件测试类型:稳定性,功能测试(异常测试)
易用性:易理解性:分析软件中帮助信息,提示信息是否易懂
易学性:是否容易被使用,用起来是否方便,特别是操作手册类
易操作性:操作的时候是否容易,方便,原则:能选择的绝对不能让输入,关注的软件的使用方便
吸引性:提醒测试人员关注软件的界面:布局是否合理,美观,具有吸引性。(GUI测试)
效率(有一定压力):时间
资源的利用率
对应的是性能测试
可移植性:适应性 提醒测试人员关注软件在使用的情况,在不同的环境下是否正常操作:操作系统,分辨率,浏览器
易安装性 提醒注意安装过程
共存性 分析被测试软件和别的同类型软件是否能够共存
易替换 升级、重新安装,一定要注意历史数据的校验
易维护性:开发考虑的比较多,关系更大,还要考虑符合法律法规,行业标准,测试,分析是否容易等等。 具体测试的时候可以暂不考虑。
小结:质量模型分析法主要是用来提醒测试人员,测试过程中不只要覆盖功能测试,还包括,易用性,兼容性,安全测试,性能测试,GUI 测试,稳定性测试,安装测试,文档测试,异常场景测试等等。