- 什么是软件?
在开发的角度: 软件=数据结构+算法
从测试的角度: 软件=程序+文档
所以软件测试的对象是什么?
程序和文档都要测试
拓展内容:
软件开发分为哪几个阶段?
- 需求分析阶段
由需求分析人员完成
产出物:需求规格说明书
2)设计阶段
由系统架构师(系统分析师)完成
产出物:概要设计说明书和详细设计说明书
3)编码阶段
由开发人员
产出物:程序
问题:哪个阶段产生的bug最多?哪个阶段产生的bug最少?
产生bug最多的阶段是需求分析阶段,大约占总缺陷的55%左右,
其次就是设计阶段,大约占总缺陷的25%左右,最少的就是编码阶段
大约占总缺陷的15%,还有约5%的缺陷来自于配置或者是兼容性的问题。
得出的结论:
- 软件测试不能只测程序,还要测文档
- 测试工作应该尽早介入,项并且应该贯穿整个目的始终
从上面我们可以得出两个原则:尽早测试原则和不断测试原则
- 如何定义软件缺陷(什么样的情况才算是软件缺陷)
凡是符合以下条件都属于软件缺陷:
- 需求中要求要实现的功能没有实现
- 实现了需求中没有要求的功能(画蛇添足)
- 软件中出现了指明不应该出现的错误
- 需求虽然没有明确说明,但是应该实现的功能没有实现
说明:需求并不是完美,有可能遗漏,所以测试人员不能够因为需求的
错误而造成测试的错误
- 程序运行缓慢,不宜于操作,要站在用户的角度上,一切不好的地方都是缺陷
根据美国电子和电器协会对软件缺陷的定义:
- 从软件产品的内部看
要求测试人员对专业技能比较高,(白盒)
- 从软件产品的外部看
要求测试人员对专业技能不高,只要懂得操作软件的功能即可(黑盒)
- 软件测试(Test)
什么是软件测试?
简单来说,从现有的软件中,我们尽可能多的查找软件缺陷的过程。
说明:软件测试强调的是查找软件缺陷的过程,与有没有找到bug结果无关
- 软件测试的基本步骤(简单、部分步骤)
设计、编写《测试用例》-->执行测试-->记录测试结果,将预期结果和实际的结果进行对比,如果发现结果不一致,发现bug-->编写一个《缺陷报告》:记录缺陷,提交给开发人员进行修复