软件工程复习之软件测试
发布日期:2021-07-16 18:25:47 浏览次数:3 分类:技术文章

本文共 2150 字,大约阅读时间需要 7 分钟。

软件测试保证软件过程质量和产品质量的基础。动态评估技术。三种软件测试技术:

  • 基于程序路径的白盒测试技术
  • 基于需求规约的事务流测试技术(黑盒)
  • 等价类划分技术

1.软件测试的对象?

软件=程序+文档,测试对象就是程序+文档
2. 软件测试目的?
尽可能多的发现软件当中存在的错误。证明“软件有问题”。
3. 什么是软件测试?
按照特定规程发现软件错误的过程。使用人工或自动手段,运行或测定系统的过程。目的是检验是否规定的要求,清楚了解预期结果与实际结果之间的差异。
与调试区别:
测试是证明“失败”,调试证明“正确”
测试要有完备计划。
测试要由第三方小组独立完成。

4.测试过程模型?

  • 测试设计
    环境模型
    对象模型
    错误模型
  • 测试执行
  • 测试结果比较

5.软件测试技术??

分为人工测试和机器测试。机器测试又分为:
黑盒测试:也称为功能测试,只关注接口
白盒测试:逻辑测试
6.路径测试技术?
一种白盒测试技术
依据程序的逻辑结构
采用控制流程图来表达被程序的模型
合理的选择一组穿过程序的路径来达到某种测量度量。
7、控制流程图?
表示的程序控制结构图形,基本元素,过程块、结点、判定。
注意:与程序流程图区别。
过程块:没有被判定或被结点分开的语句。
判定:程序点,控制流出现分叉
结点:也是程序点,汇聚的点,控制流进行了结合。
链:过程块、判定、节点之间具有特定语义的关系。即画带箭头的线
路径:由链组成。包含一串指令或语句,其长度是由链的数目决定。对软件测试而言,从程序入口开始,在出口结束
8.测试策略???
路径覆盖(PX):把程序所有路径都走遍。最强的测试度量。
语句覆盖(C1):把程序中所有语句都执行一次。最低测试度量。
分支覆盖(P2):把分支的每一种情况执行一次。也是语句。
条件覆盖与条件组合覆盖:把条件中每一个条件都执行一遍。
总结:
语句覆盖 <= 分支覆盖 <= 条件组合覆盖 <= 路径覆盖
9.路径选取与用例设计原则?
最小的强制性测试需求是语句覆盖率。
路径选取原则:

  • 选择最简单的,具有一定功能含义的入口/出口路径。
  • 在已选取的基础上,选择无循环的路径,选取短路径,简单路径
  • 选取没有明显功能含义的路径,要研究该路径为什么存在,有没有必要存在。

10.黑盒测试技术??

  • 基于事务流的测试技术
    是一种功能测试技术
    事务:从系统用户角度出发所见到工作单元,有其“生”,有其“亡”。
    事务由一系列操作完成,用“事务流”表达。
    事务流:系统行为的一种表示方法,为功能模型建立了程序的动作模式。
    事务流程图:表达系统行为,多个事务流的执行。
    事务流程图相关概念:
    并生:事务处理产生一个新事务,由此这两个事务继续执行
    丝分裂:事务处理产生两个新事务。
    汇集:事务的不同活动可以汇集到一处再重新开始
    吸收:一个事务被另一个事务吸食
    结合:两个事务结合后产生一个新事务。
    事务流程图设计测试用例步骤:
    获取事务流程图
    浏览、复审
    用例设计
    测试执行
  • 等价类法

根据程序I/O特性,把程序的输入划分为有限的等价区段,使得从每个区段内抽取的代表性的数据进行的测试等价于该区段内任何数据的测试。

划分原则:
输入条件规定了输入数据的取值范围,可以确定一个有效等价类和两个无效等价类
输入条件规定了输入数据的个数,可建立一个有效等价类和两个无效等价类
规定输入数据一组可能取的值,每一个输入就是一个有效等价类,一个无效等价类
输入条件是一个布尔值,可以划分一个有效等价类和一个无效等价类。
规定了必须符合的条件,可以划分一个有效等价类和一个无效等价类。
已划分某个等价类中各元素在程序中处理试不同,则应将此等价类进一步进分为更小的等价类

  • 边值分析法

    根据I/O边界等价类上或紧靠边界的条件选择测试用例的更有效方法。

  • 因果图法

    因-输入条件和果-输出结果,通过困果图将功能说明转换成一张判定表,然后为每种输入条件的组合设计测试用例。主要内容:检查输入条件的组合
    原因和原因之间的关系:、

    E(互斥) 只能有一个成立
    I(包含) 至少有一个条件成立
    O(唯一) 有且仅有一个成立
    R(要求) 当a出现时,b必须出现
    M(屏蔽) 当a=1时,b必须是0,当a=0,b不确定

    生成测试用例步骤:

    • 找出模块的原因(输入条件或输入条件的等价类)和结果
    • 分析原因与结果之间的对应关系,画出因果图
    • 在因果上标识出特定的约束和限制条件。
    • 把因果图转换成一个判定表。
    • 把判定表中的每一列作为依据来设计测试用例。

11.软件测试步骤?

按照与系统开发相反的方向来进行:

  • 单元测试:确保模块的逻辑和功能是否正确。逻辑用白盒测试,接口用黑盒测试。

    考虑模块4个特征:
    模块接口
    局部数据结构
    重要的执行路径
    错误执行路径
    为了测试接口,还要开发承接模块(被测试模块调用的模块)和驱动模块(调用测试模块的模块)

  • 集成测试:模块之间接口的正确性,也就是模块之间的数据和控制传递。与单元测试是并行的。

    两种策略:自顶向下,需要设计承接模块
    自底向上,需要设计驱动模块
    新加模块后,还要进行回归测试。

  • 有效性测试:软件实现功能和需求规约是否一致。采用黑盒测试。

  • 系统测试:放到硬件平台上,软硬件协调和配合。采用黑盒测试。

转载地址:https://blog.csdn.net/guangod/article/details/118066350 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:vscode多文件编译问题
下一篇:c问题排坑记

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月23日 19时00分29秒