如何制定一个有效的测试策略

使用 ANSYS AEDT(双向耦合)对高功率射频同轴滤波器进行热分析 使用 ANSYS HFSS,可以精确计算 EM 损耗,然后将其导入 ANSYS 热分析并使用 ANSYS Icepak CFD 求解器进行仿真,以帮助工程师解决最复杂的热挑战,并预测其设计在温度变化下的表现。然后,RF 损耗将与 ANSYS Icepak CFD 求解器耦合,以执行热分析,包括传热的传导、对流和辐射模式,并计算温度曲线。在此演示中,我们将仿真下面的 RF 同轴滤波器,并计算由于所用材料的有限电导率和介电损耗而导致的 RF 传导损耗。设置 HFSS 设计后,我们可以开始 HFSS 仿真。 阅读详情

现在业界流行的测试金字塔和测试象限只是两种高度抽象和简化的测试策略模型,不具备实际可操作性,只具备高层次的指导性和参考性。直接根据这两个模型来工作是低效的,甚至可能带来负面效果。所以对于测试金字塔和测试象限不能盲目的使用,而是需要根据项目的实际情况来生成适合自己项目的测试策略和测试架构(项目不需要测试架构),并在此基础上执行真实的测试工作。

测试分层

给不同的测试分类是一件令人烦恼的事。有功能测试,集成测试,单元测试,验收测试,slow tests,fast tests,UI 测试... 等等等等。然后我们发现属于我们的测试主要有三种类型:

  • 系统测试
  • 皮下测试
  • 单元测试

它们之间的区别主要在于被测试内容的范围。系统测试指的是通过应用的外部接口进行运作,无论对象是一个浏览器,文件下拉菜单,队列,window 窗体应用或者其他的什么东西。

皮下测试运行在外部用户接口之下。如果测试的是 Web 应用,皮下测试在我们理解就是指在真实的类

以及环境部署到位的情况下,通过命令处理器进行发送的表单对象。绕过 UI 层逻辑,直接到达 domain 层。发送表单对象,抛出”成功 / 失败”的执行结果。

对于最底层而言,我们有单元测试。单元测试用于测试一个类,并且可以是 fast test 或者 slow test 中的一种。Fast Test 即是常规的 TDD 测试,用于增量的类设计。Test doubles 曾被认为是必要的,但是除非系统交互非常值得关注,否则严格的 基于交互的测试 并不是那么有价值。我们同样也有 slow 单元测试,其同样可被分类为 交互测试。当然它们同样可归类为 repository tests, persistence tests 等。

单元:皮下:系统 测试在我们的测试工作中各自占的比重差不多是 10:2:1。 为了完成项目我们做了大约 5000 个单元测试,1000 个皮下测试,500 个使用 WaitN 以及 Gallio 驱动浏览器的系统测试。6000 个单元 / 皮下测试的执行时间大概是 10 分钟,而剩下的 500 个 UI 测试大概需要 50 分钟完成。

单元测试策略

单元测试是在严密的 TDD 模式下开发的。我们在功能实现之前编写单元测试,并用这些测试驱动代码设计。这些测试可以帮助发现设计问题、封装问题、代码异味等。

我们努力避免编写纯粹用于提供测试的代码。它们常常意味着我们有设计问题、责任错位或封装已被破坏。

随着我们越来越深入项目管道,我们对交互测试的重视越来越少。 如果你真的对交互感兴趣,那么通过 mock 进行的交互测试也仅仅是有趣而已。但更多的时候,我们更感兴趣的是附加作用,而交互只是一个实现细节。反之,我们经常做的是模拟(mock)出过慢或不可测的代码,比如存储库、基于外部服务的外观、配置类等等。否则,我们有限的模拟只是模拟了我们感兴趣的那些观察点。

在大型项目中的某些时间点,为了提取出能加快功能交付的理念,设计往往需要做大型的重构。在我们上一个项目中,我们发掘出了如下理念:

  • AutoMapper
  • 将表单作为单独的命令消息处理
  • Input builders

有了以上这些,单元测试是重构时的保障。但只有我们依赖这些测试来捕获应用程序中所有有趣的行为时,才能有保障的作用。为了允许有效的大中型重构,我们需要增加额外的测试层级。

皮下测试策略

