原文链接:https://mp.weixin.qq.com/s/PoKws0rdjEqEEw68AZ_UTQ
大家可以关注我个人公众号,所有分享内容,会在公众号第一时间推送,且阅读排版更好。
愿大家的学习,轻松且愉快。
如果大家觉得有用,希望转发关注,谢谢
导读
前段时间,一个朋友在做功能测试,所测试的功能中有一段增强程序,导致程序没法运行到他想测试的那部分代码。为了不触发增强,保证程序能够运行到他想测试的部分,他必须得准备很多数据,而且有些数据还是跨模块的,致使他测试成本很高。
作为function顾问,在测试一些包含增强、权限限制等自开发功能时,经常会遇到上述情况。实际要测试的内容不多,但是为了避免其他相关程序逻辑的影响,却需要准备很多数据等,导致测试成本很高,很花费时间。
这时候,我们就需要了解在debug程序时,我们可以通过“跳过代码执行”的这个技巧,保证越过一些不需要测试的代码,为我们进行一些局部功能的测试验证,减少很多工作。
经验分享
项目经验不是很多的朋友,可能会说做点儿数据而已,又不是很复杂的事儿,也没那么难,而且按照程序执行顺序测试,还严谨一些。
事实上,在实际项目上,很多数据不只是模拟起来复杂,甚至有时候都没法模拟。
比如,有些企业会针对订单、主数据等的创建与修改有系统接口,也就是数据的创建更改等,都是从外部系统传输到SAP的,为了避免用户在SAP中进行手动创建,就会做一些增强,当你想在SAP手动创建时,系统就开始报错,告诉你系统不允许手动创建。
在这种情况下,我们为了在SAP中测试自己的功能,还要找外部系统的人员支持配合我们测试,这就很麻烦了,很多时候人家也没有什么义务去支持我们的工作,此时,就可能对我们的测试带来很大的阻碍。
正文
如何进行跳过一些程序的执行呢?
首先,我们要能找到自己要测试的程序,同时要找到跳过的代码部分。
为了表现的简单一些,我们简单写一点代码。
假定,我们要跳过代码部分如下图,很明显,根据下图所示,我们要跳过下面这个do循环语句。
我们先看看,在不跳过上述代码部分,直接执行时,这段代码的输出效果,如下图,我们能够看到do循环执行后的输出结果。
如何执行跳过呢?
首先,我们在要跳过的程序段的关键字上,打一个断点,如下图所示
这个时候,执行个程序,系统会停留在这个断点上,如下图所示:
当代码执行到我们开始打的断点的位置时,我们接着给要跳过的这段代码的下一个关键字打断点,在上述代码中,我们要跳过do循环,根据上述代码,do循环的下一个断点是“WRITE:sy-uline.”这句话,我们在这句话上再打一个断点2,如下图所示:
打好断点2以后,我们可以在断点2的位置上点击右键,选择“转到语句”,如下图所示:
点击“转到语句”后,我们就能看到标志代码执行位置的小黄箭头,就会跳转到断点2的位置上,如下图所示:
当代码执行位置标志出现在断点2的位置时,说明我们已经跳过了这段代码,我们的这次测试不会在执行Do循环这段语句了。
这时,我们点击F8彻底执行这个程序,即可,执行效果如下,很明显我们彻底跳过了do循环的执行,在我们的输出界面上并没有Do循环的输出结果。
总结
总的来说,就是找到我们跳过的代码部分,打一个断点,然后执行程序,让程序运行到这个断点的位置上,接着我们再在要跳过代码下面的第一句话上打个断点,并在这个断点上执行“转到语句”这样就能成功跳过相应的代码,并继续进行执行了。
上述这个Debug技巧,也是建议业务顾问要掌握和熟练使用的,这个技巧会给我们的实际工作带来很多帮助。
最近事情比较多,给大家分享知识的机会比较少,还请见谅。谢谢大家的关注,希望分享的内容对大家有所帮助。