软件测试
软件的分类:层次:系统软件,应用软件
结构:单机,分布式
组织:开源,商业
bug定义:
所有不满足需求或超出需求的缺陷
软件的生命周期:
需求分析→概要设计→详细设计→编码→测试→验证
软件开发模型:
瀑布模型:最早提出的软件开发过程模型
问题:①强调时间顺序严格执行,前阶段不完成,后续阶段不开始;
②将测试放在了编码之后,没有体现测试贯穿软件生命周期的原则;
③不适应用户需求的变化。
优点:①为项目提供了阶段划分的检查点;
②当前一阶段完成后,只需要关注后续阶段。
螺旋模型:引入风险分析减小损失,适用大型昂贵的软件应用。
迭代模型:在某种程度上,开发迭代是一次完整地经过所有工作流程的过程:需求分析、设计、实施和测试工作流程。
优点:①降低了在一个增量上的开支风险
②降低了产品无法按照既定进度进入市场的风险
③加快了整个开发进度
④迭代过程这种模式适应需求变化会更容易
敏捷模型:
增量模型:吧软件分割成独立的模块,可以分批次交付,一般和跌倒模型一起使用
缺点:打破原有的结构或架构存下风险
快速原型模型:可以模拟操作,简单运行,常用工具Axure
软件测试流程:
获取测试需求→编写测试计划→制定测试方案→开发与设计测试用例→执行测试→提交缺陷报告→测试分析评审→提交测试总结→准备下一版本测试
软件测试过程模型:
V型 W型 H型 X型
V:揭示了开发与测试中各阶段的对应关系
缺点:①V模型仅仅把测试过程作为需求分析、系统设计及编码之后的一个阶段,忽视了测试对需求分析、系统设计的验证
②需求的满足情况一直到后期的验收测试才被验证
③没有体现“尽早地和不断的进行软件测试”的原则
开发 测试
用户需求 验收测试
需求分析与系统设计系统测试
概要设计 集成测试
详细设计 单元测试
编码
W:由两个V组成,分别代表测试与开发,明确表示出了开发与测试的并行关系
优点:测试活动与软件开发同步进行
测试对象不仅仅是程序,包括需求和设计
尽早的发现软件缺陷可降低软件开发的成本
局限:在W模型中,需求、设计、编码等活动被视为串行的,这样就无法支持灵活迭代
H:将测试完全独立了出来,揭示了软件测试是一个独立的流程
X:是V模型的改进,定位了探索性测试,不进行计划的特殊类型测试,能帮助有经验的测试人员发现更多的软件错误。
测试理念:
尽早的测试
全面的测试
全过程的测试
独立的、迭代的测试 每日学习新知识一下 这个附图就很6 谢谢分享,已回复。
页:
[1]