原文链接: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技巧,也是建议业务顾问要掌握和熟练使用的,这个技巧会给我们的实际工作带来很多帮助。

最近事情比较多,给大家分享知识的机会比较少,还请见谅。谢谢大家的关注,希望分享的内容对大家有所帮助。

SAP中常见的Debug技巧(02)-跳过代码执行相关推荐

  1. 5种常见PHP实现URL地址跳转代码

    常见PHP实现URL地址跳转代码 1.php跳转代码一句话式: 1 <?php  2 $url = $_GET['url'];  3 Header("Location:$url&quo ...

  2. 计算机oleaut32.dll,OLEAUT32.dll模块中处理类型库的相关函数可导致代码执行 -电脑资料...

    tombkeeper[Base64Decode("dG9tYmtlZXBlckB4Zm9jdXMub3Jn")] 2009.10.1 刚下载完几部不错的片子,但是考虑到做人要讲信用 ...

  3. 常见PHP实现URL地址跳转代码

    1.php跳转代码一句话式: <?php $url = $_GET['url']; Header("Location:$url"); ?> 2.php跳转代码if判断式 ...

  4. Debug时如何跳过(不执行)某些代码

    在DEBUG界面, 光标定位到想跳至的代码行, 从右键菜单中选择Goto Statement, 或者从Debugger菜单中选择: 可见代码确实被跳过了, 这个在实际工作中, 尤其是生产机的调试中还是 ...

  5. 总结PHP中几种常用的网页跳转代码

    使用header()函数 在php页面的最开头输入如下代码: <?php header("location:http://www.yedward.net"); ?> 那 ...

  6. PHP中常见的几种运行代码的方式

    常见的运行程序的方法有 shell_exec ``(反引号) eval system exec passthru 下面分别介绍他们的用法: 名称 解释 返回值 注意 shell_exec 通过 she ...

  7. PHP中的命令执行与代码执行

    title: PHP中的命令执行与代码执行 data: 2021-09-15 tags: CTF-web PHP中的命令执行与代码执行 最近在复习之前学过得知识点.因为之前是0基础来学习的,所以很多东 ...

  8. 四种ASP网页跳转代码

    时间:2012-06-12 21:12来源:未知 输入:铜都风尘 点击: 32987 次 如果你要在服务器端跳转,可以这样: Response.Redirect(http://blog.163.com ...

  9. vue 后台获取数据 下拉框_Vue开发中的一些常见套路和技巧

    属性排放 管理请求加载状态 Proxy跨域 对developer和build的打包进行不同配置 大部分开发者都喜欢将Vue的config写在一个文件中,看起来是没有问题,但是随着环境的变化,项目优化, ...

最新文章

  1. unity鼠标控制镜头旋转_unity3D鼠标滚轮来实现镜头拉近拉远及视角旋转
  2. opencv java match_Java OpenCV-从knnMatch提取匹配项
  3. jiebaR中文分词,从入门到喜欢
  4. android 常驻进程
  5. myeclipse创建java错误提示_myeclipse 遇到的一些问题及解决方案
  6. Tomcat servlet工作原理
  7. 【转】主流PHP框架间的比较(Zend Framework,CakePHP,CodeIgnit...
  8. Tomcat错误解决
  9. Netty工作笔记0074---handler链调用机制实例1
  10. 理解linux下的load
  11. GJB-150砂尘试验,国军标沙尘试验机构
  12. nxlog管理配置linux,IIS服务器配置NXLog进行syslog转发(并解决GMT+8小时时差问题)...
  13. Adobe Flash CS4 从入门到精通
  14. 使用pano2vr生成html5全景页面
  15. excel组合工具使用
  16. dnfdpl服务器维护了,梦想开始的地方丨山东沙排女将王鑫鑫奥运首秀止步八强 怕影响训练父母没来济南探望过...
  17. 10步(**10 step**)天才思维模型
  18. H3C无线网络优化指导——经验之谈
  19. 论文 | 图理论 | 2021年斯坦福大学Jiaxuan You博士论文《用图赋能深度学习》译读 摘要和感谢
  20. Python中的文件路径

热门文章

  1. 如何用CNN玩转AlphaGo版的五子棋?
  2. 位置不可用无法访问E此卷不包含可识别文件系统
  3. 非常漂亮的一款html引导页导航网站旋转头像变幻背景单页源码
  4. 联想计算机如何会会出厂设置方法,联想笔记本开机方法 联想笔记本电脑恢复出厂设置方法...
  5. H.266/VVC代码学习:MIP技术相关代码之initIntraMip函数
  6. 2012年信息系统项目管理师下半年上午考试习题与答案解析
  7. 一些调格式的经验 插入图注和尾注
  8. 「MacTeX 小笔记」准备篇
  9. Mac OS之Latex(MacTeX)初体验
  10. 1.1 极限的概念【极限】