首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么我说写好测试很重要(二)

思想是在拿到一个新的功能时,首先思考该功能如何测试,各种测试用例、各种边界 case;然后完成测试代码的开发;最后编写相应的代码以满足、通过这些测试用例。   TDD 开发过程类似下图: ?   ...先编写该功能的测试用例,实现测试代码。这时候去跑测试,是不通过的,也就是到了红色的状态。   然后编写真正的功能实现代码。这时候去跑测试,测试通过,也就是到了绿色的状态。   ...如果采用 TDD,那么之前新功能给到后,就要考虑测试用例的设计、编写了测试代码,在测试用例的保证下再去实现功能。如果遇到了技术方案的变更,之前的测试用例要改变、测试代码实现要改变。...那么按照 TDD 我们先设计测试用例。假设有个 Person 类,有个对象方法叫做吃饭,吃完饭后会返回一个“好饱啊”的字符串。那测试用例就是: ?   实现测试用例代码。...被测类里面可能是 n 个方法,测试类里面可能是 m 个方法(m >= n),根据我们在第三部分:单元测试编码规范里讲过的 一个测试用例只测试一个分支,方法内部有 if、switch 语句时,需要为每个分支写测试用例

41690

分层测试

什么叫用普通语言来描述测试用例呢,看下具体的案例,我的“引导页”的测试用例: @guidepage Feature: 引导页 1.首次安装应用,判断是否展示引导页; 滑到最后一张,判断是否展示...对常用的操作进行了易用性的封装. 用于开发功能性、系统和验收测试场景。它运行时绑定到GUI组件。它安装了一个测试用例套件作为在Android设备或仿真器上的应用程序,并提供用于执行测试的真实环境。...Frank http://www.testingwithfrank.com/ Frank是iOS平台一款非常受欢迎的app测试框架,它使用Cucumber语言来编写测试用例, Frank包含一个强大的...,是很多其它测试框架的基础,可以在同进程中加载被测组件。...对常用的操作进行了易用性的封装. 用于开发功能性、系统和验收测试场景。它运行时绑定到GUI组件。它安装了一个测试用例套件作为在Android设备或仿真器上的应用程序,并提供用于执行测试的真实环境。