皮下测试,顾名思义,所有的测试都是在用户界面之下进行的。在 MVC 应用程序中,皮下测试是测试控制器下面的所有内容。对于 Web service,一切测试都在终端下进行。皮下测试的思想是,应用程序的最上层不执行任何实际的业务逻辑,而只是外部接口与底层服务之间的连接。

皮下测试的重要性体现在我们希望在抛开如用户接口和外部服务这类外部连接点的情况下,能够在整个系统运行的同时测试业务逻辑。相对于单元测试关注小模块的设计,皮下测试关注的不涉及设计,而是测试整个系统的基本输入和输出。

要建立有效的皮下测试,我们可以尝试通过常见的逻辑流程建立 uniform pinch points。例如,我们可以建立一个命令消息处理系统,或一个普通的查询界面。在最近的一个处理批处理文件项目上,批处理文件中的每一行都被转换为一条消息。然后,我们创造一条消息,发送给这个系统,然后验证处理该消息的所有异常情况。

由于皮下测试不是基于设计而是基于高级(业务)行为,它们是理想的基于场景的测试策略,如 BDD 或Testcase Class per Fixture模式。如果我们要进行大的重构,我们需要这些高层次的测试,为商业行为建立全面的安全保障。由于皮下测试更关注于端对端的逻辑,所以它也是标志功能点完成的一个重要的目标点。

虽然皮下测试使我们能够安全地执行较大的重构,但它仍无法保证我们可以放心地将系统升级到生产环境。

全系统测试策略

起初,我们把全系统测试称为“UI 测试”,直到我们的项目越来越多地牵涉到集成策略。这时输入到我们系统中的不再是浏览器,取而代之的是消息,来自 REST 端点、FTP 或批处理文件。UI 测试只是全系统测试的一个子集。全系统测试背后的思想是,我们想按照软件在生产环境中的使用方式来测试它们。对于一个 MVC 应用程序来说,就是基于浏览器的测试。对于批处理文件来说,我们会使用实际的文件。对于 REST 使用实际的 HTTP 请求。对于消息则使用实际的队列和消息。

如果我们想知道,应用程序在部署到生产环境之前是否能按照预期工作,一个有效而且高效的方法是,创建一个自动化测试来测试整个系统。如果我可以让 UI 测试登录到应用程序中、创建一个订单,然后我可以验证是否产生了一个订单请求,那么我会感觉很良好。

关于全系统测试的一个常见误区是认为它就是黑盒测试。然而,全系统测试的特点在于,你必须对系统内部发生的事情了如指掌。实际上,全系统测试甚至还可以利用域模型来生成数据,而不是一个纯粹为测试目的而构建的系统后门。很多团队容易掉进去的一个大坑是,不按照与生产环境一样的代码路径来测试,这将导致系统处于古怪的、无效的、很难处理的状态。

在我们的项目中,全系统测试代码是我们在声称一个功能 / 故事做完之前的所写的最后代码。对于描述一个功能的“已完成”特性来说,手工测试的成本太高、而且不可靠。但是,如果我能像在生产环境一样去测试,通过完全一样的外部界面来完成,那这样的手工测试也算是成功的。

全盘考虑

在一个未经测试过的应用程序中,作为提高覆盖率的手段,我们发现实际上最有价值的测试策略是从全系统测试开始,然后往下移,直至单元测试。我们先做最宽松、最简单的断言,然后慢慢往下移,直至单元级别的逻辑。在全新开发的应用程序中,我们倾向于不只是特别关注某一个区域,因为对于一个需要长期维护的系统来说,所有的测试都很重要。

这种测试策略确实需要一定的投资。我们发现,当我们知道这个应用程序对客户的业务有决定性作用的时候,这样的全盘考虑在特别有效。如果一个应用程序对业务有决定性作用,那它将不得不面临变更。当变更来临的时候,我们最好能安全地实施变更而不影响客户的业务。

结语:

最后跟大家推荐一个学习资料分享群:175317069,里面大牛已经为我们整理好了许多的学习资料,有自动化,接口,性能等等的学习资料!

人生是一个逆水行舟的过程,不进则退,咱们一起加油吧!

 

