[入门]测试原则-ApiHug准备-测试篇-002

  🤗 ApiHug × {Postman|Swagger|Api...} = 快↑ 准√ 省↓

  1. GitHub - apihug/apihug.com: All abou the Apihug   
  2. apihug.com: 有爱,有温度,有质量,有信任
  3. ApiHug - API design Copilot - IntelliJ IDEs Plugin | Marketplace

写在前面

在进行下一章节前可以问问自己这几个问题:

  1. 什么是软件测试?
  2. 开发人员和软件测试是否有关?还是只有QA组同学彩盒测试有关?
  3. 写过测试?
  4. 传统行业如何进行质量保证?
  5. 测试重要否?
  6. 测试是否耽误事?

测试7大原则

  1. Testing shows the presence of defects
  2. Exhaustive Testing is not possible
  3. Early Testing
  4. Defect Clustering
  5. Pesticide Paradox
  6. Testing is context-dependent
  7. Absence of errors fallacy

#测试显示bug的存在

测试应用程序只能显示在应用程序中存在一个或多个缺陷,但是,仅仅通过测试并不能证明应用程序没有错误。因此,设计测试用例使其尽可能多的找到缺陷是很重要的。

#穷举测试不可能

除非受测试应用(UAT)具有非常简单的逻辑结构和有限的输入,进行所有测试数据和场景的组合是不可能的事。出于这个原因,风险评估和优先级被用于集中测试最重要的方面。

#尽早测试

我们越早开始测试活动,就越可以更好的利用可用的时间。当最初的产品,例如要求或设计文件完成后,我们就可以开始测试。测试阶段常会在开发周期的最后部分也就是开发完成之后遭到时间压缩。因此,尽早开始测试,我们可以针对开发生命周期的每个阶段进行测试的准备。

另一个关于尽早测试的重要的一点是,当缺陷在生命周期中更早的被发现时,它们更容易解决而且成本更低。改变不正确的要求比起必须改变一个大型系统中没有按照要求或设计来工作的功能要成本低得多!

#缺陷群

在测试过程中,可以观察到,大多数报告的缺陷都与少数几个系统内的模块有关。即少量模块包含了系统中大部分的缺陷。这也是帕雷托法则(二八定律)在软件测试方面的实际应用:约80%的问题被发现在20%的模块中。

#杀虫剂悖论

如果持续运行同一套测试一遍又一遍,有可能那些测试用例就无法发现新的缺陷。因为随着系统的发展,许多以前报道的缺陷将会被修好,旧的测试用例就不再适用了。每当修复完缺陷或添加了新的功能后,我们需要做回归测试,以确保新更改的软件不破坏该软件的任何其他部分。然而,这些回归测试用例也需要根据软件本身的变化作出改变,使其能够更加适用并找到新的缺陷。

#测试是上下文相关的

不同的测试方法,测试技术和测试类型是根据应用程序的类型和性质来决定的。例如,运用于医疗设备上的软件应用程序相比游戏软件需要进行更多的测试。更重要的是医疗设备软件需要基于风险测试,需要符合医疗行业监管以及可能的特殊测试设计技术。出于同样的原因,一个非常受欢迎的网站,需要经过严格的性能试验,以及功能性的测试,以确保性能不受服务器上的负载的影响。

#无错谬误

只是因为测试没有发现软件中的任何缺陷,并不意味着该软件是随时可以发布的。被执行的测试,是否真的找到了大多数缺陷?或者,他们是否根据顾客需求设计检查软件是否满足要求?在发布软件之前,还需要考虑

#其他因素

其他原则需要注意的是:

  1. 测试必须由独立的一方来完成。
  2. 测试不应由该开发软件的人或者团队来执行,因为它们趋向于维护程序的正确性。
  3. 最佳人员配置: 于测试需要高度的创造性和责任感,需要将人员正确地分配到各个设计,实施和分析测试案例, 测试数据和测试结果的岗位上去。
  4. 除了有效条件之外,也要对无效的和意想不到的输入条件进行测试。
  5. 程序应该在无效情况下产生正确的消息并在有效情况下产生正确的结果。
  6. 保持测试过程中软件的静态。
  7. 在对程序进行测试用例集的执行过程不能对程序进行修改。
  8. 尽可能提供预期的测试结果。
  9. 测试文档的必要组成部分包括了预期结果的说明,即使提供这样的结果可能是不切实际的。

我们

api-hug-contact

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/548534.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

GT资源-CPLL QPLL

一、前言 QPLL与CPLL是两种为GT Channel提供时钟的锁相环,其中CPLL与GT Channel绑定,每一个通道都有一个CPLL,而QPLL是与Quad绑定,每一个Quad有一个QPLL,4个通道共享一个QPLL 二、CPLL 每个GTX/GTH收发器通道包含一…

luigi,一个超级厉害的 Python 库!

什么是 Python Luigi? Python Luigi 是一个用于构建复杂数据处理管道(工作流)的Python模块。Luigi由Spotify开发并维护,旨在简化和管理大规模数据处理任务的执行。 关键特点包括: 1.任务定义: Luigi允许…

TypeError: Cannot read properties of undefined (reading ‘tapAsync‘)

项目启动,一直报tabAsync未定义,整个项目中没有找到引用的地方; 最终重新安装webpack4版本 解决问题; npm install webpack4

【重回王座】ChatGPT发布最新模型gpt-4-turbo-2024-04-09

今天,新版GPT-4 Turbo再次在大型模型排行榜上荣登榜首,成功超越了此前领先的Claude 3 Opus。另外,新模型在处理长达64k的上下文时,性能竟能够与旧版在处理26k上下文时的表现相当。 目前GPT-4 Turbo仅限于ChatGPT Plus的用户&…

苍穹外卖项目总结1-12

