一、软件测试定义、目的、原则
1、定义
是在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否满足设计要求进行评估的过程。
是使用人工或自动手段对系统运行或测试的过程,其目的在于检验系统是否满足规定的需求,或弄清预期结果与实际结果之间的差别。
get到这些点:
规定的条件–》一定的环境下(开发环境、测试环境、真实环境)
目的:衡量软件质量;是否满足规定的需求
方式:人工、自动化
周期:过程(测试需求分析、测试计划、测试设计、测试执行、测试评估)
2、目的
软件测试为了发现程序存在的代码或业务逻辑错误
软件测试为了检验产品是否符合用户需求
软件测试为了提高用户的体验
3、原则–经验性原则
1.所有的测试活动都应以用户需求(软件需求规格说明书)为标准
2.应尽早地和不断进行软件测试,越早发现缺陷,修复缺陷的成本就越低
3.程序员应避免检查自己的程序,测试人员应避免执行自己写的测试用例
4.尽量避免测试的随意性—团队的分工写作
5.测试的“杀虫剂效应”–改变思维方式、操作习惯
6.完全(穷举)测试是不可能的,测试需要终止–时间,成本,组合太多(无法全部覆盖)
7.二八原则(聚集效应)–大部分bug集中在少部分的模块
8.对错误结果要进行一个确认过程
9.制定严格的测试计划
10.设计测试用例时应该考虑到合法的输入和不合法的输入,以及各种边界条件,特殊情况下还要知道极端状态和意外状态
11.妥善保存测试过程中的所有文档
二、软件测试的对象
对象:软件、产品、项目、系统
程序(源码、模块、部件、软件)
文档(需求规格说明书、概要设计说明书、详细设计说明书、用户手册(帮助文档)等)
数据(字符、图片、视频、音频等等)
60%以上的软件错误并不是程序错误,而是分析和设计错误。
测试概念扩大化,提倡软件全生命周期测试的理念。
三、测试分类(策略)
1、按测试技术划分
白盒测试、黑盒测试、灰盒测试
黑盒测试:不关心软件内部,只关心输入输出,主要测试依据是需求文档。
白盒测试:关心软件内部设计和程序实现,主要测试依据是设计文档。
灰盒测试:灰盒测试介于白盒测试与黑盒测之间的测试 –接口测试
关注输出结果的确性;同时也关注内部表现
白盒测试与黑盒测试的区别:
2、按测试阶段划分
单元测试、集成测试、系统测试、验收测试(正式验收测试、Apha测试、Beta测试)
Apha测试:α测试是用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的测试。这是在受控制的环境下进行的测试。–游戏内测
Beta测试:β测试是用户在实际使用环境下进行的测试。与α测试不同的是,开发者通常不在测试现场。因而,β测试是在开发者无法控制的环境下进行的软件现场应用。 —游戏公司
正式验收测试:用户在实际使用环境下进行的测试。
3、被测试对象是否运行划分
动态测试、静态测试(文档检查、代码走查、界面检查)
静态测试指不运行程序,对程序和文档进行分析与检查
程序检查:程序员交叉检查彼此的代码 –》发现代码层面的问题
文档检查:文档测试(术语、图片、操作流程) –》测试人员
动态测试是指通过人工或使用工具运行程序进行检查分析程序的执行状态和程序的输出
4、按不同的测试手段划分
手工测试、自动化测试
5、按软件质量特性内容划分
功能测试、界面测试、安全测试、兼容性测试、易用性测试、性能测试、压力测试、负载测试、恢复测试(恢复能力—暴力测试)
6、其他测试
冒烟测试、回归测试、探索性测试(测试思维)
V01–>冒烟测试–》通过–》正式系统测试–》出具版本 告–》pass–>验收测试
–》fail–》打回给开发,修改bug,重新发版本–》
V02(修改bug,增加新的需求)–>冒烟测试–》通过–》–》回归测试(1:验证bug是否被修改,2:提交bug的周边的功能进行简单测试,确认是否有引入新的bug)–》正式系统测试–出具….
V03(修改bug)–>冒烟测试–》通过–》–》回归测试(1:验证bug是否被修改,2:提交bug的周边的功能进行简单测试,确认是否有引入新的bug)–》出具版本 告…..
后期:基本稳定,bug没有修改
回归测试:开发修改了代码之后。
验证bug是否被修改
是否引入新的bug
探索性测试
项目后期,时间充足,人员技术能力比较高
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!