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

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

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

40990

分层测试

什么叫用普通语言来描述测试用呢,看下具体案例,我“引导页”试用: @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.4K11

    移动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.3K30

    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: 对于中小企业而言,测试用管理工具学习曲线如何? 不同试用管理工具针对不同用户需求设计,一些工具特别注重用户体验和易用性,适合中小企业和初创公司。

    15800

    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.5K80

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

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

    1.8K81

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

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

    27910

    模糊测试(fuzzing)是什么

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

    1.4K20

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

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

    1.1K60

    xmind2testcase:高效试用导出工具

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

    56920

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

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

    66060

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

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

    1.3K40

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

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

    41810

    哎呀,当时怎么没有想到

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

    9810

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

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

    93610
    领券