1 软件测试入门
1.1 软件测试基础
1.1.1 分为了三个类型, 1.按层次划分 2.按结构划分 3. 按组织划分
1.1.2 其中用分布式的C/S和B/S 进行测试, 又有所不同, 我们到后面进行讲解。
1.2 软件缺陷
1.2.1 软件缺陷的由来 : Bug和 Defect
1.2.2 Bug和Defect的区别
bug 是错误 defect 可以说 是 缺陷, bug错误可能是功能缺陷, defect不一定是bug,(defect 包含 bug, )可能是 不满足易用性的一些小问题。
1.2.3 软件缺陷的定义
- 1. 软件未实现产品说明书要求的功能
- 2. 软件出现了产品说明书指明不应该出现的功能
- 3. 软件实现了产品说明书未提到的功能
- 4. 软件未实现产品说明书,虽明确提及但应该实现的目标
- 5. 软件难以理解、不易使用,运行缓慢或者(从测试角度看)最终用户认为不好
1.2.4 注意点
- 1. 所有不满足需求或者超出需求都是确定性
- 2. 没有不存在缺陷的软件,只有你还没有发现的缺陷
1.3 软件测试的概述和目的
QA:QA的全称是Quanlity Assurance,为了确保产品能满足显性特性与隐性特性所开展的工作的总称;
SQA:SQA的全称是Software Quanlity Assurance,为了确保软件产品能满足显性特性与隐性特性所开展的工作的总称。
总结SQA与QA非常相似,都是质量保证,SQA只对软件行业适用,QA对所有行业适用。
1.3.1 软件测试分为正向思维和反向思维
正向思维: 让自己相信软件是没有问题的
反向思维:测试是证明软件有错误、有缺陷,而不是没有错误,一个好的测试是能发现一个以前未发现的错误,一个成功的测试是发现了以前未发现的错误
1.3.2 IEEE定义的测试 和 广义软件测试定义
广义软件测试定义:软件测试是对软件工作中形成的所有软件产品进行测试,而不仅仅是对程序运行测试
1.3.3 软件测试目的
- 测试需要做到以下两点: 程序做了它应该做事情的以及程序做了它不该做的事情
- 2. 软件测试是尽可能找出软件产品中存在的缺陷,并确保其修复
1.4 软件测试对象
1.4.1 测试和调试的区别
- 目标不同、思路不同
- 2. 方法不同:调试依赖与工具 ;测试可以依赖于手工和工具
- 3. 对象不同:调试对象就是代码; 测试对象是整个软件产品
- 4. 形式不同:调试是没有计划,什么时候结束不知道; 测试是有计划, 有过程,有结束
1.4.2 软件的定义
- 1. 程序
- 2. 数据
- 3. 文档
1.4.3 测试软件生命周期
单元测试—>集成测试-->确认测试-->系统测试-->验收测试
1.5 软件的典型缺陷
1.5.1 软件的典型错误