5.8K63
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【腾讯 TMQ 】移动 APP 自动化测试框架对比

    ,是很多其它测试框架的基础,可以在同进程中加载被测组件。...对常用的操作进行了易用性的封装. 用于开发功能性、系统和验收测试场景。它运行时绑定到GUI组件。它安装了一个测试用例套件作为在Android设备或仿真器上的应用程序,并提供用于执行测试的真实环境。...CTS采用XML配置文件的方式将这些测试用例分组成多个测试计划(plan),第三方也可以创建自己的plan。...Frank http://www.testingwithfrank.com/ Frank是iOS平台一款非常受欢迎的app测试框架,它使用Cucumber语言来编写测试用例, Frank包含一个强大的“...用FlipTest进行测试无需向App Store重新提交应用或者大幅更改代码,只需要在app中添加一行代码,节省了不少时间。

    6.6K11

    移动APP自动化测试框架对比

    ,是很多其它测试框架的基础,可以在同进程中加载被测组件。...对常用的操作进行了易用性的封装。用于开发功能性、系统和验收测试场景。它运行时绑定到GUI组件。它安装了一个测试用例套件作为在Android设备或仿真器上的应用程序,并提供用于执行测试的真实环境。...CTS采用XML配置文件的方式将这些测试用例分组成多个测试计划(plan),第三方也可以创建自己的plan。...3、Frank http://www.testingwithfrank.com/ Frank是iOS平台一款非常受欢迎的app测试框架,它使用Cucumber语言来编写测试用例,Frank包含一个强大的...用Flip Test进行测试无需向App Store重新提交应用或者大幅更改代码,只需要在app中添加一行代码,节省了不少时间。

    4.1K20

    移动APP自动化测试框架对比

    ,是很多其它测试框架的基础,可以在同进程中加载被测组件。...对常用的操作进行了易用性的封装. 用于开发功能性、系统和验收测试场景。它运行时绑定到GUI组件。它安装了一个测试用例套件作为在Android设备或仿真器上的应用程序,并提供用于执行测试的真实环境。...CTS采用XML配置文件的方式将这些测试用例分组成多个测试计划(plan),第三方也可以创建自己的plan。...Frank http://www.testingwithfrank.com/ Frank是iOS平台一款非常受欢迎的app测试框架,它使用Cucumber语言来编写测试用例, Frank包含一个强大的...用FlipTest进行测试无需向App Store重新提交应用或者大幅更改代码,只需要在app中添加一行代码,节省了不少时间。

    5.8K101

    iOS 自动化测试框架 Kiwi 的使用介绍及原理分析

    但聪明的开发者们很快就基于XCTest编写了更好的框架,比如许多团队在单测中使用的开源框架:Kiwi。...下面,我们将以完成这几个测试用例为目标,开始我们的探索Kiwi之旅。...其中除了context可以有子结点外,其他节点(it, let等等)都是叶结点(实际上,Kiwi会添加一个虚拟结点作为根,我们的describe只是第一层子节点) it: 每个it结点可以代表一个测试用例...执行测试用例 就在刚刚,Kiwi已经构建出了一个清晰漂亮的Spec Tree,并把所有用例抽象成一个个KWExample,在testInvocations方法中返回了它们对应的Invocation。...还记得前面执行测试用例那一小节提到的 verifiers 自检步骤吗?)才检查。

    1.4K30

    iOS开发——TDD、BDD方法以及Kiwi单元测试框架

    它通过用自然语言书写非程序员可读的测试用例扩展了测试驱动开发方法。...不知道你们开发中的实际情况是如何,在现在大环境赶进度的开发下,一般我是采用BDD的测试方法。 而谈到BDD,我要给大家介绍一个iOS中非常有名并且好用的BDD框架 —— Kiwi。...那么我们如何来写这个测试用例呢....iPhone6的宽高数值,如果用5S的模拟器来运行,将会返回5S的宽高 320 * 568 当我们 com+U 运行这段测试用例时。...通过这样一个简单的例子,我们基本能掌握Kiwi的语法,以及Kiwi的使用。单元测试的门其实很好进,但是如何用心的,动脑子的去写单元测试,则是对我们程序员莫大的考验哦。

    1.6K20

    主流的10款测试用例管理平台哪个好用

    2.TestRail TestRail是一款功能强大的测试管理工具,拥有直观的界面和内置模板,简化了测试用例管理和敏捷测试计划。它非常适合需要实时监控测试进度和定制报告的各类规模的软件测试团队。...7.Kiwi TCMS Kiwi TCMS是一款功能强大的开源测试管理工具,特别适合需要灵活测试管理和集成能力的团队。...如何选择合适的测试用例管理平台? 选择合适的测试用例管理工具时,你应该考虑以下几个因素: 功能完整性:工具是否提供需求管理、测试设计、测试执行、缺陷跟踪和报告等全方位的测试管理功能?...高质量的测试用例管理平台通常提供多层次的安全措施,包括角色基础的访问控制、数据加密、日志审计以及定期的安全更新和补丁。此外,一些平台还允许企业将测试数据存储在本地服务器上,以进一步增强数据安全性。...Q4: 对于中小企业而言,测试用例管理工具的学习曲线如何? 不同的测试用例管理工具针对不同的用户需求设计,一些工具特别注重用户体验和易用性,适合中小企业和初创公司。

    40600

    Kiwi,BDD行为测试框架--iOS攻城狮进阶必备技能

    SPEC_BEGIN(ClassName) 和 SPEC_END 宏,用于标记 KWSpec 类的开始和结束,以及测试用例的分组声明. registerMatchers(aNamespacePrefix...) 注册所有使用指定命名空间前缀的匹配器.除了Kiwi默认的匹配器,这些匹配器也可以在当前规则中使用. describe(aString, aBlock) 开启一个上下文环境,可包含测试用例或嵌套其他的上下文环境...,应该放在这里. afterEach(aBlock) 在所有包含的上下文环境的 itblock执行之后,均各执行一次. it(aString, aBlock) 声明一个测试用例.这里描述了对对象或行为的期望.... specify(aBlock) 声明一个没有描述的测试用例.这个常用于简单的期望. pending(aString, aBlock) 可用于标记尚未完成的功能或用例,仅会使Xcode输出一个黄色警告...未来的某天,你或许需要存根alloc等法官法.这可能不是一个好主意,但是如果你坚持,Kiwi也是支持的.需要提前指出的是,这么做需要深入思考某些细节问题,比如如何管理初始化.

    2.6K80

    史上最全的 iOS 各种测试工具集锦!

    扩展型框架以 JavaScript 扩展库方法提供了很多好用 js 工具,注入式的框架通常会提供一些 Lib 或者是 Framework,要求测试人员在待测应用的代码工程中导入这些内容,框架可以通过他们完成对...4、Frank Frank 是 iOS 开发环境下一款实现自动测试的工具,Xcode 环境下开发完成后,通过 Frank 实现结构化的测试用例,其底层语言为 Ruby,作为一款开源的 iOS 测试工具,...它提供了针对 iOS 平台的功能测试能力,可以模拟用户的操作对应用程序进行黑盒测试,并且使用 Cucumber 编写测试用例,使测试用例如同自然语言一样描述功能需求,让测试以“可执行的文档”的形式成为业务客户与交付团队之间的桥梁...7、Kiwi Kiwi 是对 XCTest 的一个完整替代,使用 xSpec 风格编写测试。...:其中包括在真机和模拟器上的 APP 进行性能测试。

    62510

    干货 | 去哪儿自动化测试框架Qunit中的零侵入切面技术应用及分布式运行平台

    该自动化测试框架将常用功能的代码实现(测试数据准备、远程执行SQL、调用被测接口等)封装成一个个标签,测试人员编写自动化测试用例时,只需要按照测试步骤进行规范格式XML文件编写,不必关心具体功能代码的实现...,将更多的精力放到自动化测试用例的设计上。...那么有没有一种方式可以动态的更改第三方数据呢? 下面介绍Qunit自动化测试框架如何引入零侵入切面技术的应用模块来解决这个问题的。...在去哪儿网做QA是幸福的,因为公司有个稳定Noah环境管理平台,可以按照自己定义的测试环境模板,动态创建多套独立的测试环境(包括部署被测应用所需的机器、数据库、memeched、redis等),每套测试环境相互对立...分布式运行平台做为去哪儿网统一执行Qunit自动化测试用例的平台,还做调度模板管理、调度任务管理、测试环境管理、测试报告展示、代码覆盖率统计、通过接口调用创建测试任务等功能,用来更友好、更高效的支撑Qunit

    1.8K81

    模糊测试(fuzzing)是什么

    三、测试用例 3.1 测试用例类别 随机数据这个词用得有点宽泛得不负责任,随机数据那是不是我从0到无穷大每个数都要测一下,总得有些指导性的测试用例类别吧。 缓冲区溢出类测试用例:超长字符串。...3.3 测试用模板 前面我们说了测试用例的生成方法,但是怎么使用呢或者说怎么将测试用例施加在目标软件上进行测试呢? 正如3.2中我们是拦截一个数据包,在此基础上修改各项的值生成测试用例。...比如web所有的接请求或者api接口,就是测试用例的模板。 3.4 fuzzing和web扫描器的区别 fuzzing是通过前述三点生成测试用例去进行测试。...web扫描器其实本质也是通过使用测试用例去发现问题,不过web扫描器使用的是漏洞针对性的测试用例,比如测sql就用sql注入的测试用例、测xss就用xss的测试用例。...wireshark拦截的user模板生成的测试用例部分数据包截图,可以看到根据模板生成的测试用例首先是把空格重复不同次数: ?

    1.5K20

    做测试计划需要考虑的方方面面

    这份指南用于帮助读者在自己的项目中找到平衡点。此外,它并没有提供一个测试计划模板。模板,因为往往过于笼统或过于具体,很快就会过时。相反,它着重于教你编写测试计划时,如何选择合适的内容。...一般来说,稳定的项目受益于一个单一的计划,而迅速变化的项目,最好选择不经常更改的策略和经常变更的计划。...我们都有足够的动力去做这些事情,这些测试在覆盖率上都有各自的影响。 测试用例是在什么构建版本上执行?最新构建版本测试(kevindi备注:日构建版本?),还是迭代稳定版本,或者预发布版本?...也可以考虑为测试计划添加联系人,因此,任何读者可以得到更多的信息。 读者如何查看实际的测试用例?手工测试用例可能在一个测试用例管理工具里,在一个单独的文件中,或者包含在测试计划中。...考虑提供链接到包含自动测试用例的目录。 你是否需要在需求、功能和测试用例之间建立关联性? 你是否有产品健康或质量目标,你会如何衡量成功?

    1.1K61

    测试角色在项目各阶段的项目管理tips

    2.4 测试用例编写、评审阶段 测试用例的编写必须依据需求文档,结合设计方案,确认所有以疑问点,覆盖所有功能需求点,跟进需求情况输出冒烟测试用例、功能测试用例、联调测试用例,思考业务实操场景...并在用例评审节点邀请产研参与评审,有序进行用例评审,确认疑问共同完善测试点并会后输出评审会议纪要。 测试用例编写、评审阶段需要注意的事项: 1....包含充分的异常测试用例——丰富异常用例,避免异常情况下功能异常; 4. 识别用户体验问题——提示信息是否明确、页面功能是否易用; 5....测试用例评审——与产研侧确认测试范围、沟通疑问,评审用例设计的清晰度与合理性,优先级排定是否合理,是否覆盖了需求上所有测试点,用例是否具有很好的可执行性,用例的冗余处理机制,是否设计了充足的异常测试用例...,是否从用户的角度出发来设计用户使用场景和使用流程的测试用例,是否简洁、复用性强; 8.

    70960

    无需恐惧:AI-DT框架的成熟度分析

    在未来的测试工作中,测试工程师应该花费更多的时间来关注如何更加完善的测试来验证工程质量,而不是将全部的时间荒废在一遍一遍执行测试用例的无脑工作中。我们将AI-DT的成熟度氛围六级,具体如下。...Level 0: 原始级 处于原始级,测试工程师每天还在针对各个应用手写测试用例,一遍一遍的针对每次的release版本进行相同测试用例的执行。全部的精力都关注在如何更全面的测试上。...在开发工程师对系统做了全面修改的时候,绝大部分测试用例全部都是失效,需要重新维护,并且验证全部的失效用例,来验证是否是软件缺陷。...Level 1:辅助级 AI-DT框架可以分析被测系统的修改是有效的更改,还是无效的更改。...AI可以辅助测试人员,当被测系统发生更改的时候,AI算法驱动测试完成全量的检测,避免人工重复执行大范围测试用例这样繁琐枯燥的工作。

    1.4K40

    哎呀,当时怎么没有想到

    需求理解不充分:测试用例只覆盖到了产品PRD里的显式功能,没有覆盖隐性需求,只进行了黑盒测试或者黑盒测试覆盖的场景不足。...用例颗粒度太大:编写用例的过程也是自己梳理信息的过程,用例颗粒度大,自然梳理的过程就不会太精细,自然遗漏验证场景的几率就会更大(虽然探索式测试的理念是不要求编写详细的测试用例,而是在测试过程中不断调整、...02 、如何提升测试覆盖度 理解,首先 MCube 会依据模板缓存状态判断是否需要网络获取最新模板,当获取到模板后进行模板加载,加载阶段会将产物转换为视图树的结构,转换完成后将通过表达式引擎解析表达式并取得正确的值...在前置编写及评审测试用例的时候,与产品、研发充分沟通产品逻辑及技术实现方案是否与业务逻辑及真正的业务诉求保持一致,充分讨论业务风险和技术风险。...按照我们前置测试用例的逻辑,大部分需求的测试用例在开发阶段或开发之前就已经编写并评审完毕,但随着交付进度的进行,各方对需求的理解不断加深,即使进入到测试阶段,仍可能会识别出新的范围、风险或问题,因此,应不断就验证范围

    10510

    初创公司,测试团队管理机制和规范

    就是落到实处,不知道如何下手 。 3、先说个前提:这里说的「初创公司」,我们假设,他的开发人员和测试人员,都是个位数 。且没有任何的流程 。从 0 开始 。...4、基于这样的前提,我的建议, 1)先搞定「准入标准」,跟团队(产品,开发,测试),达成一致:什么样的标准,可以提测 ? 参考文章:测试准入标准、测试通过标准、上线标准 2)冒烟测试,必须到位。...没通过冒烟测试的,是否需要版本打回 ?前期也可以,微信群,或者线下沟通 。P0、P1 的测试用例,必须自测,提高效率。...参考文章:测试团队管理:我是这样解决「效率和测试用例」平衡的 3)上线标准,测试报告模板 参考文章:聊聊「测试报告」(附 模板下载) 4)测试用例 可以考虑,忽略严格意义上的「用例评审」 也可以去掉「...复杂的测试用例」,用「测试点」代替 。

    44910

    xmind2testcase:高效的测试用例导出工具

    作为测试文档,测分+测试用例需都要存档,思维导图其发散性思维、图形化思维,非常适合做测分工具;测试用例载体为Excel、MySQL。 当然,不同团队对待测分和用例设计的态度是不同的。...由于单位时间内项目更多,有段时间内,测试团队的小伙伴甚至做完测试分析后,都没时间写测试用例了,然后直接拿着测分的xmind脑图进行测试,导致缺乏测试沉淀。...测试用例设计确实比较费时间 3.xmind脑图不能当测试用例来用。为了让测试同学将更宝贵的时间放到测试分析上,市面上产出了很多解决方案。...其中制定测试用例通用模板是一个非常核心的步骤,有了通用的测试用例模板,我们就可以在 XMind 文件上解析并提取出测试用例所需的基本信息,然后合成常见测试用例管理系统所需的用例导入文件。...这样就将 XMind 设计测试用例的便利与常见测试用例系统的高效管理结合起来了! 这个工具的核心原理也很简单,就是将xmind上的数据解析出来“填充”到Excel文件。

    61320

    Golang 高质量单元测试之 Table-Driven:从入门到真香

    ‍ ‍作者:雷畅,腾讯云监控高级工程师 作为一个程序猿 如何在不受外力(领导?)的胁迫下 自觉自愿写单测?...一个测试用例,一般包括以下部分: 稳定的流程 定义测试用例 定义输入数据和期望的输出数据 跑测试用例,拿到实际输出 比较期望输出和实际输出 易变的数据 输入的数据 期望的输出数据 而 table-driven...单测法,就是将流程沉淀为一个可复用的模板、并交由机器自动生成;人类则只需要准备数据部分,将自己的多条不同的数据一行行填充到表里,交给流程模板去构造子测试用例、查表、跑数据、比对结果,写单测这事就大功告成了...可读性强:将数据构造成表,结构更清晰,一行一行的数据变化对比分明。 子测试用例互相独立:每条数据是表里的一行,被流程模板构造成一个独立的子测试用例。...[点击查看大图] GoLand 会自动生成如下模板,而我们只需填充红框部分,也即最核心的,用于驱动单测的数据表: [点击查看大图] 不难看出,这个模板在例子二的基础上,继续削减重复代码,不再平铺 subtest

    1.1K10
    领券