搜狗网如何介绍软件测试,搜狗测试五六年:思维模式

前言

本篇我们将继续深入理解结构化思维的思想,通过实例分享结构化思维中常用的两个工具:矩阵法和过程法。

一个例子

在展开介绍矩阵法之前,我们先来看一个简单的测试设计问题:浏览器的地址栏快捷键都要测试哪些点?

可能有同学会说,需要测试Enter回车键、Backspace回车键、Esc取消键….等等。这些测试点没有问题,但是如果想将地址栏的用户使用体验达到更好的话,以上的测试点是不够的。

我们来看一下搜狗PC浏览器当年诞生之初一个极为细致的用户体验设计:

操作步骤:

1.打开搜狗浏览器;

2.在地址栏里输入www.so;

3.当地址栏展示下拉列表并且联想www.sogou.com时,按下Esc键,你会发现下拉列表消失了;

4.再按下Esc键,你会发现地址栏内容从www.so变回about:blank。

通过视频对比感受下几款常见浏览器的差异:

搜狗浏览器

aa8084c48c3982f623e9b3d8d7996b34.gif

360浏览器

15bf638da0f18714e99f18d6b04522ac.gif

Chrome浏览器

0976b17367afc230f1219bf908b97eea.gif

IE浏览器

b4dcc1b5de8cbc0b9f5bc4658e28c883.gif

汇总表现如下:

e15354d13cdf27304404f44d823ce9f8.png

言归正传,举上面的例子主要是想说明,地址栏快捷键的测试用例并不简单(顺便安利一下搜狗浏览器地址栏的体验)。

矩阵法

可能有同学会说我在原有的用例增加按下一次按键,按下两次按键不就行了嘛。

那么问题是,当输入的内容没有出现联想的内容时,按下Esc,你会发现直接变为about:blank,这种情况怎么办呢?

可能有同学会说,那我在用例中增加联想的情况考虑就可以了。

别急,后面还有更为复杂的情况,比如地址栏还支持ctrl+←、ctrl+→、↑、↓、Tab等等快捷键,这些情况要不要考虑呢?

总之,我们考虑到的测试点是无序而散乱的:

b8d4c0e19725a0bc28c7839f094b1f07.png

我们不禁要问:还有什么情况没考虑到?

有没有好的办法呢?矩阵表格。

我们可以抽象为横纵两个维度:纵向是不同的按键,横向则是地址栏的状态;然后将横纵两个维度进行组合,在交叉之处填写预期希望达成效果,就可以解决以上问题了。

a1f9b1cdd81c8ffcbcbe51d0a0435eb1.png

基于这种思想,我们形成了一份地址栏快捷键的测试用例。

3e53a7f4635d695ae7a4fe5707f56efb.png

矩阵法核心思想就是将与之有关的因素抽象,通过横纵两个维度组合形成表格,使得复杂的问题被分解并有序化,进而可以看到全貌,找到之前未考虑的点。

流程法

通过以上的实例,我们对结构化思维的矩阵法有了初步了解,接下来我们看个更为复杂的问题:如果让你设计一个手机App的自动化测试平台系统,你觉得应该包含哪些需求?

可能有同学可能会说:

能够进行自动化的用例编写

能够手机自动化测试中的结果数据,数据能够通过一个Web页进行展示

能够进行App的自动安装

……

与上面的问题类似,需求总是杂乱的一些点,它的全貌是怎样的?我们如何思考呢?在这里,我们可以通过流程法来思考。

第一步:将做App自动化测试的流程抽象梳理出来。

它一般来说包括:硬件环境准备--->软件环境准备-->任务部署--->任务执行--->结果收集查看。为了更为细节的细化需求,我们还可以进一步将软件环境准备再细化流程为:工具下载--->被测试包下载--->工具的安装--->测试包的安装--->测试环境初始化等等。

第二步:将上述流程带入矩阵法的纵列。

a334e7f1330e2e6807e3d1ddddddb60b.png

第三步:抽象横向的维度,抽象的方式视具体情况而定,本例中是以自动化测试平台的几个特性作为考虑维度。

1af1e139522cc35a582e4f48394d6cd1.png

第四步:横纵两列组合后形成矩阵后进行进一步的细化。

26c8381ac411ca113cffe42d2a072e59.png

最终我们得到了以上的自动化测试平台需求细化表格。

其他应用

以上的思想还可以用于其他更多用途,例如:

