测试用例的那一回事

测试用例小锦囊——基于思维导图的测试用例生成和维护 支持用例生成的规则引擎提供可配置化,包含生成用例规则、合并用例树规则、用例更新维护规则策略等,实现不同需求的规则设置,更通用灵活。 阅读详情

测试用例的那一回事

本文作者:imweb coverguo 原文出处:imweb社区 未经同意,禁止转载

前言

最近,团队对测试用例十分的注重,因此,下面是我对测试用例的一些解析。

首先,我们需要知道:为什么需要测试用例?

理由很简单,就是为了在测试用例的辅助下,编写出高质量,可维护代码。


问题

正如因为地震的爆发,才会有地震仪的诞生。 测试用例的诞生,也必然有其需要解决的问题:

当我们在开发,我们往往会有以下的问题:

需求和开发脱节

当一份需求来了, 开发人员往往不能百分百的理解需求的内容(抛弃产品自己变更需求的可能性。。),这往往会让开发人员开发出的功能会有跟需求有所差别,这会带来额外的工作量

开发和测试脱节

什么是开发和测试脱节,说的是,当开发人员按照自己的想法开发完了一个需求。然后测试人员也按照自己的想法去测试这个需求,然后由于双方的分歧,导致测试认为开发有bug,开发认为测试是sb.

那么如何解决上面的问题呢?

答案就是 选择一种软件敏捷开发模式


敏捷开发模式

目前比较流行的开发模式有两种: TDD 和 BDD

TDD (Test Driven Development 测试驱动开发)
  • 测试来驱动开发
  • 其重点偏向开发
  • 测试用例是在约束开发者,使开发者的目标明确,设计出满足需求的系统
BDD (Behaviour Driven Development 行为驱动开发)
  • 基于TDD发展,保持测试先行的理念
  • 其重点偏向设计
  • 在测试代码中用一种自然通用语言的方式把系统的行为描述出来
  • 将系统的设计和测试用例结合起来,进而驱动开发工作

两种方式各有其特点,我们通常选择的是BDD的方式


测试工具

为了,方便我们编写测试用例,我们需要使用一些可靠工具,以下是我认为比较好的前端测试用例工具。

Mocha 摩卡

Mocha(发音"摩卡")诞生于2011年,是现在最流行的JavaScript测试框架之一,在浏览器和Node环境都可以使用。 通过Mocha, 我们可以安装基于mocha的规范,轻松的编写测试用例和管理测试用例。

Mocha测试脚本如何编写

对于mocha, 一个测试用例必定包含 describe和 it,来实现一个测试用例的具体模版 describe块 称为"测试套件"(test suite),表示一组相关的测试。 it块 称为"测试用例"(test case),表示一个单独的测试,是测试的最小单位

以上的是同步情况的测试用例

若我们需要测试异步代码时,只需要在每个it的回调中,增加done的参数,具体如下 

Should JS 苏德 断言库

所有的测试用例(it块)都应该含有断言。 断言功能由断言库来实现,Mocha本身不带断言库,所以必须先引入断言库。 因此,我们在上面的测试用例添加断言:如下 

Nock 诺克 HTTP响应mock工具

有时,我们可能需要模拟HTTP请求的响应数据 是否有工具可以简化呢?那就是Nock啦, Nock使用起来十分方便,API都十分简单名利


 var should = require('should');
 var nock = require('nock');
 var teacheModel = require('teacherModel');
 //定义模拟的http请求的响应结果
 var cgiData = {
        retcode:0,
        result: {
           num: 10,
        }
    };
    //测试方法updateTeacherData
    describe('测试Module.updateTeacherData()', function() {  
        it('请求接口,能够正确处理数据', function() {
          //这里定义,get请求XXX.qq.com域名下的/cgi-bin/teacher/get_about的数据能返回200
          //并且返回结果是cgiData
            nock('http://xxx.qq.com')
                .get('/cgi-bin/teacher/get_about')
                .reply(200, cgiData);

            testModule.getData({}, req, function(data){
                data.retcode.should.equal(0, 'teacher数据拿到, 不能正确处理');
            })
        });

    });

通过nock,直接模拟请求结果,这样我们就可以不考虑cgi的状态,而专注于model的逻辑测试

Istanbul 伊斯坦布尔 代码覆盖率检验工具

