这些天正好与朋友聊测试视角,如何培训建立测试视角,都认为还是有一定困难的,毕竟软件测试是门实践性的学科,经验积累还是很重要的,测试的项目多了,自然而然的思考的测试角度广了,深了。但是如果是培训的话,如何在一天配撇中,提升测试视角呢?其实应该也有一些方法,下面我通过一个小例子,谈谈如何建立测试视角。
这是一个检测项目的页面,通过浏览器访问的,主要是通过新建项目按钮建立项目后,可以启动进行检测、中止等操作。针对这个页面,我们要思考如何测试。
主要考虑用户要输入的地方,新建项目
‘新建项目’,假设新建项目只需要输入项目名称和版本,同时上传一个压缩文件。新建项目后,列在下面的一行中。新建项目时输入项目名称和版本号,大家都要通过等价类和边界去设计长度不同、英文字符、中文汉字等各种测试用例覆盖项目名称这个字段。还有就是版本号,除了常规的长度不同需要考虑之外,是否要考虑支持几级版本号,例如3.9.4.1,支持吗?上传文件,能够上传1个文件还是多个文件,支持何种文件格式,大小是否限制?上传过程中中断了如何处理?这些常规的设计完测试用例后,是否覆盖完成了呢?
没有,我们先简单考虑一下,当新建项目列出后,新建项目是显示放在最上面,还是最下边。一个用户建立项目数是否有限制,没有限制的话,当一页满了以后,是否有翻页功能,翻页功能是否正确?
还有,新建项目后,是否进入等待检测队列,等待检测的项目数是否增加了, 等待检测的项目能删除吗?如果有删除功能,删除后是否减少?这些就是由于测试当前某个功能点,引起的其它功能点的联动设计测试用例,这个绝对不是像培训那样,针对一中功能设计测试案例即可,一定要考虑一个功能的状态改变,是否引起其它功能点的改变,要联动设计测试用例。
看到上面有检测中的项目数,等待检测的项目数了,那这两个数字什么情况下改变?一般初级测试人员也会设计测试用例覆盖这两个值的改变情况。但是考虑的还不够,是否我们要思考同时检测的项目能多个情况吗? 是多线程同时检测吗?启动检测试试就能知道,是否能同时多个项目检测。如果不能,检测中的项目数值是否永远是1,那在这里显示还有意义吗?等待检测的项目数,我们这里有两个项目,一个正在检测中,一个等待检测。再新建一个项目后,是否是等待检测状态呢?数字是否增加?
到这里,覆盖完了这两个数字的测试用例吗?
没有,你要考虑测试登录的这个账号是什么账号,是否还有其它账号登录,其它用户上传后,是否能够同时检测,这里显示的数字是当前账号的,还是所有账号的总计呢? 需求中有详细说明吗?如果没有,怎么比较合理?
到这里前面说的两个功能点,用例设计覆盖率100%了吗?
还没有,为什么?考虑输入项目名称和版本号的地方,是否存在SQL了吗? 一个恶意的用户如果破坏系统或想获得更多的信息,注入怎么办。是否要进行检测?
上传文件是否限定了文件是否对可能上传脚本,攻击者是否可以绕开检查策略。
这里覆盖100%了吗?只能说,基本上的功能差不多了? 那界面上的排版,是否对齐,美观,字体颜色,背景色是否和谐。适用性是否考虑了?用户选择上传文件,是否可以拖拉呢? 用户是否要一定输入,是否可以用选择框或列表框代替呢?
FTP上传,上传性能如何? 1K文件上传多长时间,1M呢,1G呢,最大支持多大文件上传。
上面界面中,还有两个按钮,第一个启动或中止检测,第二个按钮是重新上传。启动和中止按钮选择后,状态是否改变,上面显示的数字是否联动改变。启动检测后,点击中止后,是否保存中间检测结果,如果保存,再次单击检测,是否能够继续检测。如果不保存,停止按钮是否能够按下,按下后,后面的显示文字对不对等。
还有项目类型是检测的项目类型,放在靠前的位置是否有必要,有什么用,过滤,排序? 客户看到这个信息,有什么作用?
这些列上的文字,怎么对齐的都有,是否换乱,不用写测试用例,直接提建议bug吧。
马上睡觉了,就写这么多吧,还有一些没有来得及写出来,抛砖引玉,大家讨论一下吧。
关注安全,关注作者