注:(红色字体是作业题)
一、软件全方位缺陷检测
1.什么是软件?
2.什么是软件质量?
3.什么是软件缺陷?
4.软件缺陷有哪些类型?(软件缺陷的表现)
5.为什么需要软件全方位缺陷检测?
6.软件全方位缺陷检测的主流方法
1. 评审方法: 利用走查、检查单、审计、代码阅读等方式进行人工或自动评审,发现描述规范性、完整性、 一致性、冗余等方面的缺陷。
2. 分析方法: 从控制流分析、数据流分析、代码坏味道检测、修改影响分析、路径剖析的角度进行代码层面的缺陷检测。
3. 度量方法: 度量设计和代码的好坏,发现设计和代码的 BUG。
4. 验证方法:从模型检验的角度检测和定位系统的安全性、一致性等时态属性存在的问题。
5. 仿真方法: 通过仿真找出系统设计的性能缺陷。
6. 测试方法: 从软件功能测试和非功能测试进行软件缺陷检测。
7. 监测方法: 通过软件运行过程中各种数据的监测,可以发现软件中存在的问题。
8. 基于知识方法:利用领域知识检查设计和代码中存在的缺陷。
9. 智能化方法:利用机器学习的方法发现缺陷
二、软件测试理论
2.1软件测试简介
1.什么是软件测试?
2.软件测试有什么作用?
3.软件测试的难点有哪些?
2.2经典软件测试理论
1.测试方法分类
(各个测试的定义要简单了解,接下来一次对这些测试进行讲解)
(1)从测试实施组织来看:开发者测试、用户测试、第三方测试
(2)从开发过程来看:单元测试、集成测试、系统测试、验收测试、回归测试
(3)从是否关心内部结构来看:黑盒测试、白盒测试
(4)从是否执行代码来看:静态测试、动态测试
(5)从测试环境来看:A测试、B测试
1.1 开发者测试
1.2 用户测试
1.3 第三方测试
1.4 单元测试
1.5 集成测试
1.6 系统测试
1.7 验收测试
1.8 黑盒测试
1.9 白盒测试
1.10 灰盒测试
1.11 静态测试
1.12 动态测试
1.13 A测试和B测试
第二章作业题:
1.什么是软件测试?为什么需要软件测试?
2.软件测试的三个关键问题是什么?简要说说为什么是关键问题?
3.开发者测试包括哪些测试?
2.请简要概括开发者测试、用户测试、第三方测试三者之间的区别。
3.増式集成和非増式集成之间的区别。
3.一个标准的软件测试的过程是什么?