测试用例写好了, 怎么验证是否写得好? Istanbul是可以给出测试用例的代码覆盖率检验的工具

如下面我们使用istanbul,可以看到我们的util.test.js的覆盖率情况 

然后,如果想知道具体覆盖率情况,可以通过打开生成的报文去查看,如下面可以知道,哪些部分测试用例没有覆盖到 

mochawesome

万事俱备?NO NO NO! 我们还需要更好的视觉体验 通过使用mochawesome工具,在当命令行运行 mocha 是增加 “ --reporter mochawesome ”参数,将测试用例运行情况转成更为直观的测试报文,如下:

补充

懂得如何编写测试用例,但仍需要有一套比较明确的编写规范和,编写教程,才能让项目的测试用例生生不息,持之以恒带来功效、

测试用例是什么?怎么写?最好实用的测试用例 测试用例就是把软件测试行为做一个科学化的组织和归纳,用来指导测试行为。一般需求入基线后,测试人员开始介入项目,对需求进行分析,并根据自己对需求的理解设计出详细的测试用例。这样在测试执行时,按照设计好的过程去执行,避免由于人为的原因使测试不全面。在设计测试用例的过程中,测试人员也可以根据自己的理解,对需求提出不同的看法,或者发现需求中某些功能描述得不够详细或者有歧义,提早发现问题,降低项目风险。 阅读详情

相关推荐

IM-测试用例

IM排队,转诊测试用例IM排队,

微信公众号开发简要

微信公众号 参考微信公众号开发文档 使用内网穿透工具创建测试号,提交信息后,微信服务器将发送GET请求到填写的服务器地址URL上,将参数字典排序再SHA1加密后,与传来的签名对比即可验证是否来自于微信官方。注意:公众号接口必须满足:http+80或https+443。用户关注,扫码,发消息等都是通过对以上URL发送POST请求进行的,开发者通过返回值可以回复内容,为XML格式 准备工作 创建一个HttpUtils类,用来发送不同的请求并返回JSONObject类型。 创建一个官方接口类,把每个需要用到的接口

gorphan的博客 464

Docker离线部署OpenWebUI操作步骤

docker离线部署openwebui

m0_49333265的博客 4351

C#解析JSON字符串总结

