《软件测试》笔记 + 重要知识点整理 + ( junit介绍+变异测试) (二)

1.近期进行了软件测试的学习,同时记录了随堂笔记整理,相应内容是老师上课的实际内容,分享给淦友们进行平时参考或者考前突击。
2.会定期更新哦 博主是985的哦 — (弱弱的说,有问题欢迎指正)
3. 有相应内容不够详细的,或者不懂的,欢迎在评论区提问~
这是第二个文章哦~ 第一章在上一个

二. 软件测试基础

Testing can only show the presence of failures

Not their absence

2.1 术语

  • Software Faults, Errors & Failures

    • Software Fault : 软件中存在静态缺陷 , bug的根源所在
    • Software Error : 一种错误的表现的不正确的内部状态
    • Software Failure : 关于需求或对预期行为的其他描述的外部的、错误的行为
  • RIPR 模型

    • Reachability :可达性,是否能运行经过程序故障的位置。
    • Infection : 感染, 该程序的状态必须不正确。
    • Propagation : 传播,受感染的状态必须导致程序的某些输出或最终状态不正确。
    • Revealability : 可揭示性,测试人员必须观察到最终程序状态的部分不正确的部分

    自上而下,前面是后面的必要条件。

  • Testing & Debugging

    • testing:通过观察软件的执行情况来评估软件。
    • Debugging:观察到failure 后,查找fault的过程。
  • 常见软件故障:

    • Arithmetic faults - 算术错误 : 除以0, 算数溢出…
    • Logic faults - 逻辑错误:无限循环递归…
    • Syntax faults - 语法错误
    • Resource faults - 资源错误: 空指针,违法访问变量…
    • Multi-threading programming faults - 多线程故障: 死锁,并发故障…
    • Performance faults - 性能错误 :复杂度问题…
    • Interfacing faults - 接口错误:错误使用,硬件处理错误…
    • Team working faults - 团队工作问题:文档差异,数据更新的不及时传播…

2.2 活动

  • Test Engineer & Test Manager

    • Test Manager : 负责协调管理一个或多个测试工程师
    • Test Engineer:负责一项或多项技术测试活动的IT专业人员
      在这里插入图片描述
  • 传统测试级别:

  • 面向对象级别测试:
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wHDtc0Vx-1646825030473)(D:/%E4%B8%93%E4%B8%9A%E8%AF%BE/%E8%BD%AF%E4%BB%B6%E6%B5%8B%E8%AF%95/%E8%BD%AF%E4%BB%B6%E6%B5%8B%E8%AF%95%E8%AF%BE%E7%A8%8B%E6%80%BB%E7%BB%93.assets/image-20220306160847992.png)]

  • Coverage Criteria - 覆盖标准

    • 我们尝试搜寻所有测试可能进行测试
    • 数量巨大,使得我们要搜寻最少的特征实例进行最大化话的错误定位。
    • 覆盖标准提供了一种结构化的、实用的方法来搜索输入空间
    • Coverage Criteria 的优势:
      • 最大化“性价比高”
      • 提供从软件工件到测试的可追溯性——源代码、需求、设计模型等。
      • 使回归测试更容易!
      • 给测试人员一个 “停止规则” ……当测试完成时!
      • 可以用功能强大的工具得到很好的支持
  • Test Requirements and Criteria – 测试需求与测试准则

  • Test Criteria :一个定义测试需求的规则和流程的集合

    • 覆盖每一条语句
    • 覆盖每一个功能需求
  • Test Requirements:在测试期间必须满足或涵盖的特定内容

  • 四个测试活动流程: (难度)

    • 1. Test Design (技术难度最高) 4*

      • 1.a) Criteria-based - 以测试标准为基础的
      • 1.b) Human-based - 以人经验主义为基础的
    • 2. Test Automation- 将测试值嵌入到可执行脚本中 2*

    • 3. Test Execution - 在软件上运行测试,并记录结果 1*

    • 4. Test Evaluation- 评估测试结果,并向开发人员报告 3*

  • MDTD - Model-Driven Test Design

    • 进行活动的抽象

三. junit

3.1 自动化测试

  1. 定义:The use of software to control the execution of tests, the comparison of actual outcomes to expected outcomes, the setting up of test preconditions, and other test control and test reporting functions。(使用软件来控制测试的执行,将实际结果与预期结果进行比较,设置测试先决条件,以及其他测试控制和测试报告功能)
  2. 好处:
    • 降低费用
    • 防止因人工引发的错误
    • 减少了来自不同个体的测试质量的差异
    • 显著降低了回归测试的成本
  3. Software Testability - 软件可测试性
    • 体现了软件终可以找出fault的困难。
    • two problems :
      • 如何为软件提供测试值
      • 如何观察测试执行的结果
  4. Observability an
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

行路难1895

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值