开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第5天,点击查看活动详情
您好,我是游手好闲的小羊!
介绍功能测试之前,先了解下什么是软件测试!
一、 软件测试的定义
软件测试的定义如下: 使用人工或自动的手段来运行或测试某个系统的过程,其目的在于验证它是否满足规定的需求或是弄清预期结果与实际结果之间的差别
二、为什么需要软件测试
这不废话吗?谁写出来的代码没有bug呢!那么就需要测试人员测出bug从而降低bug带来的损失。
三、软件测试目的
用最少的人力、物力、财力,找到软件中的问题并修复,从而降低商业风险
四、软件测试的原则
1. 只能证明软件存在问题,不能证明不存在问题 2. 不能进行穷尽(穷举)测试,应该分类别测试 3. 测试工作要尽早的介入,降低修复成本(需求文档--ui、程序、测试) 4. 缺陷存在集群现象,二八原则:20%的模块中存在80%的缺陷 5. 测试依赖环境(系统、浏览器) 6. 杀虫剂现象 7. 不存在缺陷谬论
五. 按测试阶段划分
1.1 单元测试
单元测试:又称模块测试,针对软件设计中的最小单位-程序模块,进行正确性检查的测试工作。单元测试需要从程序内部结构出发设计测试用例。多个模块可以平行地独立进行单元测试。
单元定义:C中指一个函数,Java中指一个类。
1.2 集成测试
集成测试:又叫组装测试,通常在单元测试的基础上,将所有程序模块进行有序的、递增的测试。
1.3 系统测试
系统测试:指的是将整个软件系统看为一个整体进行测试,测试的依据是软件需求说明书
1.4 验收测试
检验软件是否符合用户需求的测试
6. 软件测试的更多分类
冒烟测试:冒烟测试就是对系统进行最基本功能的测试,保证基本的功能和流程能走通
回归测试:当修复一个BUG后,把之前的测试用例在新的代码下进行再次测试
随机测试:随机测试主要是对被测软件的一些重要功能进行复测,也包括测试那些当前的测试用例没有覆盖到的部分
探索性测试 :探索性测试意味着同时设计测试和执行测试。测试人员通过测试来不断学习被测系统。
六、软件缺陷
1. 软件缺陷
软件缺陷:是指软件或程序中存在的各种问题及错误
1.1 软件缺陷的判定标准
1. 软件未达到需求规格说明书中标明的功能
2. 软件出现了需求规格说明书指明不会出现错误的地方
3. 软件的功能超出了需求规格说明书指明的范围
4. 软件未达到需求规格说明书虽未指明但应该达到的目标
5. 软件测试人员认为软件难以理解,不易使用,运行速度慢,或者最终用户体验不好。
1.2 软件缺陷产生的原因
软件缺陷产生是不可避免的,造成软件缺陷产生的原因主要归纳如下:
1. 需求解释、记录或者定义错误
2. 设计文档说明存在错误或者拼写错误
3. 编码说明、程序代码有误
4. 硬件或者软件系统上存在错误
1.3 软件缺陷产生的根源
需求的变更
交流不充分
软件的复杂性
进度压力
1.4 软件缺陷的类型
功能错误
界面错误
兼容性缺陷
易用性问题
改进建议
测试用例
1. 测试用例
测试用例:(Test Case)是为特定的目的而设计的一组测试输入、执行条件和预期结果的文档。测什么?怎么测?
2. 测试用例八大要素
软件测试用例的基本要素包括
- 用例编号
- 用例标题
- 测试项目
- 用例级别
- 预置条件
- 测试输入
- 执行步骤
- 预期结果。
下面是用例模板,大家可以自己观察下!
当然不同公司有不同的用例模板啦!
每天分享一点点,我是带你学习的小羊!