直流无刷BLDC六步换相“电流环”、“速度环”的关系 4、在电流闭环模式下,电机的电流严格按给定电流运行,负载大小变化时,电流不变,电机速度跟随负载非正常变化,例如速度严重“超速”时,需要“限速”保护,这个任务是“速度环”的,这时“速度环”会根据设定的速度上限,控制触发器,将电机速度迅速将下来,电流降下来,在“限速”保护期间,“电流环”失去对触发器的控制作用;3、在电流闭环模式下,电机的电流严格按给定电流运行,负载大小变化时,电流不变,电机速度跟随负载正常变化,“速度环”对速度大小的控制作用是没有的;6、很多人想当然,“电流环”不工作,电机“电流”哪里来的? 阅读详情

相关推荐

PRD撰写效率翻倍秘籍:我是如何用大模型+飞书文档搭建自动化工作流的

本文分享了如何利用大模型与飞书文档构建自动化工作流,以大幅提升PRD撰写效率。通过结构化需求输入、设计模块化提示词模板,并借助自动化脚本桥接数据与文档,产品经理可将繁琐的文档撰写工作自动化,从而将精力聚焦于产品战略与用户洞察。

weixin_28520495的博客 406

如何制定成功的测试策略

如何制定成功的测试策略 如何制定成功的测试策略或测试自动化策略,编写测试策略文档和模板,并提高流程的性能。 开发电子产品的测试策略/过程或测试策略与产品本身的开发同样重要。生活中不幸的是,并非所有产品在生产后都能正常工作,并且必须在产品出厂前对其进行测试,以确保产品正常运行。 需要围绕产品和可用设备开发测试策略或测试过程。在创建测试策略时,有必要考虑产品的许多其他方面,包括其设计,电路板的复...

ICTtester的博客 1083

电赛经验分享——赛前准备

⏩ 大家好哇!我是小光,想要成为系统架构师的嵌入式爱好者。⏩在之前的电赛中取得了省一的成绩,本文对电赛比赛前需要准备什么做一个经验分享。加入小光嵌入式交流群(qq群号:737327353)免费获取博主所有资料哦!

qq_52608074的博客 7780

怎么写测试策略

1)在测试策略中要包括产品的背景信息。在测试策略文档的第一段回答- stakeholder(项目利益相关者)为什么要开发这个产品?回答这个问题会帮助你更好更快地理解项目,并为所做的事情优先级排序。 2)测试环境,它应该包括你在那个操作系统平台上做测试,系统是基于那些补丁和安全更新。例如,一个测试环境可能必须包含Window XP SP2 3)列出你将要测试的所有重要特征。如果你认为有些特征不...

weixin_33946605的博客 2640

CAN 比特率和采样点计算

架构根据输入频率和比特率自动计算。

ldinvicible的专栏 787

PIV实验流场流速云图(MALAB contour函数用法)

