缺陷的由来
Bug Defect
Grace Hopper(计算机软件第一夫人)
软件测试的定义和目的
正向思维的定义
可取但不完全
出发点:确信软件正常并确定他是否达到预期结果
反向思维的定义
为发现错误而执行的一个程序
测试是证明程序有错
一个好的测试用例在于它能发现以前未发现的错误
一个成功的测试是发现了以前未发现的错误
IEEE定义的软件测试
IEEE 电器和电子工程师协会
在规定条件下运行系统或构件的过程:观察和记录结果,并对系统或构件的某些方面给出评价
分析软件项目的过程:检测现有状况和所需状况之间的不同,并评估软件项目的特性
广义的软件测试
软件测试是对软件形成过程中的所有的工作产品(包括程序以及相关文档),进行的测试
确认:证实特定功能或应用是否已经实现(例:要求的注册功能存在)
验证:证实指定的需求是否满足(注册功能的细节是否符合需求)
软件测试的目的
以最少的人力物力和时间找出软件中潜在的各种错误和缺陷,保证各种错误和缺陷得以修复,避免软件发布后由于潜在错误和缺陷造成的隐患所带来的商业风险。
同时利用测试过程中得到的测试结果和信息去作为后续项目开发和测试过程改进的重要输入,避免在将来的项目开发和测试中重复同样的错误。
采用更加高效的测试管理手段那,提高软件测试的效率和软件产品的重量。
测试和调试的区别
主体、目标、方法、思路
测试/调试
主体:测试人员/开发人员
目标:找bug/改错
方法:等价类、边界值等/程序和逻辑方法
思路:反向思维占主导/正向思维为主导
测试条件和结果
测试:从已知开始、使用预先定义的过程,并且有预知的结果
调试:未知条件、结果也不可预知
计划工作量
测试可以计划、可以预知制定测试的测试用例和过程,工作量可以度量
调试的过程或持续的时间相对比较困难
测试对象
测试:软件开发过程中的文档、数据、以及代码
调试:一般来说只是代码
软件危机和软件工程
(数据库的发展历程: 状、层次、关系)
软件危机:
落后的软件生产方式以及无法满足迅速增长的计算机软件的需求,从而导致软件开发与维护过程中出现的一系列严重问题的现象。
软件工程:
分类:
软件开发技术:软件开发方法学、软件工具和软件工程环境
软件项目管理:软件质量、项目评算、进度控制、人员组织、配置管理、项目计划
软件工程:
引起软件危机的主要问题:软件质量问题
软件工程主要解决的是软件的质量问题
软件测试是软件质量管理体系中的一个非常重要的手段。
软件的生命周期
软件开发流程
- 强调时间顺序的严格执行(前一阶段不完成,后阶段不开始);
- 将测试放在编码之后(没有体现软件测试贯穿软件生命周期的原则,可以避免需求的问题一直延续到代码完成才被暴露或者被发现);
- 不适应用户需求的变化。
优点
- 为项目提供了按阶段划分的检查点;
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!