作为软件测试人员,我们需要在需求阶段就开始介入测试,因为通常在测试进行之前,需要对测试需求进行分析和汇总以及评审,给测试方案的设计提供参考。那我们在接收到测试任务的时候应该做些什么呢?以下汇总一下本人建议,仅供参考,需根据实际项目情况来定夺。
了解产品
了解产品的部署环境:部署的软硬件环境,以及与产品线上环境的差别。一般应尽量一致。
了解产品功能
了解功能目的
通过阅读需求文档或设计原型,或者口头向产品负责人了解产品有哪些模块。形成产品功能列表
了解各功能模块的开发进度,完成/未完成。未完成原因与完成时间
了解容易出错的模块
了解已知问题
了解业务流程:了解产品的业务流程有哪些,构造业务流程图。
了解模块的作用,设计出来的目的,为了满足用户的什么要求
了解各功能及模块的用户场景
确认核心功能、主要功能;常用功能、不常用功能,确认重要模块的应用场景(可用于确认测试重点)
了解产品的其他要求
对性能的要求
对安全性的要求
对环境的要求:操作系统、浏览器(兼容性要求)
产品分解
页面链接(各页面的访问,是否有404、500等报错)
功能流(主流程、备选流,可理解为数据流向)
数据统计的准确性
不同平台同一数据的一致性
同一平台同一类型数据的统一性(如时间格式、提示信息窗口--警告类、成功类,等)
用户界面(布局排版是否正常合理规范)
用例编写,测试用例编写的过程也是加深对产品的理解的过程
测试,测试过程总不可能一帆风顺,会遇到各种各样的情况。比如某些操作导致的系统失效,可能是在写测试用例的时候未考虑到的。因此测试过程的是补充用例的最佳指导,也是更加深刻理解产品的过程。另外需要说明的一点是,测试过程,特别是对于迭代快速的项目,可能未进行测试用例的编写,测试只是根据测试点开展。这就很难避免会遇到一些我们不是非常确定操作步骤的问题,包括偶发性的问题,以及路径比较复杂的问题,常常在发现问题后,甚至记不起发现这个问题前自己的操作。遭遇这种情况是非常令测试人员头疼的。我的建议是,可以在测试的过程中,使用录屏工具,对我们的测试所有操作进行录制。当遇到无法确定操作步骤的问题时,查录制记录。
测试技巧(测试过程中的经验总结)
关于搜索
a、搜索框的筛选逻辑:测试模糊搜索时,分别输入首字母/首位字符、其他位字符,验证模糊搜索会不会仅支持首位搜索,不支持其他位搜索
b、根据统一原则,整个平台的搜索框,应该使用相同的搜索逻辑
c、对于包含筛选条件的列表,全部/条件1/条件2。当选择不同条件筛选时,各筛选条件下,要验证分页数据是否显示完整(如10行1页)。即全部条件时含条件1条件2的分页,在筛选条件1或条件2数据时,原先包含其他条件数据的分页,数据条数是否会自动向前填充补全。
d、查询组件包含多级或多个查询条件时(学校/年级/班级,全部/条件1/条件2),选择不同的查询条件,列表筛选出对应条件下的数据。一级条件,应该包含下级所有数据。数据量呈倒金字塔。
e、对查询结果进行翻页,不能影响结果展示。即翻页后,查看到的是查询结果数据。
关于数据关联性
a、当数据表的一个字段作为外键存在于其他数据表时,在源数据表对该字段的数值进行变更时(含修改和删除),若变更会导致关联表的数据发生异常(如变更了源数据表字段值,关联表中该值不再与已存在的数据有关联,需用户手动重新关联),则需要控制该值的变更。控制变更和删除,必要时,不允许已经在关联表有数据的时候,变更或删除源数据表 中的该字段。在测试的时候,要做数据关联测试,对于可能产生的影响,要设计对应的测试用例进行检测,发现影响,及时报告,避免产生不可逆的问题。
b、检查某些字段空白,会不会导致列表,或者关联表中该字段的值显示异常,如显示为undefined。
关于测试顺序
先流程后功能。
整理业务流程,先根据业务流程验证流程是否正常。再测试具体的功能。举个简单的例子。配置管理角色和用户。新增角色->新增用户并指定为该角色->登录。验证新增用户是否可以正常登录系统,并拥有指定的权限,可使用对应功能。
关于不确定是否环境问题的问题
找至少2台以外相同环境的机器,对功能进行验证。
对于需要使用独立设备进行测试的,测试时,至少在2台设备上测试。(最好环境是相同的版本)
关于网站的登录
a、登录口令是否会明文显示
b、当登录口令支持粘贴时,会不会显示为明文
c、记住密码的选项,当切换其他账号时,其他账号已记住的密码是否会同步切换
d、登录口令是否支持复制;若支持复制,复制后,是否会在剪贴板中显示成明文
e、记住密码勾选与不勾选,登录后退出到登录页面,记住密码的选项勾选状态是否正常
关于网页安全缺陷
登录网站进入其内部网页后,直接拷贝网址,然后粘贴到另一个浏览器窗口输入,可以绕过登录直接访问。还可能存在于弹出的子窗口。有些设计不严格的软件,在主页面关闭的时候子页面还可以运行,这是一个明显的漏洞,而且还大大增加了错误发生的几率。
关于输入框判断顺序/逻辑缺陷
对一个添加页面多个输入框的输入内容进行判断时,按界面从上到下的顺序进行输错保存检查(所有必填的项都填入后保存),检查没有问题。改变一下输入的次序,则容易出问题。比如满足条件后,不保存,倒过来将上面的输入改成非法输入,然后保存,会出现保存成功的现象。这是因为原先的判断已经发生过,或者根据语句顺序只检查最后一个判断,所以没有报错。(判断逻辑)
除了判断逻辑,也要注意检查判断提示语是否正确。提示是否与实际出错的输入框一致。
关于初始化数据
对于调试语句和冗余信息:调试窗口和页面冗余信息,及参数的设置(数据都要进行初始化)
关于偶发性的问题(不可重现的故障)
不可重现的缺陷要进行记录。测试必须如实地记录发生的问题,也许不能重现,或者是非软件系统本身的问题。但是,可能这些偶然性背后是有规律的,不记录这些,就不可能发现这些规律。
关于界面布局缺陷
a、注意关闭、删除、退出与保存、下一步等按钮之间的距离,避免挨得太近造成误点
b、窗口最大化和常规窗口,分辨率要匹配,有些地方要有必要的快捷方式(比如大量输入的界面)
关于一个系统有多种类型用户的测试
当系统包含管理员和普通用户时,注意对不同类型的用户分别进行测试。
有时候为了测试的方便,测试用户都是具有超级权限的用户。而且,比较容易忽略用户管理这一部分的测试。往往发往客户的时候,很多测试用户都没有删除。
验证给普通用户授权为超级管理员,再回收权限,是否对权限正确回收。
关于数据数量统计
a、验证页面计数是否与分页总数一致
b、当一批数据分布在不同位置时,验证不同位置的数据计数是否一致
关于数据编辑页面
a、必填项的设定与检测
b、编号类字段的输入限制(是否允许特殊字符、特殊字符保存后是否异常)
c、文本框可输入的字符长度限制
关于页面响应
a、在页面点击操作按钮会弹出操作框时,底层页面应保持不动(特别注意在不是单屏显示页面里,下拉到页面底部操作数据,页面不应该跳到显示顶部。
b、在弹出框点击取消操作的按钮,底层页面应保持不动。因为没有数据的实际交互,页面不应该有刷新或者跳动的反应。
(待续……)
网友评论