JSON文件读取到内存中就是字符串,.NET操作JSON就是生成与解析JSON字符串。 操作JSON通常有以下几种方式: 1. 原始方式:按照JSON字符串自己来解析。   2. 通用方式【★★★★★】:这种方式是使用开源的类库Newtonsoft.Json(下载地址http://json.codeplex.com/)。下载后添加dll引用就能用。 首先添加引用:using Newtonsoft....

weixin_34280237的博客 719

【Unity3D】RTS Engine 笔记一

RTS Engine 中配置一个新场景, 初步认识GameManager、设置地形以及配置地形网格搜索

ViYeye的博客 1650

ptrade从零开始学量化第1期【ptrade如何新建策略、新建回测、新建交易】什么是ptrade量化交易?

回测之前需要对开始时间、结束时间、回测资金、回测基准、回测频率几个要素进行设定,设定完毕后点击保存。然后再点击回测按键,系统就会开始运行回测,回测的评价指标、收益曲线、日志都会在界面中展现。可以选择不同的业务类型(比如股票),然后给策略设定一个名称,添加成功后可以在默认策略模板基础上进行策略编写。交易界面点击新增按键进行新增交易操作,策略方案中的对象为所有策略列表中的策略,给本次交易设定名称并点击确定后系统就开始运行交易了。交易开始运行后,可以点击交易详情,查看策略评价指标、交易明细、持仓明细、交易日志。

GJ57017_wx的博客 2483

软件测试第一阶段:web前端技术基础-9- 测试用例设计方法

一丶测试用例 测试用例: 将要进行的测试工作具体化,并且记录到一个文件中,一般情况下是一个excel(表格 在测试用例中,明确的指定了每一步要做什么操作 期望得到什么结果 测试工作 等程序员完成代码,此时可以进行前期准备工作 也就是编写测试用例,将需要测试的每一项都填到表格中 当程序员完成了代码,此时就可以进行测试工作,也就是根据测试用例(表格中的内容)一项一项的进行测试 测试用例的基本构成 第一部分:测试用例编号 编号必须唯一 编号的构成可以写成:项目名-模块名-编号 例如...

weixin_67254534的博客 3163

第十篇|网络子系统 ②——无损以太网、PFC/ECN、DCQCN 与拥塞可视化

网络部分了解了解

qq_37535542的博客 1874

前端业务代码,怎么写测试用例?

程度越靠后,测试的成本越高,所以我们可以花多些精力在测试组件和 reducer 上,少花时间在 DOM 测试和 e2e 测试上。组件 UI 可能会因为业务变动而频繁的更改,而 Redux 中的数据逻辑不会经常更改,所以在没有任何像上面那种组件 UI 的快照测试时,可以优先测试 Redux,后期补上组件的快照测试。关于不同测试的种类,网上有很多资料,比如单元、集成、冒烟测试,又比如 TDD BDD 等等,写测试的好处也不用多说,但是就前端来说,写测试用例,特别是针对业务代码测试用例写还是不太常见的事情。

chengxuyuznguoke的博客 737

从像素到光影:解析《黑神话:悟空》中Nanite与Lumen的协同渲染革命

本文深度解析了《黑神话:悟空》如何利用Unreal Engine 5的Nanite与Lumen技术实现渲染革命。Nanite处理亿级多边形几何细节,无需传统LOD优化;Lumen提供全动态全局光照,实现实时光线反弹。两者协同工作,为游戏带来电影级视觉体验,重塑了实时渲染的技术标准与工作流程。

f6g7h8i9j的博客 425

利用GPAC生成MP4文件

GPAC主要针对学生和内容创作者,代表了一个跨平台的多媒体框架,开发人员可以使用它在 LGPL 许可下制作开源媒体。GPAC多媒体框架兼容范围广泛的流行文件类型,从常见格式(如 AVI、MPEG 和 MOV)到复杂格式(如 MPEG-4 系统或 VRML/X3D)和 360 电影。

深之JohnChen的专栏 1771

常用测试用例

为方便平时写测试用例,整理如下: 功能 条件 测试步骤 测试数据 预期结果 备注 搜索或查询 单独遍历各查询条件,测试按各查询条件是否都能够查询出相应的值. 查询出符合条件的记录 ...

aixinghen6931的博客 1137

这才是 Python 的正确玩法!用强化学习 (RL) 训练 AI 玩《王者荣耀》,胜率 90%!

大家打排位时,一定遇到过那种“意识神级、操作零失误”的对手,或者“走位呆滞、送人头”的队友。以前的“人机”是程序员写死的脚本(If 血量<20% Then 回城)。而现在的顶级 AI(如腾讯绝悟、OpenAI Five),是靠强化学习 (Reinforcement Learning)自己“左右互搏”练出来的。今天,我们不谈枯燥的数学公式,我将手把手教你用,搭建一个能玩 MOBA 游戏的 AI Agent。即使不能去 KPL 打职业,虐一下钻石局还是绰绰有余的!

BUG猿的博客 1182

Deepseek生成测试用例,分分钟的事啊!

VOL 656112025-03今天距2026年296天可可的测试小栈第656次推文点击上方蓝字“可可的测试小栈“关注我,每周一、三、五早上09:00准时推送,每月不定期赠送技术书籍。微信公众号后台回复“资源”、“测试工具包”领取测试资源,回复“微信交流群”、“内推群”一起进群打怪。本文2997字,阅读约需8分钟Hi,你好呀,我是可可。在软件开发过程中,测试用例的设计和编写是确保软件质量的关键。...

weixin_42485712的博客 1927

C# & SQL Server 实时数据同步:7步轻松搞定,代码详解

实时数据同步是指在一个数据库中的数据发生变化时,能够立即或近乎立即地将这些变化同步到另一个数据库中。这种同步可以是单向的(从源数据库同步到目标数据库),也可以是双向的(两个数据库互相同步)。通过本文的详细讲解和代码示例,相信你已经学会了如何使用C#和SQL Server实现数据库的实时数据同步。实时数据同步不仅可以提升系统的响应速度,还能确保数据的一致性和准确性。希望这篇教程对你有所帮助,期待你在C#编程中取得更大的成就!🌟✨如果你有任何问题或建议,欢迎在评论区留言交流!

java专栏 514

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

编写测试用例及一个例子

一.概念 1.什么是测试用例? 在测试过程中很重要的一类文档,它是测试工作的核心、是一组在测试时输入输出的标准、是软件需求的具体对照。 2.测试用例的作用: 检验软件是否满足客户需求、体现一个测试人员的工作量、展现测试用例的设计思路 3.测试用例所包含的内容: 用例编号、用例名称、测试背景、前置条件、优先级、重要级、测试数据、测试步骤、预期结果、实际结果、备注。 4.测试用例的编写流...

sdr_zd的博客 12万+

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

测试用例八大要素

测试用例八大要素 1.测试用例编号 由字母、字符、数字组合而成的字符串,有唯一性,易识别性。 eg: 1)系统测试:产品编号-ST-系统测试项名-系统测试子项名-编号 2)集成测试:产品编号-IT-集成测试项名-集成测试子项名-编号 3)单元测试:产品编号-UT-单元测试项名-单元测试子项名-编号 这样看到编号就可以知道是做的什么测试,测试的对象是什么,也方便维护。 ...

