摘要:质量是产品的生死线。

本文分享自华为云社区《揭开华为云CodeArts TestPlan启发式测试设计神秘面纱!》,作者:华为云PaaS服务小智 。

2019年12月20日,是美国波音公司新一代载人飞船Starliner“星际客机”,执行第一次飞行测试任务的重要日。按计划飞船在本次无人试飞中将与国际空间站对接,为宇航员送上圣诞礼物。然而飞船出现了故障,最终无法与国际空间站对接,不得不提前返回地面。

是谁动了美国波音公司的“奶酪”?

波音公司事后承认,载人飞船“星际客机”软件系统的程序存在严重缺陷,在测试阶段只是将飞行过程分成几个小单元进行测试,并没有对飞船进行从发射、国际空间站对接到着陆的全流程集成测试。由于测试不全面导致问题暴露到现网环境,此事件给波音公司带来高达几千万美金的经济损失。

什么是产品的生死线?

质量是产品的生死线,测试完备性是守护质量的基础。

从案例中可以发现,缺陷越早发现,修复的成本越低。因为在验证阶段每个缺陷的平均修复成本约1万元,而产品发布后每个缺陷的平均修复成本大于6万元。可见,测试的完备性不仅影响着企业产品缺陷修复成本的投入值,还直接影响客户满意度、企业口碑。因此,如何提升测试的完备性,做到提前拦截产品缺陷,减少缺陷流出,是企业要考虑的TOP问题。

华为产品质量的守护神

华为云CodeArts TestPlan测试设计是华为产品质量的守护神。华为云CodeArts TestPlan提供多维度测试设计模板、“需求-场景-测试点-测试用例” 四层测试分解设计能力,启发测试人员发散性思维,对项目环境、测试对象、质量标准、测试技术充分发掘,充分交互,测试覆盖清晰可视。

同时华为云CodeArts TestPlan的测试设计,在华为公司内部已经广泛使用,覆盖10+产品线,约60w脑图,支撑4万多华为测试人员作业。

模拟体验测试设计

下面将为大家揭秘华为云CodeArts TestPlan测试设计服务(文末有福利)!我们一起模拟设计一个简单的需求“用户商城注册”,体验测试设计的流程。

Step 1

访问华为云CodeArts TestPlan,进入到测试设计后,如下图,选择“模板新建”。

访问链接:https://devcloud.cn-north-4.huaweicloud.com/cloudtestportal/home/v1

目前我们提供7个测试设计模板,涵盖多种测试设计流程,包括对于大型需求的“E2E场景测试设计模板”、对于小型需求的“集成测试设计模板”、对于单接口的“接口测试设计模板”、以及DFX相关的性能、安全、可靠性等测试模板。所有模板还都处于限时免费试用阶段,欢迎大家前来体验!

Step 2

本次我们选择“E2E场景测试设计模板”。快速创建一张测试思维导图,并在“背景”节点下填写需求背景,深入了解需求背景。

然后借助思维导图进行发散,在“测试分析”节点下分析出涉及此需求的测试因子(因子是测试设计中的考虑因素,也是对测试结果需要验证的影响因素)。

Step 3

然后根据分析的测试因子,通过覆盖方法,例如:AC(All Combinations),EC(Each Choice),BC(Basic Choice),N-wise等方法进行因子组合。

通过下图红框中的标签,设置“测试覆盖”节点中总结的多个场景,以及多个测试点(测试点的名字就是以后自动生成用例的名字),包括测试点的子节点的预置条件,步骤和预期结果。整个脑图设计的过程就结束了,下面是最重要的环节“生成/评审/归档用例”!

Step 4

右键点击场景或者测试点,选择“生成用例”,思维导图中打过标签的预置条件、步骤和预期结果自动生成在测试用例中。

生成用例后,再将这些测试点进行逐个评审。

Step 5

评审后,就可以归档用例,右键后,点击“归档用例”,这样您的设计成果就自动生成到测试用例的列表中。

思维导图里已归档的用例会生成一个链接,该链接会跳转至测试用例界面,方便后续测试活动的开展。

好了,您已成功体验完整个华为云测试设计的流程,相信一定有收获。福利揭晓!目前华为云提供免费账户供新用户使用,每天限量100个名额,快来体验!点击链接,即可体验!

点击关注,第一时间了解华为云新鲜技术~

