软件
- 程序
- 数据
- 文档
软件的分类
- 按层次划分
- 按组织划分
- 按结构划分
软件缺陷的定义
所有不满足需求或超出需求的都是缺陷
没有不存在缺陷的软件,只有迄今为止尚未发现的缺陷.
软件未实现产品说明书要求的功能
软件出现了产品说明书指定不应该出现的功能
软件实现了产品说明书未提到的功能
软件未实现产品说明书虽未提到,单应该实现的功能.
软件测试的定义
正向思维:
反向思维:
IEEE定义的测试 (全称是Institute of Electrical and Electronics Engineers)
美国的电子技术与信息科学工程师的协会
广义软件测试定义:
软件测试的目的
以最少的人力,物力和时间找出软件中潜在的各种错误和缺陷,保证各种错误和缺陷得以修复,避免软件发布后由于潜在的软件错误和缺陷造成的隐患所带来的商业风险.
同时利用测试过程中得到的测试结果和测试信息,作为后续项目开发和测试过程改进的重要输入,避免在后续的开发和测试中重复同样的错误.
采用更加高效的测试管理手段,提高软件测试的效率和软件产品的质量.
测试和调试的区别:
测试: 调试:
主体 测试人员 开发 人员
目标 找bug 将错误修改正确
方法 等价类,边界值… 程序和逻辑算法对不对,合理不合理.
思路 反向思维, 正向思维
测试是从已知的条件开始,使用预先先定义的过程,并且有预知的结果,调试是从未知的条件开始,结束的过程可能不可预计
测试可以计划,可以预先制定测试用例和过程,工作进度可以度量,描述调试的过程或持续时间相对比较困难.
测试的对象包括软件开发过程中的文档,数据以及代码,而调试的对象一般来说只是代码.
软件工程包括两个方面的内容:
软件测试是软件质量管理体系中一个非常重要的手段.
软件的生命周期模型
需求分析-概要设计-详细设计-编码-测试-验收
瀑布模型:最早提出软件开发的过程模型.
- 存在的问题:
- 强调时间顺序的严格执行,前阶段不完成,后阶段不开始.
- 将测试放在了编码之后,没有体现出测试贯穿软件生命周期的原则,可以避免需求的问题一直延续代码完成才暴露或者被发现.
- 不适应用户需要的变化.
学习要求:会画出来瀑布模型.
2) 优点
- 为项目提供了按阶段划分的检查点.
- 当前一阶段完成后,只需要去关注后续阶段.
- 缺点
- 各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量
- 线性开发,用户等到整个过程的末期才能见到开发成果,从而增加了开发风险.
- 瀑布模型不适应用户需求的变化.
螺旋模型
螺旋模型是一种演化软件开发过程模型,它兼顾了快速原型的迭代的特征以及瀑布模型的系统化与严格监控.
引入了其他模型不具备的分险分析,使软件在无法排除重大风险时有机会停止,以减少损失.
螺旋模型更适合大型的昂贵的系统级别的软件应用.
敏捷模型
敏捷宣言,也叫做敏捷软件开发宣言,正式宣布了对四种核心价值和十二条原则,是一种以人为核心,迭代,循序渐进的软件开发方法.
软件测试过程模型
1 v模型
2 w模型
3 h模型
4 x模型
v模型 揭示了开发过程与测试过程中各阶段的对应关系. (面试经常问,下图要会画.)
H模型 (外包一般这就是这种模型)
测试的独立性
集成测试: 也叫组装测试,通常在单元测试的基础上,将所有的程序模块进行有序,递增的测试.集成测试是检验程序单元或部件的接口关系,逐步集成 符合概要设计要求的程序部件或整个系统.
软件测试的原则
什么是测试用例.
测试用例的定义
测试用例编写注意事项.
黑盒测试用例设计方法
最重要的2个方向 : 测试数据的选择, 测试步骤的设计.
等价类划分法
划分等价类和列出等价类表
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!