软件测试基础——补充

1.软件的分类

按层次划分:系统软件,应用软件

按组织划分:商业软件,开源软件

按结构划分:单机软件,分布式软件

软件危机:落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象
软件的生命周期分为6个阶段:需求分析、概要设计、详细设计、编码、测试、验收。

2.软件开发模型

1.瀑布模型

瀑布模型是最早出现的软件开发模型,是所有其他软件开发模型的基础框架。

优点:

1.为项目提供了按阶段划分的检查点

2.当前一阶段完成后,只需要去关注后续阶段

缺点:

1.各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量

2.线性开发,用户等到整个过程的末期才能见到开发成果,从而增加了开发量

3.瀑布模型不适应用户需求的变化

适用场景:需求比较明确且变更很少的项目

2.螺旋模型

以原型为基础沿螺线旋转、每转一圈都经过计划/风险分析/实施/评估等过程且得到相应新版本、经过若干次螺旋上升得到最终版本。

优点:

1.强调严格的风险分析,但要求许多客户接受和相信这种分析,并做出相关反应是不容易的,因此,这种模型往往适用于规模庞大,风险大的项目。

2.强调各个开发阶段的质量。

缺点:

1.软件建设周期长,但软件技术发展比较快,所以可能会和当前的技术水平有较大的的差距,无法满足当前用户需求

2.由于引入了非常严格的风险识别、风险分析和风险控制,将会大大消耗人力、资源,如果严重的影响了项目的利润,风险分析将毫无意义。

适用项目: 对新近开发,需求不明确的情况下,适合用螺旋模型进行开发,便于风险控制和需求变更。

3.测试过程模型

1.V模型

揭示开发过程与测试过程中各阶段对应的关系
优点:包含了底层测试又包含了高层测试;
缺点:忽视了测试对需求分析、系统设计的验证,没有体现出尽早地和不断地进行测试的原则

2.W模型

两个V模型,分别代表测试与开发过程,明确表示出测试与开发的并行关系
优点:
1.测试的活动与软件开发同步进行
2.测试对象不仅仅是程序,包括需求和设计
3.尽早发现软件缺陷可降低软件开发成本
缺点:
1.在W模型中,需求、设计、编码等活动被视为串行的,无法支持灵活的迭代
2.使用起来技术复杂度高,对于需求和设计的测试要求高,实践起来困难

3.H模型

1.H模型将测试互动完全独立出来,形成一个完全独立的流程,将测试准备活动和测试执行活动清晰地体现出来
2.揭示了软件测试是一个独立的流程
3.指出软件测试要尽早准备,尽早执行;只要某个测试达到准备就绪点,测试执行活动就可以开展,并且不同的测试活动可按照某个次序先后进行,也可以反复进行

4.测试用例

测试用例:设计一个情况,软件程序在这种情况下,必须能够正常运行并且达到程序所设计的预期结果

测试用例的特性:有效性,可复用性,易组织性,可评估性,可管理性

测试用例的作用:
1.在开始实施测试之前设计好测试用例,可以避免盲目测试并提高测试效率
2.测试用例的使用令软件测试的实施重点突出、目的明确
3.在软件版本更新后只需修正少部分的测试用例便可展开测试工作,降低工作强度、缩短项目周期。
4.检验软件是否满足客户需求、体现一个测试人员的工作量、展现测试用例的设计思路
测试用例编写注意事项:
1.避免穷举测试用例
2.再详细测试用例与有效测试时间中找到平衡点
3.好的测试用例应该多关注反向测试问题
4.测试用例库应该不断更新和维护
5.针对不同的需求类型和测试对象,灵活采用不同的测试用例设计方法

5.用例设计方法

1.因果图法

因果图法:因果图法是一种适合于描述对于多种输入条件组合的测试方法,根据输入条件的组合、约束关系和输出条件的因果关系和输出条件的因果关系,分析输入条件的各种组合情况,从而设计测试用例的方法

步骤:
1.根据功能说明书中规定的原因和结果之间的关系画出因果图
2.根据功能说明在因果图中加上约束条件
3.根据因果图写出判定表
4.根据判定表编写测试用例
适用场景:适合于检查程序输入条件涉及的各种组合情况
总结:
1.首先进行等价类划分
2.在任何情况下都必须使用边界值分析方法
3.如果程序的功能说明中含有输入条件的组合情况,则一开始就可选用因果图法和判定表法
4.对于业务流清晰的系统,可以利用场景法贯穿整个测试案例过程
5.可以用错误推测法追加一些测试用例
6.对照程序逻辑,检查已设计出的测试用例的逻辑覆盖程度,如果没有达到要求的覆盖标准,应该再补充足够的测试用例

6.缺陷

1.属性

缺陷类型:缺陷类型是根据缺陷的自然属性划分的缺陷种类

严重程度:是指因缺陷引起的故障对软件产品的影响程度

优先级:是指缺陷必须被修复的紧急程度(正向比逆向高);很大程度上取决于缺陷对测试工作的影响程度;一般可以根据测试的软件系统的企业务流程划分,软件的基本功能的缺陷,优先级越高,甚至需要立即解决。软件的备选流、基本功能测试中的反向测试的内容,优先级越低,甚至有些可改可不改

状态:是指缺陷通过一个跟踪修复过程的进展情况;表示缺陷的处理进度

2.缺陷的生命周期

1.发现缺陷:由测试人员

2.提交缺陷:由测试人员

3.确认缺陷:一般由测试主管、或者质量保证、由产品经理确认

4.分配缺陷:经过确认,有效的缺陷会指派给相关人员进行处理。一般由谁确认的缺陷由谁分配。

5.修复缺陷:主要由开发修复,也可能是产品经理修复问题,也可能是UI修复问题

6.验证缺陷:测试去验证缺陷有没有修复成功

7.关闭缺陷:只能由测试人员进行

3.缺陷报告编写目的

1.易于搜索软件测试报告的缺陷

2.报告的软件缺陷进行必要的隔离,报告的缺陷信息更具体、准确

3.具有缺陷的本质特征和复现步骤

4.具有缺陷类型分布以及对市场和用户的影响程度

4.缺陷报告的准则

1.准确:描述准确,不会引起误解

2.清晰:描述清晰,易于理解

3.简洁:只包含必不可少的信息,不包含任何多余的信息

4.完整:包含复现该缺陷的完整步骤和其他本质信息

5.一致:按照一致的格式书写全部缺陷报告

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值