揭开华为云CodeArts TestPlan启发式测试设计神秘面纱!的更多相关文章

  1. 揭开周获 18k star 开源项目的神秘面纱「GitHub 热点速览 v.22.28」

    本周 GitHub Trending 的项目重量十足,比如标题的一周获得 18k+ 的高性能 JS Runtime--bun,用性能来体现了它的"含金量".同样有重量的还有一行代码 ...

  2. 揭开Java IO流中的flush()的神秘面纱

    大家在使用Java IO流中OutputStream.PrintWriter --时,会经常用到它的flush()方法. 与在网络硬件中缓存一样,流还可以在软件中得到缓存,即直接在Java代码中缓存. ...

  3. 用大白话揭开Ajax长轮询(long polling)的神秘面纱

    在看这篇Ajax长轮询之前可以先看看Ajax轮询技术(没有长),有助于理解: Ajax长轮询属于Ajax轮询的升级版,在客户端和服务端都进行了一些改造,使得消耗更低,速度更快. "不间断的通 ...

  4. CC2530_ZigBee+华为云IOT:设计一套属于自己的冷链采集系统

    摘要:以CC2530单片机为核心器件,设计一个冷链环境信息采集系统,利用传感器技术对冷藏仓内的环境参数进行采集,上传到华为云物联网云平台,然后通过手机端或移动端进行显示,便于分析,观察冷链环境信息. ...

  5. #PHP# 华为云 API 方式发送短信

    使用给华为云 消息 服务 API 方式发送短信 代码来自华为云,已通过测试 <?php /** * 华为云发送短信示例代码 * 本段代码需要使用自己的配置信息才能正常运行,出配置信息外,不需要改 ...

  6. 华为云PaaS首席科学家:Cloud Native +AI,企业数字化转型的最佳拍档

    近日,在2019华为全球分析师大会期间,华为云PaaS首席科学家熊英博士在+智能,见未来(华为云&大数据)的分论坛上,从云计算行业发展谈起,深入云原生发展趋势,对华为云智能应用平台做了深度解读 ...

  7. 华为云发布桌面IDE-CodeArts

    摘要:华为伙伴暨开发者大会2022,发布华为云桌面IDE-CodeArts. 本文分享自华为云社区<华为云发布桌面IDE-CodeArts,让连接更简单.编码更智能>,作者: Huawei ...

  8. 10w+QPS 的 Redis 真的只是因为单线程和内存?360&#176; 深入底层设计为你揭开 Redis 神秘面纱!

    原文链接:10w+QPS 的 Redis 真的只是因为单线程和内存?360° 深入底层设计为你揭开 Redis 神秘面纱! 你以为 Redis 这么快仅仅因为单线程和基于内存? 那么你想得太少了,我个 ...

  9. 基于STM32+华为云IOT设计智能称重系统

    摘要:选择部署多个重量传感器和必要的算法.通过WiFi 通信模块.GPS定位模块,采集车辆称重数据一地理位置信息,并通过网络发送至云平台,设计图形化UI界面展示称重.地图位置等重要信息,实现对称重系统 ...

  10. 一图看懂华为云DevCloud如何应对敏捷开发的测试挑战

    作为敏捷开发中测试团队的一员,在微服务测试过程中,你是不是也遇到同样困惑:服务不具备独立验证能力.自动化用例开发效率很低等? 华为云DevCloud API全场景测试技术来支招~围绕API的全场景,打 ...

随机推荐

  1. 分享个好东西两行前端代码搞定bilibili链接转视频!

    只需要在您的要解析B站视频的页面的</body>前面加上下面两行代码即可,脚本会在客户端浏览器里解析container所匹配到的容器里的B站超链接 (如果不是外围有a标签的超链接只是纯粹的 ...

  2. Silky微服务框架之服务引擎

    构建服务引擎 在注册Silky微服务应用一节中,我们了解到在ConfigureServices阶段,通过IServiceCollection的扩展方法AddSilkyServices<T> ...

  3. win10+ubuntu双系统的坑

    1.把U盘里\EFI\BOOT\grubx64.efi文件重命名为mmx64.efi,避免系统提示缺少文件而退出安装: 2.如果电脑显卡为N卡,则在install Ubuntu时,按e进入编辑,在qu ...

  4. .Net Core - 使用事务IDbtransaction操作DBData

    New一个流程 获取数据库连接字符串,实例化SqlConnection 打来数据库连接 Begin当前连接的事务(IDbTransaction) 操作数据库(操作数据库的时候一定要使用当前连接和事务修 ...

  5. 「MySQL高级篇」MySQL锁机制 && 事务

    大家好,我是melo,一名大三后台练习生,最近赶在春招前整理整理发过的博客~! 引言 锁锁锁,到哪到离不开这桩琐事,并发琐事,redis琐事,如今是MySQL琐事,这其中琐事,还跟MySQL另一个重要 ...

  6. 基于SqlSugar的开发框架循序渐进介绍(21)-- 在工作流列表页面中增加一些转义信息的输出,在后端进行内容转换

    有时候,为了给前端页面输出内容,有时候我们需要准备和数据库不一样的实体信息,因为数据库可能记录的是一些引用的ID或者特殊字符,那么我们为了避免前端单独的进行转义处理,我们可以在后端进行统一的格式化后再 ...

  7. java学习之SpringMVC拦截器开发

    0x00前言 springmvc的拦截器类似于Selvet的Filter,但是所属的操作又不一样 Spring MVC 提供了 Interceptor 拦截器机制,用于请求的预处理和后处理,也就是增强 ...

  8. 修改egg.js项目的默认favicon图标

    在项目根目录下的config/config.default.js文件中配置 将 .ico的图标放在一个目录中 方法一.读取本地文件 const path = require('path'); cons ...

  9. Linux C++目标中添加git版本信息

    项目代码根目录下添加一个cmake文件git_version.cmake,内容如下: # get git hash macro(get_git_hash _git_hash) set(ENV{GIT_ ...

  10. 这么简单,还不会使用java8 stream流的map()方法吗?

    一.前言 在日常的开发工作中经常碰到要处理list中数据的问题,比如从数据库中查出了很多学生,由于一些原因需要在内存中找出这些学生中的所有姓名,或者把名为"王五"的语文成绩暂时修改 ...