无法定位程序输入点 except_软件测试工程师面试应对如何定位软件缺陷!

各位 友,各位知友,各位找测试工作的朋友,还有各位凯哥的粉丝,你们大家好!今天凯哥给大家带来的内容是:软件测试工程师面试应对如何定位软件缺陷的问题!下面凯哥以一个Web应用的注册登陆功能为例,跟大家说说我们该如何定位软件的bug!

首先,给大家看一个如下所示的软件的注册和登陆页面。先简单的说一下业务规则:使用手机 注册成功后可以使用该账 进行登陆。

没错,业务就是这么简单。假设我们发现了一个Bug:按照注册页面的提示,输入了正确的数据和信息,点了确认按钮,页面也提示,注册成功,然后跳转到登陆页面,当再用注册时提交的信息去登录时,发现提示用户名或者密码错误,根本无法登陆。

相信这么说,大家都能够理解吧!接下来我们就说说该如何定位bug!

首先从数据库的角度,通过查看数据库中数据的方式先定位:到底是注册出问题,还是登陆出问题了。

2)我们也可以使用抓包工具Fiddler,进行数据抓包,判断有没有数据从该页面被传出。

这个程序能不能够正确的处理传过来的数据:

A111:这个接收请求数据的程序没有问题,那就需要继续看(继续定位)

A112:这个接受请求数据的程序有问题,那就表明该内容有问题。(定位成功)

下面,接着看A111的思路,接收数据的程序也没有问题,那就看从数据库里面查询数据是不是出问题了。我们看一下查询用户名和密码的程序代码:

如果通过检查该部分和数据库连接的代码我们就可以最终确定问题:

A1111:数据库连接判断的语句出问题(定位成功)

A1112:程序的返回值出问题。(定位成功)

思路A都讨论完了,那接着讨论思路B:注册之后数据表中并没有注册数据的产生。类似于A。我们首先就要检查注册页面的表单数据有没有提交出去。检测方法和登陆一样,看代码也好,用工具也行。

B1:注册页面的数据没有提交出去,开发人员就写了个静态页面,不管输入什么都是注册成功。(定位成功)

B2:注册页面的数据提交出去了。(继续定位)

通过查看接收注册数据的程序,方法同上。

B21:如果发现没有准确接收注册数据,那就表明发现问题。(Bug定位成功)

B22:如果数据接收程序无误,表名要继续定位。(继续定位)

注册功能是一个向数据库中插入数据的过程,我们可以检查数据的插入操作语句和相关的处理程序是否正确:(定位成功)

如果我们从整个业务运行的全过程去说明的话,我把整个过程拆解成如下图所示的10个步骤:

cec1d43d8beb0ccadc07ccfd5e3abde1.png
  1. 提交注册信息到数据处理程序
  2. 数据处理程序进行数据判断和处理
  3. 将数据添加到数据库
  4. 数据库给出处理结果
  5. 数据处理程序将结果返回给注册页面
  6. 提交登陆信息到数据处理程序
  7. 数据处理程序进行数据判断和处理
  8. 将查询数据上传到数据库中进行比对
  9. 获取查询数据的结果
  10. 数据处理程序将结果返回给登陆页面

综上所述每一个环节都有可能出问题,我们要使用一切可能的办法和手段进行bug定位和查找。所以测试工程师那多少钱的工资,跟你所掌握的技术和找bug的能力、定位bug的能力有着非常直接和紧密的关系。

各位入行的测试工程师,加油!

文章仅是从比较浅显的层面进行分析,如有大神路过,请不吝赐教!

相关资源:凯歌软件安装管理器1.0-其它文档类资源-CSDN文库

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年9月25日
下一篇 2020年9月25日

相关推荐