苍穹外卖 文章标题地址苍穹外卖Day01——总结1https://lushimeng.blog.csdn.net/article/details/135466359苍穹外卖Day02——总结2https://lushimeng.blog.csdn.net/article/details/135484126苍穹外卖Day03——总结3https://lushimeng.blog.csdn.net/article/details/1363788…

PyTorch与深度学习:探索现代神经网络的魅力

在科技飞速发展的今天,深度学习作为人工智能领域的重要分支,已经在图像识别、自然语言处理、语音识别等多个领域取得了突破性的进展。而PyTorch,作为一款开源的深度学习框架,以其简洁易用、动态计算图等特性,赢得了广大…

修改百度百科的条件

百度百科,作为全球最大的中文百科全书,每天吸引着无数用户前来浏览和编辑。然而,要修改百度百科的内容,并非易事。本文将详细介绍修改百度百科的条件,帮助有志于参与编辑的用户更好地了解并做好准备。 1. 注册百度账号…

2024 计算机毕业设计之SpringBoot+Vue项目合集(源码+L文+PPT)

各位朋友大家好,有幸与屏幕前你们相识,博主现已经搬砖9年,趁着头发还充裕,希望给大家提供一些编程领域的帮助,深知计算机毕业生这个阶段的崩溃与闹心,让我们共同交流进步。 博主给大家列举了项目合集&#…

Springboot+Vue项目-基于Java+MySQL的房产销售系统(附源码+演示视频+LW)

大家好!我是程序猿老A,感谢您阅读本文,欢迎一键三连哦。 💞当前专栏:Java毕业设计 精彩专栏推荐👇🏻👇🏻👇🏻 🎀 Python毕业设计 &…

【从浅学到熟知Linux】进程控制上篇=>进程创建、进程终止与进程等待(含_exit与exit的区别、fork函数详解、wait与waitpid详解)

🏠关于专栏:Linux的浅学到熟知专栏用于记录Linux系统编程、网络编程等内容。 🎯每天努力一点点,技术变化看得见 文章目录 进程创建fork函数写时拷贝 进程退出进程退出操作系统做了什么?进程退出场景进程退出的常见方法…

Vue3 + Element-Plus 使用 Table 预览图片发生元素遮挡

Vue3 Element-Plus 使用 Table 预览图片发生元素遮挡 问题代码问题重现解决方法最终效果 问题代码 <el-table-column label"视频" align"center"><template #default"scope" style"display: flex;"><div style"…

【RV1106的ISP使用记录之基础知识】硬件连接关系与设备树的构建

RV1106具备2个mipi csi2 dphy硬件&#xff0c;1个VICAP硬件和1个ISP硬件。其中&#xff1a; 1、mipi csi2 dphy 用于对数据流的解析&#xff0c;支持MIPC,LVDS,DVP三种接口&#xff1b; 2、VICAP用于数据流的捕获&#xff1b; 3、ISP用于对图像数据进行处理&#xff1b; 这三个…

架构设计-灰度发布系统架构设计

灰度发布的定义 互联网产品需要快速迭代开发上线&#xff0c;又要保证质量&#xff0c;保证刚上线的系统&#xff0c;一旦出现问题可以很快控制影响面&#xff0c;就需要设计一套灰度发布系统。 灰度发布系统的作用&#xff0c;可以根据配置&#xff0c;将用户的流量导到新上…

【Kafka】Zookeeper集群 + Kafka集群

Zookeeper 概述 Zookeeper是一个开源的分布式的&#xff0c;为分布式框架提供协调服务的Apache项目。 Zookeeper 工作机制★★★ Zookeeper从设计模式角度来理解&#xff1a; 1&#xff09;是一个基于观察者模式设计的分布式服务管理框架&#xff1b; 它负责存储和管理大家都关…

HashMap的扩容看这一篇足够

在Java中&#xff0c;对于HashMap这样的实现&#xff0c;put方法是用来将一个键值对插入到Map中的核心方法。以下是HashMap类中put方法的大致执行流程&#xff1a; 计算Hash值&#xff1a; 首先&#xff0c;put方法会接收一个键&#xff08;Key&#xff09;和一个值&#xff0…

A股风格因子看板 (2024.4 第4期)

该因子看板跟踪A股风格因子&#xff0c;该因子主要解释沪深两市的市场收益、刻画市场风格趋势的系列风格因子&#xff0c;用以分析市场风格切换、组合风格景 露等。 今日为该因子跟踪第4期&#xff0c;指数组合数据截止日2024-03-31&#xff0c;要点如下 近1年A股风格因子收益走…

【Spring系列】- Spring事务底层原理

实验准备 配置文件 首先在配置文件中配置jdbcTemplate和事务管理器&#xff0c;并且需要开启事务的注解EnableTransactionManagement以及Configuration注解 ComponentScan("com.lyd") EnableTransactionManagement Configuration public class ApplicationConfig …

【C++从练气到飞升】07---内存管理

&#x1f388;个人主页&#xff1a;库库的里昂 ✨收录专栏&#xff1a;C从练气到飞升 &#x1f389;鸟欲高飞先振翅&#xff0c;人求上进先读书。 目录 一、 C/C内存分布 二、 C语言中动态内存管理方式 三、 C中动态内存管理 1. new/delete操作内置类型 2. new和delete操作…

LM-Net

Squeeze-and-Excitation (SE) 作者未提供代码

用海外云手机高效率运营TikTok!

很多做国外社媒运营的公司&#xff0c;想要快速引流&#xff0c;往往一个账号是不够的&#xff0c;多数都是矩阵养号的方式&#xff0c;运营多个TikToK、Facebook、Instagram等账号&#xff0c;慢慢沉淀流量变现&#xff0c;而他们都在用海外云手机这款工具&#xff01; 海外云…