“人无完人,金无足赤”,看起来再没有缺点的事物,都会有隐藏的漏洞。软件缺陷,顾名思义,是计算机软件或程序中存在的某种破坏正常运行能力的问题、错误或者隐藏的功能缺陷,也就是我们常常说的BUG!
对于软件测试的工作而言,找bug就是这个岗位本身立足的职责,那么对于很多新人和新入行的同学们来说,这个过程会有点苦逼,毕竟经历的项目经验不多,想快速的切入寻找bug往往会比较痛苦。那下面我就以自身的经验来普及下如何在工作快速的去定位找到bug。
以下从个人的测试经验和测试流程上说一下我的想法。
一、测试坚持的原则
1、测试前做好工作计划
俗话说不打无准备的仗,测试前做好工作计划,首先明白该版本如何开展测试,这个版本的测试重点在哪里,这个前期可以加强跟研发的沟通,弄明白测试的重点。然后根据重点规划测试工作。
2、尽早开展测试
版本提测后尽早展开测试工作,一方面缺陷越早的暴露后期研发的维护成本越低,另一方面根据自己的测试经验来看一个测试周期中发现bug的曲线图是一个不对称的抛物线,前期的工作效率是非常高的,这可能跟测试人员的求知欲有关,测试周期越长后期发现bug的概率越低,所以版本提测后尽快展开测试如果没有高优先级的任务不要中断测试,不然反过头来在进行测试时已找不到了当时灵敏的嗅觉了。
3、二八原则
软件中80%的bug存在于20%的代码中,这要求测试人员对产品的业务及内部逻辑比较了解,知道哪一块的代码容易出问题。
4、及时反馈
无论是软件开发还是软件测试沟通是必不可少的,测试发现bug后除了将bug的毕现的步骤及详细结果提交到缺陷管理库中还需要知会相关的研发人员,缩短bug的流转周期。实时将软件的质量情况上报到项目经理或产品经理,他们可以根据版本质量情况作出相应的调整。及时反馈客服、生产、用户的问题并将问题转化为需求或测试用例。
二、如何快速发现bug?
1、尽快熟悉公司的产品业务,根据产品的业务属性来熟悉产品的业务流程,这样才能迅速找出软件中存在的一些重要的缺陷,这样发现的软件的价值才是有价值的,否则即使你能找到一些软件缺陷,那也是纯软件的缺陷,价值不大。
2、把自己当成是用户,把自己当成用户去使用该软件,比如在试用软件的过程中,思考用户是这样操作的么
3、善于怀疑 ,世界上没有绝对正确的,总有错误的地方,具有叛逆心理,别人认为不可能发生的事,我却认为可能发生;别人认为是对的,我却认为是错的。假如一个水平很高的程序员编写的程序,不要有“他写的这个程序应该没有问题吧”这种想法,这样很容以遗漏软件中的Bug。
4、不用让程序开发员“用户不会这样操作”的观点说服自己,遇到这样的情况,你要坚持自己的正确的观点,把这种现象作为一个Bug。
5、在测试的过程中要跟踪一条数据的完整流程,比如“点击商品—收藏商品—加入购物车—订单结算—付款—消费二维码—消费—二维码失效”,如果在测试软件过程中业务流程逻辑都走不通的话,还么这个软件测试与不测试就没有什么区别的。
6、在测试的过程中要跟踪一条数据的完整程,要注意的事项 ,程序员提交新的版本后,作为测试人员应该立即与程序员沟通这个修改的功能,并了解这个新修改的功能影响那些功能。而被影响的功能,是在回归测试中优先重点测试的地方,而且也是最容易产生Bug的地方。
7、软件的边界值 ,众所周知软件最容易在边界值上出现问题,所以作为测试人员一定要在边界值上多测试,比如测试用户输入框中的数值的最大数和最小数,以及为空的情况;
8、非法容错性,比如在需要输入数字的地方输入字母,在需要输入字母的地方输入数字,在需要用户输入的文本框中拷贝字数很多的整编文章到这里测试看看软件是如何做处理的;
9、学习他人经验:三人行必有我师焉,人外有人,天外有天。
三、测试经验和流程
测试计划制定:测试计划的制定可以分为如下几步。
首先,按照测试类型依据的标准确定需要测试的特性,如登记测试需要考虑用户文档、常规要求、功能性、可靠性、易用性这个五个特征;
其次,确定需要测试的子特性,如功能性要求考虑安装性、适合性、正确性、一致性这四项;
然后,选择相应的测试策略,即对需要测试的几大特性该如何测试,如需要检查用户文档是否完整,需要验证功能是否正确等;
再次,需要配置测试的环境,确定测试需要的硬件和软件设备是否准备齐全;
最后,需要确定测试的人员及日程安排,为及时高质量的完成测试工作做准备,这一过程需要形成测试计划文档;
测试用例的设计:测试用例是测试工作的核心,如何设计出用最小的测试用例集找出软件中尽可能多的缺陷的测试用例,是一个很值得积累的经验;
在任何情况下,都应该使用边界值分析法,经验表明,这种方法发现错误的能力最强;
必要时使用等价类划分法补充测试用例;
必要时采用错误推测法补充测试用例;
如有输入条件的组合,就从输入条件极其组合开始测试
测试执行:手工执行功能化测试用例,并检查UI设计的Bug,在功能手工测试之后进行功能、性能、接口等自动化测试。
测试结果报告:根据不同的测试类型出具不同的测试报告,主要分析在测试中出现的问题,并对软件提出评估报告和结果建议。
总结:
当遇到bug时,不要胆怯,要对它深入分析,我们可以明白这个bug的机制:为什么会产生?如何去预防它?下一次我们如何更容易地发现它?只要花一点时间去理解我们的 bug,而不是仅仅是尽快修正它,我们就可以从中得到经验。
欢迎加入 51软件测试大家庭,在这里你将获得【最新行业资讯】,【免费测试工具安装包】,【软件测试技术干货】,【面试求职技巧】... 51与你共同学习,一起成长!期待你的加入: QQ 群: 755431660