当前位置:网站首页>(1) Software testing theory (0 basic understanding of basic knowledge)

(1) Software testing theory (0 basic understanding of basic knowledge)

2022-08-11 06:57:00 Lamb said test!

*The focus is on how to write test case templates at the bottom(Use case templates in resources,可直接下载)

一、软件测试的目的和原则

1. 软件测试目的

用最少的人力、物力、财力,找到软件中的问题并修复,从而降低商业风险

2. 软件测试原则

1. 只能证明软件存在问题,不能证明不存在问题
2. 不能进行穷尽(穷举)测试,应该分类别测试
3. 测试工作要尽早的介入,降低修复成本(需求文档--ui、程序、测试)
4. 缺陷存在集群现象,二八原则:20%的模块中存在80%的缺陷
5. 测试依赖环境(系统、浏览器)

6. 杀虫剂现象
7. 不存在缺陷谬论

二、软件测试分类

1. 软件测试分类(思维图)

2. 按测试阶段划分

2.1 单元测试

单元测试:又称模块测试,针对软件设计中的最小单位-程序模块,进行正确性检查的测试工作.单元测试需要从程序内部结构出发设计测试用例.多个模块可以平行地独立进行单元测试.
单元定义:C中指一个函数,Java中指一个类.

2.2 集成测试

集成测试:又叫组装测试,通常在单元测试的基础上,将所有程序模块进行有序的、递增的测试.

2.3 系统测试

系统测试:指的是将整个软件系统看为一个整体进行测试,测试的依据是软件需求说明书

2.4 验收测试

检验软件是否符合用户需求的测试

3. 按是否查看源代码

3.1 黑盒测试

又称数据驱动测试,完全不考虑程序内部结构和内部特性,注重于测试软件的功能需求,只关心软件的输入数据和输出数据.

3.2 白盒测试

指的是把盒子打开,去研究里面的源代码和程序结构.

3.3 灰盒测试

灰盒测试,是介于白盒测试与黑盒测试之间的一种测试,不仅关注输出、输入的正确性,同时也关注程序内部的情况.

4. 按是否运行分类

静态测试:指不实际运行被测软件,而只是静态地检查程序代码、界面或文档中可能存在的错误过程.
动态测试: 是指实际运行被测程序,输入相应的测试数据,检查实际输出结果和预期结果是否相符的过程.

5. 按照是否自动化

人工测试:也叫做手工测试,测试人员手动去进行的测试
自动化测试 :利用代码或者工具帮助人工进行测试

6. 软件测试的更多分类

冒烟测试:冒烟测试就是对系统进行最基本功能的测试,保证基本的功能和流程能走通
回归测试:当修复一个BUG后,把之前的测试用例在新的代码下进行再次测试
随机测试:随机测试主要是对被测软件的一些重要功能进行复测,也包括测试那些当前的测试用例没有覆盖到的部分
探索性测试 :探索性测试意味着同时设计测试和执行测试.测试人员通过测试来不断学习被测系统.

软件缺陷

1.软件缺陷

软件缺陷:是指软件或程序中存在的各种问题及错误

1.1 软件缺陷的判定标准

1. 软件未达到需求规格说明书中标明的功能
2. 软件出现了需求规格说明书指明不会出现错误的地方
3. 软件的功能超出了需求规格说明书指明的范围
4. 软件未达到需求规格说明书虽未指明但应该达到的目标
5. 软件测试人员认为软件难以理解,不易使用,运行速度慢,或者最终用户体验不好.

1.2 软件缺陷产生的原因

软件缺陷产生是不可避免的,造成软件缺陷产生的原因主要归纳如下:
1. 需求解释、记录或者定义错误
2. 设计文档说明存在错误或者拼写错误
3. 编码说明、程序代码有误
4. 硬件或者软件系统上存在错误

1.3 软件缺陷产生的根源

需求的变更
交流不充分
软件的复杂性
进度压力

1.4 软件缺陷的类型

功能错误
界面错误
兼容性缺陷
易用性问题

改进建议

测试用例

1. 测试用例

测试用例:(Test Case)是为特定的目的而设计的一组测试输入、执行条件和预期结果的文档.测什么?怎么测?

2. 测试用例八大要素

软件测试用例的基本要素包括

  1. 用例编号
  2. 用例标题
  3. 测试项目
  4. 用例级别
  5. 预置条件
  6. 测试输入
  7. 执行步骤
  8. 预期结果.

原网站

版权声明
本文为[Lamb said test!]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/223/202208110516455191.html