clear;clc; for k=1:5 str1=['filename1']; str2=['filename2']; str3=['filename3']; str=eval(['str',num2str(k)]); load(str); [m n]=size(y); y=flipud(y); v=-v; x=x-x(1,...

Nick_Cui的博客 3224

系统测试的策略

依据软件需求规格说明,全面验证软件是否满足需求规定是否能够安全,可靠的运行。 特点: 1.系统测试的环境是软件真实运行环境的最逼真的模拟 2.系统测试的对象是整个软件系统 确认测试一般包括有效性测试和软件配置复查 系统测试的策略: 是各类测试中最全面深入的一种,系统测试阶段要完成软件的各个方面的测试内容。 功能测试 对软件需求规格说明中的功能需求逐项进行测试,以验证其功能是否满足要

个人博客 1万+

用Unity Wheel Collider做坦克转向?3步实现履带式载具物理效果

本文详细解析了如何利用Unity的Wheel Collider组件实现履带式载具的差速转向物理效果。通过思维转换、场景搭建和核心代码实现三步,将Wheel Collider从模拟轮式车辆转向改造为控制履带扭矩差的系统,并深入探讨了参数调试与真实感提升的方法,帮助开发者打造物理反馈扎实的坦克或特种车辆模拟。

weixin_29009971的博客 224

系统测试的策略:15个

针对不同的软件,系统测试的策略各不相同,例如:金融方面的软件安全性放在首位。 1.功能测试:(最基础的) 检测软件对象是否存在一下错误: 1.是否有不正确,遗漏,或者多余的功能 2.是否满足了用户需求和隐藏需求 3.对输入有无正确的响应,输出做出正确的显示 4.对系统的流程设计是否正确合理 5.所...

闫振兴的博客 1万+

华为OD机试真题 新系统【小学英语老师批改作文】

华为OD机试 新系统真题【小学英语老师批改作文】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题【小学英语老师批改作文】

qq_45776114的博客 924

2篇1章1节:数据的基本概念以及 R 中的数据结构、向量与矩阵的创建及运算

本文详细介绍了R语言中常见的数据结构的向量和矩阵。通过掌握这些数据结构的基本概念和操作技巧,可以更高效地处理和分析数据。

MD Code 1245

制定可靠的测试策略的六种方法

测试阶段是软件开发生命周期中的一个关键步骤。不同规模的公司,从大型企业到初创团队,都会在这一阶段投入大量精力。他们希望功能符合客户的期望,这样就会有更多人愿意使用他们的产品。像开发过程中的其他阶段一样,一个可靠的测试策略可以方便我们制定完备的测试计划以及指导我们完成测试。

伤心的辣条 1353

还在纠结二层交换机和三层交换机的区别?这篇文章帮你讲明白!

你好,这里是网络技术联盟站,我是瑞哥。公众号后台有小伙伴想要写一篇文章具体介绍一下二层交换机和三层交换机,此类的文章,之前写过几篇,今天瑞哥再写一篇,希望对大家有所帮助!

网络技术联盟站 4442

制定测试策略需要考虑的问题

制定测试策略需要考虑的问题 Step 1:范围 谁会Review这份文档? 谁来审批这份文档? 测试实施活动的时间计划 Step 2:测试方法 目前的测试流程是什么?(使用可视化的测试流程图来说明) 包含哪些测试级别? 各个测试级别的关系是什么? 各个测试级别如何集成? 有哪些测试类型?(例如:功能性测试、安全性测试、性能测试等) 测试方法和是否实施自动化测试? 如何实施回归...

梅森上校的博客 业精于勤荒于嬉,形成于思毁于随。 1391

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

如何制定一份有效的软件测试计划

大家做项目或产品过程中,遇到最多的,也觉得最有风险的就是测试计划。关于如何做测试计划,每个人都有自己的经验,这里不发表个人观点,而是翻译国外某位大师的对于制定测试计划的一些思想,希望对大家将来制定测试计划有用。而且关于测试计划的大部分问题我想都可以在这里找到答案,本人英文水平有限,翻译有不妥之处,请指正。作者为James Bach     制定计划   1. 分析产品   分析什么

楠人的博客-随风而过 1898

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

如何创建测试计划?这些要考虑到

测试计划测试目标取决于软件的目的,如验证软件是否满足用户需求,识别软件缺陷,或评估软件的完整性。测试目标将决定需要进行的测试类型以及如何分析和报告测试结果。创建一个测试计划的下一步是定义测试标准。测试标准评估一个测试是通过还是失败,并与测试目标密切相关。测试标准将取决于测试的类型,它们应该被明确定义以避免混淆。例如,检查数据准确性的测试可能使用一定的准确性百分比作为测试标准。然而,重要的是要考虑到由于环境变化而可能出现的任何变化。比如,如果数据源与开发不同,在测试过程中可能无法达到相同的准确度水平。

2401_83396248的博客 773

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Facebook 运营:如何制定内容策略

因为 Facebook对新媒体账户和旧账户有不同的预算要求,因此这一部分是关于创建一个完整的 Facebook广告计划和执行预算,而不是开始使用任何新账户来创建一个新的广告。例如,如果你是一家企业,想要推广新产品或服务,并且不知道它在什么时候适合使用该主题,那么就应该创建关于该主题的营销内容。一旦你的内容框架被构建起来,你就可以使用 Facebook广告系列来创建可点击和购买的广告,以及相应的其他营销传播。在接下来的步骤中,你将使用不同类型和主题的模板,以使你能够更轻松地将内容传播到各种不同的受众。

AdsMagics的博客 531

如何制定成功的测试计划

  “工欲善其事,必先利其器”。专业的测试必须以一个好的测试计划作为基础。尽管测试的每一个步骤都是独立的,但是必定要有一个起到框架结构作用的测试计划。测试的计划应该作为测试的起始步骤和重要环节。一个测试计划应包括:产品基本情况调研、测试需求说明、测试策略和记录、测试资源配置、计划表、问题跟踪报告、测试计划的评审、结果等等。   产品基本情况调研:   这部分应包括产品的一些基本情况介绍,例如:...

bitzsoft的专栏 187

如何设计测试策略

如何设计测试策略

qq_42536934的博客 291

一个成功软件测试项目的经验

        本文以一个工作流测试项目为例, 总结了在测试过程中积累的经验,探讨了目前国内软件开发企业在软件测试过程中遇到的问题以及解决的方法。测试项目背景和实施情况工作流在某公司软件产品线中占有重要地位,XXX5.2       Workflow项目是5系列中的一个小版本,主要增加了任务代办、任务代理、以及任务交接等功能,同时还修复了一些易用性和功能性的Bug。下面,我们大概介绍一下这个项

feiyingliao的专栏 1144

软件测试流程管理

同时,要根据项目的实际情况和变化,及时调整测试计划和策略,以确保测试工作的顺利进行和软件质量的保障。4. 制定详细的测试计划,包括测试阶段的划分、每个阶段的测试目标、测试资源需求(人力、时间、设备等)、测试进度安排等。1. 测试人员发现缺陷后,及时在缺陷管理工具中详细记录缺陷的信息,包括缺陷的描述、重现步骤、严重程度、优先级等。1. 项目启动后,测试负责人与项目经理、开发团队等进行沟通,了解项目的背景、目标、范围和需求。1. 总结测试过程中的情况,包括测试的执行情况、发现的缺陷情况、测试的覆盖度等。

qq_20033739的博客 636

软件测试计划的编写

软件项目的测试计划是描述测试目的、范围、方法和软件测试的重点等的文档。对于验证软件产品的可接受程度编写测试计划文档是一种有用的方式。详细地测试计划可以帮助测试项目组之外的人了解为什么和怎样验证产品。它非常有用但是测试项目组之外的人却很少去读它。依据特定的项目,在一个测试计划中可能包括下面项目: 1、标题 2、软件标识,包括版本/发布版本号 3、目录; 4、文档的目的和阅读人群; 5...

imood的专栏 209

如何制定语境驱动的测试计划

本指南旨在帮助读者制定测试计划。请注意,真正的测试计划是实际指导自己实施测试的一套想法。不管读者是否制定书面测试计划,我们设计的这个指南都会有所帮助。 本指南并不是一种模板,不是供读者填写的表格,而是一组旨在帮助读者思考的思想,用于降低读者遗忘重要内容的可能性。我们使用的是简洁语言和描述,有可能不太适合测试新手。本指南主要向有经验的测试员或测试组长提供支持。 以下分七个任务主题。这些主题没有一...

weixin_30414635的博客 59

测试计划参考

测试计划参考:https://mp.weixin.qq.com/s/f6_kr4jItbqRKnjvfWsl1g

weixin_43686244的博客 221

软件测试过程模型

针对每个测试级别,将适当的执行如下活动:          一、创建测试策略:输入:·    要求硬件和软件组件的详细说明,包括测试工具(测试环境,测试工具数据)。·    针对测试和进度约束(人员,进度表)所需资源的角色和职责说明·    测试方法(标准)·    应用程序的功能性和技术性需求(需求,变更请求,技术性和功能性设计文档)·    系统无法提供的需求(

思索的蜗牛的专栏 489

软件测试管理--第一章 1.2节

1.2    软件测试基本流程 大多数的软件测试会按照如下的流程进行(如图所示): 第一步:对要执行测试的产品/项目进行分析,确定测试策略,制定测试计划。该计划被审核批准后转向第二步。测试工作启动前一定要确定正确的测试策略和指导方针,这些是后期开展工作的基础。只有将本次的测试目标和要求分析清楚,才能决定测试资源的投入。 第二步:设计测试用例。设计测试用例要根据测试需求和测试策

maranran_dream的博客 313
上一篇: 如何去学习,一份认证,一本书,还是一堂课?
下一篇: 自动化单元工具EvoSuie的代码覆盖报告
TestingGDR
博客等级 码龄8年 496粉丝 72原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值