博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《Effective Debugging:软件和系统调试的66个有效方法》——第12条:将复杂的测试场景自动化...
阅读量:7066 次
发布时间:2019-06-28

本文共 966 字,大约阅读时间需要 3 分钟。

本节书摘来自华章计算机《Effective Debugging:软件和系统调试的66个有效方法》一书中的第2章,第12节,作者[希]迪欧米迪斯·斯宾奈里斯(Diomidis Spinellis),爱飞翔 译,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

第12条:将复杂的测试场景自动化

我们可以用脚本对复杂的测试场景进行自动化。自动化的方式有很多种。如果是要对处理流程与文件进行编排,那么可以考虑Unix shell所提供的大量实用工具(参见第22条)。此外,通过能够获取URL的curl命令,以及能够解析JSON数据的jq命令,我们还可以用shell来测试Web服务。对于牵涉API访问及状态维护等事宜的复杂场景来说,我们可以求助于功能更为丰富的脚本语言,如Python、Ruby或Perl,另外,还有很多系统会内置它们自己的脚本语言,如Apache HTTP Server、Wireshark(一款网络包分析器)以及VLC(一款媒体播放器)都支持Lua编程语言。

如果软件本身不支持脚本语言,但你能够对它进行修改,那么可以考虑将该软件与脚本语言结合起来,通过相关的API来把软件程序中的函数披露给脚本语言。现在看一个简单的例子(这是笔者特意构造出来的)。假设我们用C语言实现了一个数学函数库,并且需要对其进行测试,那么可以采用程序清单2.1这样的C语言代码来加载并运行名为debug.lua的Lua程序。这段C语言代码会把sin、cos及tan函数导出给Lua程序,以供其进行测试。

image

image

在Debian Linux系统中,可以通过sudo apt-get install lua5.2-dev命令来安装Lua,并通过cc myprog.c-llua5.2-lm来编译上述C语言程序。(其他操作系统上面的安装方法,请参阅Lua的文档。)然后,笔者编写下面这个简短的Lua程序,并通过正弦函数的定义来验证数学函数库中的函数所达到的精确程度。

image

运行C语言程序之后,该程序会加载Lua代码,并产生下面这样的输出:

image

在现实工作中,本例所举的C语言程序相当于你正在开发的大型应用程序,而受测的三角函数,则相当于应用程序里面有待检查的那些函数,你可以通过Lua程序为其打造相应的测试用例。

要点

  • 通过脚本语言来自动执行复杂的测试用例。

转载地址:http://ywsll.baihongyu.com/

你可能感兴趣的文章
我的友情链接
查看>>
AGG第三十五课 gsv_text 渲染ASCII字符
查看>>
查找组成一个偶数最接近的两个素数
查看>>
不怕狼一样的敌人,就怕狗一样的朋友
查看>>
bash基础特性
查看>>
【连载】物联网全栈教程-从云端到设备(十二)---最简单的单片机上云方法!...
查看>>
如何自学编程?学习方法在这里!
查看>>
springboot web应用 jar 启动 ant脚本
查看>>
SolrCould 集群搭建
查看>>
IDEA Git版本回滚提交方式
查看>>
tomcat中同时启动两个项目出现内存不足的错误提示解决办法
查看>>
ssm框架开发过程中遇到的一错误以及解决问题提示
查看>>
树的遍历
查看>>
微信公众号支付PHP-SDK的一个BUG
查看>>
网络 基于TCP协议socket编程
查看>>
现代软件工程讲义 目录
查看>>
Akka2使用探索6(Futures)——实现并发和异步
查看>>
【持续更新】jQuery 实用技巧
查看>>
大象也能起舞,Citrix X1计划让你对笔记本电脑say good bye
查看>>
Nginx 之常见报错问题解决
查看>>