测试员的那点事百人计划7组专题百人计划

巩固基本功-测试思路

2017-06-23  本文已影响177人  倔强的潇洒小姐

分享嘉宾阿辉简介:
6年测试,带领过测试团队,在测试整体体系、测试流程把控、项目质量把控方面非常有经验

第五期主题:测试思路

在进行需求评审之前,先要清楚有哪些需求
只有深刻理解了软件产品的需求,才能有效地完成需求的评审。
要把握好需求,需要从多个方面去思考和分析,包括用户、用户业务、和外部条件等,最终理解用例、产品功能性特性和非功能性等。

了解需求的过程.png

一张图胜过千万字,如下是课间分享的内容:

测试思路.png

课间案例分享

1、需求分析

需求分析一般可分为功能需求、非功能需求和领域需求

相信很多朋友都有这种体验:
1)早上来到公司,接到通知参与项目需求评审,需要测试介入
2)一个紧急项目,可能已经在开发阶段了,需要测试接入
3)一个紧急项目已经完成,需要测试
......

那么碰到这种情况要如何处理呢?

在需求评审前,一般产品经理会把需求发到与会者邮箱(邮件通知)或 将文档传到公司的共享目录下,群里通知各位参与会议
测试人员可以提前1天或1个时间段,把文档下载下来,进行综合分析,对不理解的或产生歧义的地方进行批注,尤其是对需求挖掘不够的地方,对功能需求不明确的地方

上述做法的好处:
1)需求评审(静态测试)前了解了需求,知道了大概功能,在评审时进一步了解,在会上可以对标注问题针对性提问,这样就可以在需求阶段把存在的风险避免掉了
2)在评审时集中式提问,而不是打断产品经理的思路,不然评审会议时间会比预期长
(会议期间带上纸笔,在产品经理讲述的时候记录想到的问题,等一个阶段阐述完后再进行提问)
3)站在用户的角度考虑问题
需求的制定满足哪些用户,用户什么情况下使用系统/功能,用户如何使用系统,使用频率(高/低),该系统的优势

2、把需求转化为功能点

UI与数据分离,是指把显示与数据进行分离:通过锁定需求文档,将UI与数据接偶,优先关注数据的产生与业务处理的正确性、UI对数据显示的正确性、用户体验

轮播条:前台通过ajax请求,在网页加载数据时加载轮播条数据,用JS生成轮播条,利用接口测试数据正确性,然后看显示的正确性(合不合适要看功能UI对数据的封装程度)
一般的轮播条,接口返回 json格式的数据,但UI将其分门别类去封装去展示,变成一个无序的滚动显示,与衍生的数据有很大差别,这种情况很适合前后端的数据分离。

名词解释:

原生数据:是指不依赖于现有数据而产生的数据,例如用户发表的评论数据、用户使用服务的日志数据等。
衍生数据:是指原生数据被记录、存储后,经过算法加工、计算、聚合而成的系统的、可读取、有使用价值的数据

3、黑盒测试法拆解

分析输入输出,根据输入的分类划分功能点,进行枚举,输出
功能输入:用户数据输入

如客服系统:需要聊天,就必须先建立会话

4、自顶向下拆解功能

功能划分(用Xmind进行思维发散):以系统提供的功能为中心来组织系统。

首先定义各种功能,然后把功能分解为子功能,同时定义功能之间的接口。

举例:客服系统--考虑系统可以干什么,有哪些输入哪些输出。
如智能回复、人工回复,根据智能回复再分有会话生命周期,如何使用......

客服系统.png

5、浏览器兼容性测试

测试一个web应用:用户登录,生成报表,发送报表,退出系统,管理功能(管理员登录后可查看哪些人做了哪些改动)

为了覆盖更多的浏览器,可以采用A浏览器来测试“登录”功能,在B浏览器中测试“发送报表”的功能,用C浏览器测试“生成报表”的功能......
上述看似是一个有效的方法,但还是存在一些问题的,比如说,如果“生成报表”这个功能在C浏览器中正常,而在B浏览器里是有问题,那么就会发现不了。

多浏览器的支持是我们心中永远的痛,特别是如今浏览器更新如此频繁的状况下,哎~

PS:有些浏览器有兼容模式,可以通过兼容模式来模拟老版本。像Chrome/IE,都提供了开发者工具可以帮着定位问题

Q&A环节

浏览器版本信息

浏览器打开开发者工具(F12),输入navigator.appCodeName,navigator.appVersion,可以查看内核与版本信息

以下是常见的浏览器信息
Trident内核的浏览器:IE、Maxthon、TT、The World
Webkit内核的浏览器:Safari、Chrome、360、Edge
双核/多核的浏览器:如搜狗浏览器,由Trident和Webkit 组成
Presto内核的浏览器:Opera7及以上版本
Netcape6及以上版本、FireFox、MozillaSuite/SeaMonkey

浏览器版本.png

这次分享都是满满的干货,收货很多,希望能用到工作中去。
比如说我们目前是没有维护bug库的,已经关闭的bug,存在被重新激活的情况
以后要系统的分析产生bug的原因,分门别类的统计成文档,测试与开发共享,督促开发不再犯同样的错误不再产生同样的bug。

上一篇下一篇

猜你喜欢

热点阅读