分类 杂谈 下的文章

测试数据是测试用例执行的前提条件之一,也是测试分析与设计的基础之一,比如等价类,边界值都是靠不同的测试数据来体现不同的测试用例和测试场景。如果把测试步骤比喻成测试用例的骨架,那么测试数据就是测试用例的血液,只有当测试用例和测试数据一起才能形成一个好的测试用例。测试数据的现状测试数据是一个经常被测试人员忽视的地方,绝大部分商用软件系统的功能测试中的测试数据都是靠测试人员通过分析和设计,手动生成的测试数据。但是有些特殊的软件系统,比如一些复杂的网络系统,一些复杂操作系统,一些复杂的硬件系统等,由于测试数据的数量巨大,并且类型众多,所以一般需要靠特定的数据系统来自动生成测试数据。并且对于一些特...

1. 培训无用培训无用论是现在很多技术类企业遇到的现实问题,不管是内部培训,还是外部培训,还是各种技术大会之类的快速培训,总是发现培训之后学员还是不懂,还是不知道怎么做,但是公司的培训预算又不得不使用,导致很多培训无用。培训无用论的本质是培训的目标没有达到,那培训的目标到底有哪些呢?我总结了以下几个目标:1.1 不知道自己不知道 -> 知道自己不知道通过培训探索式的发现自己还有哪些不知道的知识和领域,从而可以选择学习和发展的方向。这类目标主要是通过一些技术大会可以达到。1.2 知道自己不知道 -> 知道自己知道当明确自己的学习和发展方向后,通过特定的培训学习自己了解的知识体系...

Part INowadays, there are a lot of discussions about software testing and quality in the industry and from where a lot of neologisms are created, such as de-testers, uselessness of testers, technicalization of testing, testing engineering, testing and quality empowerment, agile testing, continuou...

1 介绍随着全球、全产业数字化需求的进一步增加,越来越多传统行业和复杂业务都转向了数字化。要完成数字化转型,软件系统一般是必不可少的,但是对于很多传统行业中的复杂业务,都需要大型的软件系统。而大型的软件系统一般都是需要大规模的开发团队来进行开发。传统的瀑布模型看起来似乎非常适合大型项目的开发,但是随着软件危机的出现,软件研发专家提出了敏捷软件开发,用于应对模糊不清和不断变化的业务需求,尽早、快速和持续验证开发中的软件功能。但敏捷开发的特性和实践更适合于中小规模团队,而在大规模团队中会遇到很多问题和痛点。比如在敏捷开发中的测试实践,一般并不依赖独立的测试团队,QA人员需要加入到交付团队进行...

引言软件质量一直是一个争议不断的概念,也是一个百花齐放的领域。现在最为常见的分类是将其分为外部质量和内部质量,而外部质量又可以分为功能质量和非功能质量。其中外部质量传统意义上最被大部分人关注的部分,而外部质量中功能质量最先被体现出来,所以最被看重,然后非功能质量只有在某些特定的情况体现出来,所以重要性次于功能质量。其次最不被看重的则是内部质量,因为它很难在短时间体现出来,只有在长时间的项目开发或维护中才慢慢显现出来,导致最不被人看重。但是真实的情况是外部质量和内部质量是相辅相成的,特别是在大型的长时间的项目中,它们的关系尤其紧密,已经到了鱼水不分的阶段。并且由于质量的复杂性,必须通过一个...

介绍过去几十年中,基础系统软件和专业应用软件的规模已经发展到超大型的规模,质量要求也是极度的高,比如数据库(比如Oracel DB,Postgre DB等),操作系统(Linux,Windows,Android,iOS等),虚拟平台(JVM,.NET Framework 等),科学与工业软件(MatLab,AutoCAD,Cadence,PSCAD等)都实施了大规模自动化测试的。并且随着软件系统规模的不断增加,自动化测试的规模也会不断增加。随着中国软件的崛起,出现了越来越多的国产基础系统软件和专业应用软件,而这些软件势必需要实施大规模自动化测试。针对大规模自动化测试,一般都容易忽略它是一...

Web Accessibility 介绍Accessibility测试是属于可用性测试(Usability Testing)中的一种测试类型,它主要是测试软件系统是否有方便让残疾人使用的能力,是要保证残疾人和弱势群体,在任何时间、地点、设备,都能平等的、便利、无障碍地获取信息、利用信息。这些能力包括每个输入框和按钮有特定的标签让阅读软件可以阅读这些UI组件,这样可以方便盲人使用;UI界面上的颜色和对比度需要足够明显,这样方便色弱的人使用等。不同的国家和组织制定了大量不同的Web Accessibility标准,比如美国政府的标准 Section 508 legislation,德国政府的...

前言当前业界对于软件测试和质量相关的讨论非常多,各种不同的声音也层出不穷,比如去测试人员、测试人员无用论、测试技术化、测试工程化、测试与质量赋能、敏捷测试、持续测试、全程自动化测试等等。可见测试工作和专业的测试人员已经处于了一个很大的漩涡里面。但是只要一个项目追求高质量,那么它一定需要实施大量系统化的专业的测试和质量工作。而这些大量系统化的测试与质量工作一定需要拥有专业知识的人员来做。虽然一些互联网公司或者某些项目号称可以在没有专业QA的情况下成功交付了,但是他们是基于一定的前提条件的,比如项目规模不大,团队的BA和Dev也拥有专业的测试与质量能力,他们也愿意做测试与质量相关的工作,并且...

最近随着敏捷测试在中国测试届风起云涌,其中包括不少公开课以及各种文章和在线分享,越来越多的人开始关注敏捷测试和敏捷开发。不过仍然有不少人对敏捷测试和敏捷开发提出了质疑,其中最典型的就是:敏捷测试和敏捷开发只适合小型项目玩一下,不适合大项目,因为一般大型项目质量要求非常高,敏捷做不到高质量敏捷开发没有完备的文档,难以维护,质量难以维系敏捷测试没有完整的测试用例,很难进行全回归测试,无法保证质量理论上同样的团队在单位时间内获得的质量,瀑布要比敏捷高。但是这里有几个前提常常被人忽略,那就是软件需求必须一开始就能确定并且能分析和设计得十分清楚,其次开发过程中不能有大的变动,最后不需要频繁发布。如...

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