软件测试

软件测试重点总结

唉不知道我一个做开发的为什么非得学这门课,不过还行吧,对测试有点兴趣了。

1.术语含义(故障、错误、失效、测试用例)。
2、V&V模型、RIPR模型。
3、软件测试原则。
4、软件测试过程模型(V、W、H、建议模型) .
5、软件评审。
6、三种功能性测试用例设计方法(边界值、等价类、决策表)。
7、Junit 测试方法和测试套件的构造。
8、两种结构性测试用例设计方法(控制流、数据流) (所有的测试覆盖准则)。
9、测试用例设计方法的评估。
10、几种集成测试方法(集成过程、优缺点)

集成测试:必考 简答题 优缺点 原则 图画关系
Prime路径

第一部分:软件测试基本概念(5)
     几个术语、三个定义、若干特征、
     10大原则、过程模型、方法分类
第二部分:软件测试技术(20+8)
★测试用例设计(15)
测试级别(5)
自动化测试(8)


1、术语含义

故障(Fault)

  • 软件中的静态缺陷 (Defect)
  • 故障屏蔽指一个故障会被系统的某个或某些故障所掩盖。

错误(Error)

  • 不正确的内部状态,该状态是某个故障的表现

失效(Failure)

  • 指不完全符合给定的需求,实际结果或行为与期望结果或行为之间的偏差。故障执行时有时会发生失效

  • 事故(Incident)警告用户注意所出现的失效

测试用例(Test case)

  • 输入:测试用例值和操作步骤
  • 输出:预期的结果
  • 测试环境:前缀值、后缀值

测试(Testing)

  • 用于处理错误、故障和失效。
  • 通过观察其执行来评估软件。

调试(Debugging)

  • 对于给定的失效找出故障的过程。

2、V&V模型、RIPR模型。

(1)验证和确认模型(V&V)
  • 为把握软件开发各个环节的正确性,需要进行各种确认和验证工作。
  • 验证(Verification),在软件开发过程的某个阶段,决定此时的产品是否满足前一个阶段所确定需求的过程。(Are you building the product right?是否正确地构造软件?)
  • 确认(Validation),在软件开发结尾时,评估软件以保证所开发的软件和预期用途相符的过程。
    ( Are you building the right product?是否构造正确的软件?)
image-20210103151825185
(2)故障与失效模型(RIPR模型)

从软件故障到软件失效需要满足可达性( Reachability) ,感染(Infection),传播性( Propagation)和揭示性( Revealability)四个必要条件,简称RIPR模型.

观察到故障所需的四个条件

  • 可达性Reachability :必须达到程序中包含故障的一个或多个位置
  • 感染Infection:程序的状态必须不正确
  • 传播Propagation:感染状态必须导致程序的某些输出或最终状态不正确
  • 显示Revealability:测试人员必须观察程序状态不正确部分的一部分

当观察到的最终程序状态与不正确的最终程序状态重叠时,可以显示故障,即发生软件失效

问题是:测试人员应该检查整个程序状态吗? 如何以经济有效的方式观察错误的程序状态。

解决方法:使重叠尽可能大,并尽可能降低成本。

image-20210104143113239

3、软件测试原则(10条)

1 应该尽早地和不断地进行软件测试;
2 测试用例应由测试输入条件和与之对应的预期输出结果组成,测试之前应根据测试要求正确选取需要执行的测试用例
3 程序员应该避免检查/测试自己的程序;
4 在设计测试用例时,应该包括合理的输入条件和不合理的输入条件;
5 充分注意程序测试中的群集现象(测试后程序中残余的错误数目与该程序已发现的错误数目成正比);
6 严格执行测试计划,排除测试的随意性;
7 应对每一个测试结果做全面检查;
8 妥善保存测试计划、测试用例、出错统计和最终分析结果,为维护提供方便;
9 所有的测试应该追溯到用户需求;
10测试应该从“小规模”开始,逐步向“大规模”即渐增式build测试

4、软件测试模型

(V、W、H、建议模型)

  • 测试过程是依相反顺序安排的自底向上逐步集成的过程。
  • 开发过程中使用的4个测试级别:
    单元测试集成测试系统测试验收测试
(1)V模型
image-20210103152644794

**V模型:**最具有代表意义的测试模型,是软件开发瀑布模型的变体,反映了测试活动与分析和设计的关系。

两个特点:

  • 展示了动态测试的全过程,并定义了动态测试与开发之间的关系。
  • 动态测试的行为与开发过程的行为相对应,测试基础是对应开发阶段的文档。

三个缺点:

  • 测试与开发文档之间很少有完美的一对一关系。
  • 完全没有提及静态测试,忽略了代码审查、需求规格说明审查等重要的测试手段。
  • 软件测试时间经常由于前期开发阶段进度的拖延而被挤占,甚至取消,从而使得测试质量得不到保证。
(2)W模型

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uImspegR-1609927921310)(C:%5CUsers%5CAdministrator%5CAppData%5CRoaming%5CTypora%5Ctypora-user-images%5Cimage-20210103153011822.png)]

W模型:对V模型的改进,表明测试与开发的并行关系,充分体现测试贯穿于整个开发过程。

两个特点:

  • W是V的发展,强调静态测试,测试应在整个开发周期进行。
  • W和V一样,开发行为与测试行为一一对应,但W并不主张动态测试必须要与开发阶段对应起来,W也不限制动态测试行为必须严格地基于开发行为产生的单一文档

缺点:

  • 在W模型中,需求、设计、编码等活动是串行的,测试和开发活动也保持一种线性的前后关系。只有上一个阶段完成之后,才能正式开始下一个阶段工作,从而无法支持迭代的开发模式。
(3)H模型

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NR2Yad6l-1609927921313)(C:%5CUsers%5CAdministrator%5CAppData%5CRoaming%5CTypora%5Ctypora-user-images%5Cimage-20210103153249819.png)]

H模型:将测试活动视为一个完全独立的活动,具有独立的包括测试准备活动和测试执行活动的流程。

  • 只要测试准备就绪,就可以开始测试执行活动。在整个开发周期内,存在多个这样独立的测试流程。
  • 体现“尽早准备、尽早执行”的思想,并且不同测试活动可以按照合理的顺序进行。
V强调整个开发中需要经历不同的测试阶段,但忽略了测试对象不应该仅仅是程序。
W弥补了V的不足,但并没有将一个完整测试过程抽象出来,成为一个独立的流程,不适合于广泛应用的迭代模型。
H明确指出了测试的独立性,只要测试条件成熟,就可以展开测试。

要根据不同测试任务要求,综合各模型对项目有实用价值的方面。
(4)建议的模型

一个建议策略:

  • 以W模型为基本框架,从开发过程一开始就介入,并与开发过程同步开展相应的测试工作 ,同时灵活运用H模型独立测试的思想,只要满足就绪条件就进行独立的测试,并对测试工作进行迭代,直至完成
  • 9
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值