作为一个测试人员,如何有效的保证测试质量?如果只是回答按照测试用例进行详细测试,那是错误的。从可从两种不同的维度来保证测试质量。
在测试周期内,按照测试范围可划分为以下4种:
独立模块测试
集成测试
自由探索测试
交叉测试
从测试计划来划分,可分为以下3种:
测试环境测试
预生产环境测试
正式环境验收测试
在日常测试过程中,除了按部就班的按照需求文档、用例文档、UI效果文档来进行业务功能基础测试之外,个人开展测试过程种无形中会进行一个叫名为“自由探索”测试。
所谓的“自由探索”,是在了解业务需求的基础上按照个人的经验、体验进行散发性的自由测试,进而发现需求外的不合理的业务逻辑,不合理的用户交互体验相关问题。每个人的测试思维、经验都是不一样的,所以进行自由探索测试时发现的可能缺陷也是不一样的。
在时间充裕的情况下,会进行额外的“交叉测试”,来进一步提高产品质量。常见的“交叉测试”,就是不同人员之间相互交换模块进行功能测试。实际上对于App端的交叉测试,可以分为两种:
不同模块交叉测试
Android+ios两端进行交叉测试
在公司内部,只要有至少2个人负责同一个需求的情况下,如果时间充裕的话,可以开展“不同模块的交叉测试”。
以天猫和淘宝两个App为例,同一个功能,不同人员测试存在的差异:
淘宝app和天猫app的购物车结算功能存在的交互差异:
淘宝app(Android):从确认订单页面返回购物车时,自动清空已选商品
天猫app(Android):从确认订单页面返回购物车时,保持上一次已选商品
以上问题如果需求未明确定义,则不能算做缺陷,只是用户使用体验不同。
模块交叉测试要求测试人员:
了解对方模块的需求内容
已完成自身测试任务
剩余时间充裕
具备以上三个条件后,测试人员才能够有精力且有效的与其他人员进行模块交换测试,从而发现彼此可能遗漏的问题。
案例1:淘宝app和天猫app的购物车结算功能存在的交互差异
淘宝app(Android):从确认订单页面返回购物车时,自动清空已选商品
天猫app(Android):从确认订单页面返回购物车时,保持上一次已选商品
在app测试中除了不同人员负责不同模块外,还可能存在不同人负责不同端的情况,也就是一个负责ios端,一个负责Android端。那么除了模块的交叉测试外,其实Android和ios端的开发人员实现功能时也会存在差异。所以就需要进行额外的两端间的“交叉测试”。以下举例说明常见App端之间的交叉测试问题:
案例2:天猫App--从结算页面返回购物车
Android:自动清空商品的选中状态
ios:保持上一次的选中状态
案例3:京东App--提交订单按钮
Android:快速点击提交按钮,仅可打开一个确认订单页面
ios:快速点击提交按钮,可重复打开确认订单页面
案例4:某app上传身份证正反面功能
Android定义:国徽面为正面,人像面为反面
ios定义:人像面为正面,国徽面为反面
由于两端的正反面字段定义不一样,导致两端数据显示位置相反。
通过本文的实际案例,显而易见的,交叉测试,不论是模块之间的交叉测试或者是不同端之间的交互测试,都是提高产品质量的一种手段。
(以上仅为个人工作心得~仅供参考,如有错误,欢迎指正)