文章目录
- 一、 软件测试的引入
-
- 1.学习软件测试前的思考
- 2.回顾软件的概念与分类
-
- 2.1软件的概念
- 2.2软件的分类
- 3.软件失效
-
- 3.1 软件都是安全的吗件中有错误吗/li>
- 3.2 软件危机(software crisis)
- 3.3 软件为什么会失效/li>
- 二、软件测试的定义
-
- 1.软件测试的起源与历史
- 2.早期测试如何进行/li>
- 3.软件测试的定义
-
- 3.1 经典定义
- 3.2 标准定义
- 3.3 国内定义
- 3.4 其他理解
- 三、软件测试的过程
-
- 1.分析测试需求
- 2.编写测试计划
- 3.设计与编写测试用例
- 4.执行测试
- 5.评估与总结
- 四、软件测试的目的/目标
- 五、区分三个概念
-
- 1.测试 & 调试
- 2.软件质量保证 & 软件测试
一、 软件测试的引入
1.学习软件测试前的思考
-
软件测试就是测试程序吗不是,软件包括程序丶数据以及文档,所以不止是测程序)
-
测试是不是装上软件后点鼠标、敲键盘不全是,测试是一个过程包括需求分析丶测试计划丶用例设计丶执行用例丶测试评估以及总结)
-
怎么开始测试工作一个任务是什么第一个任务测试需求分析)
-
测试早做好还是晚些做好早做好)
-
测试需要谋划或者规划吗需要测试计划,分析软件哪些测哪些不测,什么时候测,哪些人做哪些测试,需要的测试时间 ,测试所遇到的问题包括怎么解决)
-
测试要做到非常全面吗善尽美后面系列文章会提到)
-
谁会参与测试做最合适用户丶开发以及测试人员,测试做最合适,开发人员没有测试人员的思路对于自己开发的软件很多缺陷是找不出来的,用户其实也非常适合测试,但是用户不懂测试)
-
测试的最终任务是什么试是为了证明软件很棒吗寻找缺陷,看软件最终是否符合用户的需求,分开来讲测试每个阶段的任务是不一样的,测试早期预防缺陷,测试中期是发现缺陷并解决缺陷,测试后期是也就是用户手里是要给用户建立对产品的信心;恰恰相反测试是证明这个软件不棒有问题,并把问题挖出来)
-
如果你找到一个缺陷,你该怎么办提交给开发并跟踪缺陷有没有解决)
-
找到的缺陷一定要修改吗要不要去修改缺陷不一定要修改,测试人员不要去修改,如果改好了那么奖金归谁毕竟是开发人员开发的,改错了自己背锅)
-
你希望发现的缺陷越多还是越少从测试人员的角度来说那是越多越好,在产品交付给用户之前把缺陷发现的越多,那么开发就能将这些缺陷解决,从而提高软件质量,毕竟都是在一条绳上的蚂蚱)
-
缺陷修改后一定会对软件带来有益的影响吗后面系列文章会提到)
-
测试是一次性的任务吗不是一次性的任务,而是一个迭代的过程即反复丶重叠)
-
公司中开发和测试人数上哪种应该更多些后面系列文章会提到)
2.回顾软件的概念与分类
2.1软件的概念
软件是计算机系统中与硬件相互依存的一部分,包括程序、数据以及与其相关文档的完整集合。
- 程序是按事先设计的功能和性能要求执行的指令序列;
- 数据是使程序能正常操作信息的数据结构;
- 文档是与程序开发、维护和使用有关的图文材料。
2009 年,广州火车站售票系统瘫痪 2 个半小时
3.软件测试的定义
3.1 经典定义
- 1979,Myers,《软件测试艺术》
测试是为发现错误而执行程序的过程。
理解:
测试是为了证明程序有错,而不是证明程序无错误。
一个成功的测试是发现了至今未发现的错误的测试。
3.2 标准定义
- 1983,IEEE
使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。
理解:
测试是在用户需求和开发技术之间找一个平衡点。
3.3 国内定义
- GB/T 11457
依据规范的软件检测过程和检测方法,按照测试计划和测试需求对被检测软件的文档、程序和数据进行测试的技术活动。
软件测试是一个过程,测试不只是测试执行,它包括从计划开始到测试结束的一系列活动。
软件测试需要测试方法和技术,或者说技巧。
软件包括程序、数据和文档,除了执行程序,数据和文档也需要测试。
3.4 其他理解
- 不同时期关于测试的其他定义
确信程序做了它应该做的事(Hetzel,1973)。
确认程序正确实现了所要求的功能。
查出规格说明中错误,以及与规格说明不符的地方。
测试是一切以评价程序或系统的属性、能力为目的的活动;测试是对软件质量的度量(Hetzel,1983)。
评价程序或系统的过程。
测试是与软件开发或维护工作并行进行的一个过程。
测试是一个获取信息,降低决策风险的过程。通过测试,向整个团队提供关于产品质量和项目环境的信息,帮助他们做出决定。
三、软件测试的过程
1.分析测试需求
- 测试人员对用户的需求进行分析,了解软件要做什么,怎么做,进而确定将来怎么测试。
2.编写测试计划
- 测试负责人编写测试计划;
- 测试计划的内容
包含产品概述、测试范围/测试区域/测试项、 测试目标/被测特征、测试优先级、测试配置/测试资源(硬件、软件、人力、技术等)、测试周期、进度安排(测试任务、人员安排)、 测试策略、测试方法/途径、测试交流、风险分析、测试标准、需交付文档等内容。
3.设计与编写测试用例
- 设计用例主要反映在编写测试点上;
- 根据公司格式或者选择一些模板编写测试用例。
4.执行测试
- 搭建测试环境;
- 执行测试用例,记录测试事件;
- 提交和跟踪缺陷。
5.评估与总结
- 分析实际测试与计划的偏差;
- 收集并提交各种测试文档和数据,对数据进行分析;
- 给出是否继续测试还是终止测试结论;
- 总结经验教训。
四、软件测试的目的/目标
- 软件质量保证(SQA,Software Quality Assurance)
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!