dianhu9303的博客 1万+

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

测试用例

一、测试用例的定义 1.1、什么是测试用例: 它是每个业务目标,用编制的一组由测试输入,执行条件以及预期结果的案例 1.2、测试用例的好处及作用: 在开始实施测试之前设计好测试用例,可以避免盲目测试并提高测试效率。 测试用例的使用令软件测试的**实施重点突出、目的明确。 在软件版本更新后只需修正少部分的测试用例便可展开测试工作,降低工作强度、缩短项目周期。 检验软件是否满足客户需求、体现一个测试人员的工作量、展现测试用例的设计思路. 1.3、测试用例的4个特性 代表性:能够代表并覆盖各种合

qq_55871137的博客 6万+

测试用例是什么?怎么写?不会测试用例的看过来,三分钟教会你

前言 今天笔者想和大家来聊聊测试用例,这篇文章主要是想要写给测试小伙伴们的,因为我发现还是有很多小伙伴在遇到写测试用例的时候无从下手,我就想和大家简单的聊聊,这篇文章主要是针对功能测试的哟。 ​在这篇文章的后面笔者给大家准备一份惊喜哟 一、什么是测试用例? 测试用例是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。 通俗的讲:就是把我们测试系统的操作步骤按照一定的格式用文字描述出来。 二、写测试用例有什么好处? 1、理清思路,避

qishuzdh的博客 3万+

测试用例要如何写

1、测试点与测试用例 2、测试用例设计流程 3、编写测试用例 4、测试用例评估 5、跟踪测试用例执行情况

主要分享测试的学习资源,帮助快速了解测试行业,帮助想转行、进阶、小白成长为高级测试工程师。 2万+

关于测试用例编写你不得不了解的那些事...

对于一个软件测试人员来说,编写测试用例是不可或缺的一项技能,但怎么写好一个需求的测试用例却不是很容易,特别对于新手来说,更是不容易,我也是从新手一步步走过来的,下面我就把我的经验总结出来供大家参考吧。

程序员二黑 474

关于测试用例

测试用例是向被测试系统发起的一组集合,包括测试环境,测试步骤,测试数据,预期结果!这里有如下几个原因:需求是测试人员进行测试的依据,测试人员分析需求,验证需求的合理性和正确性,无二义性,从需求当中提取出测试项,根据测试项进行进一步的细分,提取出测试点,来编写测试用例,可以有以下方面的考虑:我们可以根据输入(特殊情况下才考虑输出),把输入划分成若干个等价类.....

qq_774952435的博客 1655

测试用例是什么?怎么写?不会测试用例的看过来,

今天笔者想和大家来聊聊测试用例,这篇文章主要是想要写给测试小伙伴们的,因为我发现还是有很多小伙伴在遇到写测试用例的时候无从下手,我就想和大家简单的聊聊,这篇文章主要是针对功能测试的哟。一、什么是测试用例?测试用例是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。通俗的讲:就是把我们测试系统的操作步骤按照一定的格式用文字描述出来。二、写测试用例有什么好处?1、理清思路,避免遗漏。

2301_79535733的博客 1366
上一篇: 打开Promise的正确姿势
下一篇: 浅谈 React、Flux 与 Redux
IMWebteam
博客等级 码龄10年 4粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值