分类 自动化测试 下的文章

问题最近几年虽然微服务十分火热,但是仍然有不少人不喜欢微服务,甚至抵制它。其中最主要的原因就是其成本高,难度大。就困难而言,主要是遇到了一些不易解决的问题,其中包括以下三个与测试数据和测试环境有关的问题:问题一:测试环境被多个团队共同使用在大规模的微服务系统中,某些核心服务很多时候都是会被多个团队在共同调用,并且它可能也有多个依赖服务。而当一个服务的某个测试环境被多个团队(服务)共同使用的时候,主要会存在以下两个困难点。1、同一测试数据可能会被不同的团队修改。有些团队通过创建多套测试环境来解决这个问题,但是这样的成本很高。对于很多技术强大的互联网公司,可以通过 Docker 等技术手段来...

起因在前两篇《TDD之让我们再聊聊TDD》 和《 TDD之让我们再聊聊TDD(续)》 中我们聊了很多TDD理论和实践相关的疑惑,其中包括TDD的分类,选择以及其实施步骤。最近TDD相关的培训和讨论也越来越多,还提出了很多独特的观点,比如:软件没有做好就是因为TDD没有做好TDD没有做好所以软件也做不好学好TDD靠多多练习就可以了,不用学习其理论知识开发应该自己理解业务,并提炼测试(需求)点来实施TDD开发只要做好TDD,就不需要其他人测试了等等对于这些观点我有不同的看法,比如我在第一篇讨论中就提到,TDD不是银弹,所以软件没有做好的原因是很多的,也不是靠TDD做好了就一定能做好。其次学习...

自动化测试一直是敏捷开发和敏捷测试的重要基石,也是DevOps和CI/CD必不可少的组成部分。由于不同项目的测试需求不同,以及各种不同的限制,导致需要的自动化测试框架和工具也不同。比如很多金融和能源类的企业就倾向于选择收费的企业级自动化测试框架或者工具,而新型互联网企业则倾向于开源免费的自动化测试框架或者工具,或者基于它们进行二次定制开发,或者重新开发适合自己的自动化测试框架、工具或者平台。我之前写过一篇文章——《自动化测试框架Cucumber和RobotFramework的实战对比》仅仅针对两种自动化测试框架进行了讨论,却引发了大量的讨论,由此可见业界对于自动化测试框架存在很多不同的理...

"测试自动化"与"自动化测试"通俗的理解上都是一个意思,我并不想咬文嚼字,但是为了说明两种自动化测试策略,我暂时用这两个名称来区分它们,就像敏捷开发中的”做正确的事情”和”正确的做事情”一样用于区分。第一种: 测试自动化,为了测试而让测试自动化执行这种策略主要是指团队已经拥有了自己的各种类型的手动测试,比如说手动验收测试,手动端到端测试,手动探索性测试,手动压力测试,手动安全测试等等。然后当团队已经无法承受手动测试所带来的时间和人力成本的时候,就会思考如何减少时间和人力成本,而自动化执行这些已有的测试,就能有效的减少手动测试的成本。由于时间要求快以及测试人员的能力不足等,所以这种情况下的...

在上一篇文章里面,通过对DHH的文章以及DHH和Kent Beck等讨论的分析,我阐述了对TDD的理解和分类,现在来继续聊聊TDD的实施和分层。现在还有非常多的软件工程师在质疑TDD的可行性,比如太难不会、成本太高无法推动、意义不是很大等,但是他们却一直都在做着TDD,只不过没有意识到而已,这便是“不识庐山真面目,只缘身在此山中”。TDD的实施一般分为思维层面和技术层面。一般来说,思维层面上的实施成本较低、容易接受,但是缺点很多,比如难以传递、难以持续获得快速反馈等;而技术层面上的实施一般成本较高、不容易被人接受,但是优点更多,比如可以获得快速反馈、更容易传递和协作等。而现实世界中TDD...

最近几年“TDD已死”的声音不断出现,特别是David Heinemeier Hansson那篇文章——《TDD is dead. Long live testing. (DHH)》引发了大量的讨论。其中最引人注目的是Kent Beck、Martin Fowler、David三人就这个举行的系列对话(辩论)——Is TDD Dead?当前国内对TDD的理解十分模糊,大部分人也没有明确和有意识的去实施TDD,因此许多人对此都有着不同的理解。其中最经典的理解就是基于代码的某个单元,使用Mock等技术编写单元测试,然后用这个单元测试来驱动开发,抑或是帮助在重构、修改以后进行回归测试。而现在大部...

本文首发表于InfoQ:http://www.infoq.com/cn/articles/cucumber-robotframework-comparison一、摘要自动化测试可以快速自动完成大量测试用例,节约巨大的人工测试成本;同时它需要拥有专业开发技能的人才能完成开发,且需要大量时间进行维护(在需求经常变化的情况下),所以大部分具有很好开发技能的人员不是很愿意编写自动化用例。但由于软件规模的高速增长,人力资源的逐步稀缺,自动化测试已是势在必行。对于自动化测试首先需要保证其功能是对客户有价值的和正确可用的。而这一切的基础就是用例要能测试客户的需求,期望,最好能让客户参与到测试用例的开发...

本文首发表于InfoQ:http://www.infoq.com/cn/articles/visual-perception-test随着互联网第二春的到来以及Web2.0的盛行,Web应用程序开发已经成为了当前软件开发的主力军。现在无论是企业级应用,社交应用还是移动应用,Web已经成为标准配置,而且很多企业正在逐步的将自己的企业级本地应用进行互联网Web化。但是Web 的界面布局测试,多浏览器测试,CSS/JavsScript的重构等都成为界面测试的痛中之痛,特别是大型Web应用的回归测试量太大,从而导致回归测试很多时候根本无法完成,所以很少会有团队能完成全方位的界面布局回归测试,特别...

2013,一个即忙碌又精彩的一年。虽然它已经过去,但是总想写点什么总结一下。作为一名QA,过去一年是我的软件质量知识体系和自动化测试知识体系收获最丰的一年,让我对于软件质量和自动化测试有了一个更高层次的认识。所以我写下了一些自己更新了的知识,以及在和其他公司的QA交谈之后发现的一些他们应该更新的知识。借此希望能对各位看官起到一些提示或者补充作用,当然我也希望各位与我进行联系,并共同探讨未来的QA到底应该具有什么样的能力和知识体系。Web应用程序视觉感知测试视觉感知测试,对于很多QA,包括我在2013以前对于它的认知都是手动测试领域的一个成员。在这个Web系统爆炸的年代,Web UI界面布...