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

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

前言在以前传统的软件开发流程中,大部分项目都是使用瀑布模型来进行开发。瀑布模型中最为典型的一个步骤就是将大规模的测试工作放在软件功能开发完成之后。但是随着软件规模的增大和业务需求的不确定增多,测试工作越来越困难,成本也越来越高,导致测试效率越来越低。并且随着公司对于研发效能的追求,所以业界有些公司发起了去测试化的活动,并且裁掉大量的在传统研发流程中只做手动测试的测试人员。那么在当前这样的情况下,测试人员应该如何体现自己的价值,并配合研发效能的改进,是一个需要重要关注的一个问题。在各种测试方法和实践中,测试左移也许是最有效配合研发效能的一种方法和实践。什么是测试左移测试左移并不是全新的测试...

介绍测试右移是DevOps中一项非常重要的工作。随着DevOps的兴起,不仅研发人员需要参与到Ops的工作中去,测试人员也是需要加入进去,参与产品环境中各种测试与质量相关的工作,从而尽可能的保证软件系统在产品环境中的质量,包括正确性,稳定性等。其中产品环境中关于测试与质量相关的工作并不少,但是由于传统的软件开发中,开发和测试人员并不负责产品环境的维护等工作,所以也很少关注产品环境中的质量。导致测试人员只需要负责测试环境的相关测试和质量工作,并把产品环境的测试与质量工作交给了运维人员负责,从而导致当产品环境出现质量问题的时候很难在第一时间发现,甚至需要等很长时间,或者已经造成了大量损失的时...

介绍随着AI的飞速发展,AI已经使用到许多软件系统中,也逐步的应用到软件测试的工作中,并且利用各种AI相关的技术来辅助测试工作也是未来一个测试趋势。当前AI的主要几个应用方向包括,视觉系统,语音系统,决策系统,自然语言处理系统和大数据系统,因此在测试辅助工作中其最主要的方面包括:基于业务流程、被测系统内容、测试用例和测试数据的学习,测试用例和测试数据的生成,自动化测试代码的生成,测试中的视觉识别和NLP,自动化探索性测试,大规模测试日志和结果分析,缺陷定位等等。其中视觉测试,测试日志和结果学习,以及缺陷定位都已经有比较成熟的商业产品,但是相应的成熟的开源系统还暂时没有。而通过相应的学习,...

介绍随着 Web 应用的空前发展,前端业务逐渐复杂,为了处理这些复杂业务,前后端分离,出现了专门应对这种分离架构的应用开发框架,比如 Angular,React,Vue 等,从而也导致 Web 应用的复杂度大大增加,并出现了 SPA(Single Page web Application)。同时随着越来越多的用户使用移动设备访问 Web 应用,使得 Web 应用需要支持一些性能并不是很好的移动设备。为了度量和测试 Web 应用是不是在高复杂度的情况下,页面性能能满足用户的需求。前端页面性能测试本质上和本地应用性能测试类似,其性能和运行应用的设备的性能强相关,即运行被测系统的硬件性能越强,...

介绍随着自动化测试方法和技术的快速发展,自动化测试的的直接开发难度越来越小,但是由于其规模越来越大,测试类型和测试基础设施也越来越多,导致整体开发和实施自动化测试的复杂度是在逐渐增加的。对于大型项目,相对大量不同类型的测试和测试基础设施,专注于测试分析和测试设计,并根据测试策略和计划实施测试工作,包括测试分层,测试赋能,测试前移,开发自动化测试等,这些才是主要也更为重要的工作。由于很多公司的测试资源都是相对较少的,所以让有限的测试资源能尽可能全部的投入到这些重要的工作里面,则可以得到更多更有效的测试用例和测试结果,更好的体现测试的价值。比如TDD这样的技术,就可以使用更多更有效的测试用例...

历史与简介早在 1984 年,Cem Kaner 就提出了探索式测试(Exploratory Testing),并首次定义它是“一种测试风格,主要是强调个人的自由与责任,让独立的测试人员可以持续的并行的通过相关的学习,测试设计,测试执行等活动来改善测试工作的质量”。然后到了上个世纪 90 年代,Cem Kaner 又在他的书《Testing Computer Software》中第一次正式发布了探索式测试这个方法论,从此它正式进入测试领域,并且引起了业界的关注,很多测试人员也开始实践这种测试方法。从 Cem Kaner 给出的这个定义可以看出,探索式测试的提出主要是为了解决当时测试成本高...

随着Web系统的大规模发展,Web API已经成为了一种广泛使用的技术,再加上微服务和云系统的普及,Web API的数量呈几何增长。比如在一个大型Web系统中,各个子系统或者依赖系统之间一般都使用Web API来集成,从而导致开发不同子系统或者依赖服务的团队之间也存在不少问题。其中最大的四个问题是:团队之间业务和技术集成沟通困难难以快速响应外部需求变化开发流程责任链混乱Web API部署到测试环境后才发现集成问题这四个问题都属于集成和变更管理的问题,首先团队之间业务和技术集成沟通困难主要是指没有明确的集成沟通流程,那么团队之间在沟通集成业务和技术的时候则容易混乱不清,遇到各种困难。所以需...

摘要随着软件系统规模的持续增大,业务复杂度的持续增加,软件测试的复杂度也随之越来越大。而软件测试工作复杂度的直接体现就是测试用例编写、维护、执行和管理,所以编写易读、易维护和易管理的测试用例可以有效的降低测试工作的复杂度。本文主要系统的介绍了测试用例的几种经典编写和管理方法,包括每种的特点,适用场景以及实例。帮助不同的项目和团队,根据自己的情况选择适合的测试用例编写和管理方法,从而降低测试工作的复杂度,提高测试工作的效率。1、前言在软件测试工作中,测试用例是其最为重要的基础。一个良好的测试用例可以帮助测试人员更容易阅读,理解,修改并管理它,从而提高测试工作的质量和效率。要编写一个好的测试...