模块间影响关系图:评估改动功能与其他功能之间的影响关系,进而评估测试范围的一种评估方法。

cf620e8a2d52bc69b7090f84299ee720.png

输入法评测矩阵:搜狗手机输入法评测体系的一种评估思想。(详文请见《评测矩阵,一种系统化评估质量的思想》)

1fe84667ace8ebf43cad2603eb578200.png

写在最后

矩阵法是结构化思维中非常实用的一种工具,结合流程法可以使得复杂的问题能够分解展开,逐个思考并解决。它的应用范围很广,小到测试设计,大到战略规划,希望它对你有用。

上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
完整版:https://download.csdn.net/download/qq_27595745/89522468 【课程大纲】 1-1 什么是java 1-2 认识java语言 1-3 java平台的体系结构 1-4 java SE环境安装和配置 2-1 java程序简介 2-2 计算机中的程序 2-3 java程序 2-4 java类库组织结构和文档 2-5 java虚拟机简介 2-6 java的垃圾回收器 2-7 java上机练习 3-1 java语言基础入门 3-2 数据的分类 3-3 标识符、关键字和常量 3-4 运算符 3-5 表达式 3-6 顺序结构和选择结构 3-7 循环语句 3-8 跳转语句 3-9 MyEclipse工具介绍 3-10 java基础知识章节练习 4-1 一维数组 4-2 数组应用 4-3 多维数组 4-4 排序算法 4-5 增强for循环 4-6 数组和排序算法章节练习 5-0 抽象和封装 5-1 面向过程的设计思想 5-2 面向对象的设计思想 5-3 抽象 5-4 封装 5-5 属性 5-6 方法的定义 5-7 this关键字 5-8 javaBean 5-9 包 package 5-10 抽象和封装章节练习 6-0 继承和多态 6-1 继承 6-2 object类 6-3 多态 6-4 访问修饰符 6-5 static修饰符 6-6 final修饰符 6-7 abstract修饰符 6-8 接口 6-9 继承和多态 章节练习 7-1 面向对象的分析与设计简介 7-2 对象模型建立 7-3 类之间的关系 7-4 软件的可维护与复用设计原则 7-5 面向对象的设计与分析 章节练习 8-1 内部类与包装器 8-2 对象包装器 8-3 装箱和拆箱 8-4 练习题 9-1 常用类介绍 9-2 StringBuffer和String Builder类 9-3 Rintime类的使用 9-4 日期类简介 9-5 java程序国际化的实现 9-6 Random类和Math类 9-7 枚举 9-8 练习题 10-1 java异常处理 10-2 认识异常 10-3 使用try和catch捕获异常 10-4 使用throw和throws引发异常 10-5 finally关键字 10-6 getMessage和printStackTrace方法 10-7 异常分类 10-8 自定义异常类 10-9 练习题 11-1 Java集合框架和泛型机制 11-2 Collection接口 11-3 Set接口实现类 11-4 List接口实现类 11-5 Map接口 11-6 Collections类 11-7 泛型概述 11-8 练习题 12-1 多线程 12-2 线程的生命周期 12-3 线程的调度和优先级 12-4 线程的同步 12-5 集合类的同步问题 12-6 用Timer类调度任务 12-7 练习题 13-1 Java IO 13-2 Java IO原理 13-3 流类的结构 13-4 文件流 13-5 缓冲流 13-6 转换流 13-7 数据流 13-8 打印流 13-9 对象流 13-10 随机存取文件流 13-11 zip文件流 13-12 练习题 14-1 图形用户界面设计 14-2 事件处理机制 14-3 AWT常用组件 14-4 swing简介 14-5 可视化开发swing组件 14-6 声音的播放和处理 14-7 2D图形的绘制 14-8 练习题 15-1 反射 15-2 使用Java反射机制 15-3 反射与动态代理 15-4 练习题 16-1 Java标注 16-2 JDK内置的基本标注类型 16-3 自定义标注类型 16-4 对标注进行标注 16-5 利用反射获取标注信息 16-6 练习题 17-1 顶目实战1-单机版五子棋游戏 17-2 总体设计 17-3 代码实现 17-4 程序的运行与发布 17-5 手动生成可执行JAR文件 17-6 练习题 18-1 Java数据库编程 18-2 JDBC类和接口 18-3 JDBC操作SQL 18-4 JDBC基本示例 18-5 JDBC应用示例 18-6 练习题 19-1 。。。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值