一、背景
随着IT行业的高速发展,IT行业对测试人员的技术水平要求是越来越高,不管是刚从市软件测试行业还是以及从事多年软件测试工作,相信大部分人对测试基础掌握的不是很扎实,理论的东西都是比较容易忘记,那我们就一起来复习下吧
二、软件测试的一些概念
1、什么是软件测试
在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否满足设计需求进行评估的过程
2、软件测试的对象
如果说有三个,那么分别是程序,数据,文件
如果说有两个,那么分别是程序,文档
3、软件测试的目的
发现缺陷错误,并尽最大可能找出最多的错误,也是对软件质量进行度量与评估,以提高软件质量
4、QA与QC的区别
QA:保证研发过程的质量
QC:保证软件最终产物的质量
5、软件的生命周期
需求-设计-编码-测试-维护-升级-废弃
6、软件项目成员
项目经理-架构师-开发-测试-运维-美工-产品
7、软件研发流程
软件计划-需求分析-软件设计-软件实现-软件测试-运维和维护
8、测试与调试的区别
测试:发现程序错误,通过执行程序暴露潜在的错误
调试:定位和纠正错误,消除软件故障,保证程序可靠运行
9、测试原则(7条)
所有测试都应追溯到用户需求
尽早的和不断的进行软件测试
完全测试是不可能的,测试需要终止
测试无法显示软件潜在的缺陷
充分注意测试中的集群现象
程序员避免测试自己的程序
尽量避免测试的随意性
10、软件测试中的风险
进度风险-质量风险-人员风险-变更风险-成本风险
11、杀虫剂怪事
测试人员需要不断编写不同的新的测试程序,对程序的不同部分进行测试,以找出更多的软件缺陷
12、测试分类
按开发阶段分类
单元测试:最小的模块,包含代码和函数,依据详细设计文档
集成测试:模块与模块的接口测试,依据概要设计
系统测试:集成的硬件和软件,依据概要设计文档
验收测试:包含alpha测试和beta测试,正式验收测试
alpha测试-开发公司组织内部人员模拟各类用户行为,对即将上市的产品进行测试,环境可控,模拟使用,开发者在现场
beta测试-开发公司组织各方面典型的客户在日常工作中实际使用,并提出意见和异常报告
正式验收测试-指定测试计划,定义测试方案,选择测试用例进行测试,结果提交,着重考虑软件是否满足合同规定的功能和性能
按是否执行分类
静态测试:不运行软件,静态查看代码,界面,文档
动态测试:运行程序,输入相应的数据检查输出结果与预期结果是否一致
按内部机构分类(是否查看代码分类)
黑盒测试:依据需求文档进行测试,证明整个软件系统是否符合用户的最终需求
白盒测试:依据开发设计文档,证明每种内部操作是否符合开发设计文档要求
灰盒测试:介于白盒和灰盒之间,关注输出与输入的正确性,同时也关注内部的表现
其他分类
冒烟测试:对每一个新编译需要正式测试的版本,确认软件基本功能正常
回归测试:对修改的代码进行的测试,确认修改没有导致新的bug出现
回归测试策略:先对修改过的代码进行测试,然后对与此相关的功能模块进行测试
13、缺陷编写原则
准确-清晰-简洁-完整-一致
14、缺陷产生的原因(需求,设计,编码)
软件本身:文档和内容不正确,数据考虑不全引起强度和负载问题,边界考虑不全,开发标准和过程上的错误
团队工作:对需求分析不够
技术问题:语法错误,算法问题,计算精度,系统结构不合理,接口参数不匹配
15、web测试:功能,界面,业务逻辑,兼容性,易用性,安全性,性能
三、软件开发的几种模型
瀑布模型:计划-需求分析-设计-编码-测试-运维
V模型:用户需求->需求分析->概要设计->详细设计->编码
->单元测试-集成测试-系统测试-验收测试
W模型,在V模型之上进行了一个改进
四、软件测试内部质量与外部质量模型(6种)
五、软件测试方法
等价类
根据需求区分测试数据那些是有效的,那些是无效的,有效的就是有效等价类,无效的就是无效等价类
边界值
场景法
根据用户的使用场景设计业务流程,画出流程图,确认基本流和备用流,基本流只有一条,备用流会有若干条
错误推断法
根据经验或直觉进行推测程序中可能出现的各种错误,有针对性的检查这些错误
因果图
判定表
大纲法,状态转换图—》这两种用的较少,这里不做著述
正交法
六、缺陷的定义
软件未实现需求所要求的功能
软件未实现需求没有提及但应该实现的功能
软件实现了需求所未要求的功能
软件实现了需求所要求不能实现的功能
软件难以理解,不易运使用,运行缓慢,用户认为不好
测试用例执行中发现与预期结果不符合的现象
七、软件测试计划
1、概念:描述所有完成的测试工作,包含项目背景,目标,范围,方式,资源,进度安排,测试组织,测试执行与退出标准,测试计划的审批和变更方式,与测试有关的风险等
2、测试开始与结束条件
开始条件:需求分析开始时启动
结束条件:需求覆盖率,用例执行率,缺陷遗留率,预期目标
3、如何执行测试计划
认真做好测试资料的搜集整理工作
明确测试目标,增强测试计划实用性
坚持5w原则,明确内容与过程
采用评审和更新的机制,保证测试计划满足实际需求
4、5w原则
why:为什么要进行这些测试
what:测试那些方面,不同阶段的内容
where:相应文档,缺陷的存放位置,测试环境
when:测试不同阶段的起止时间
who:项目有关的人员组成,安排那些测试人员进行测试
5、为什么要编写测试计划
宏观调控,资源配置
测试人员了解整个项目的测试情况及不同阶段要进行的内容
百脑汇与其他人了解测试人员的工作内容,进行有关配合工作
八、测试方案
1、方案内容包含测试策略-测试资源-进度管理-风险管理-质量标准
2、测试方案与计划区别
层次不同:
计划站在管理层告诉我们做什么
方案站在技术层告诉我们怎么做
内容不同
计划内容:描述所有完成的测试工作,包含项目背景,目标,范围,方式,资源,进度安排,测试组织,测试执行与退出标准,测试计划的审批和变更方式,与测试有关的风险等
方案内容:测试策略-测试资源-进度管理-风险管理-质量标准
八、测试报告
数据的统计:人力投入,用例覆盖率,问题单分类
遗留bug情况
测试风险
测试对象评估:基本功能评估,性能评估,稳定性评估,易用性评估,其他评估
测试结论:质量评价,测试结论,评估人员,审核人员