TPT中脚本评估的使用(下):测试管理与软件交互( 二 )
值得注意的是 , 我们在编写外部脚本的时候要注意其语法特性要满足TPT内部的语法特性 , 不能使用TPT中不包含的语法特性 。
通过TPT脚本与MATLAB进行交互
TPT提供了与MATLAB进行交互的接口 , 我们可以通过runMScript()函数在MATLAB工作区写入或者读取变量 , 也可以去执行M语言程序 , 在MATLAB中对信号进行计算与处理 , 或者针对不同的测试用例对模型本身进行改变 。

文章图片
下图是这个函数的使用示例 。 首先我们在MATLAB工作区创建了IN和OUT两个变量 , IN是TPT写入MATLAB的变量 , OUT是TPT从MATLAB读取的变量 。 同时TPT把这个函数的第一个参数的内容作为M脚本在MATLAB中执行 。 这个M脚本的执行结果是赋予OUT信号以IN信号的时域与值域的数值 , 之后将模型中的AUTO_MODE参数的值置为3 。

文章图片
除此之外 , 我们还可以用TPT脚本中的setMatlabSettings()函数对MATLAB平台进行设置 , 让测试环境达到我们的要求 。
通过TPT脚本与其它应用程序或Python扩展库进行交互
我们之前在脚本中调用了Python2.7的标准库 , 那如何在TPT脚本中使用例如numpy、pandas、matplotlib这些较为常用的扩展库呢?TPT的execute()这个函数为我们提供了实现的可能 。
我们调用execute()这个函数 , TPT就会自动创建一个我们指定的进程 , 同时TPT解释器会在execute()函数调用语句处暂停 , 等待外部进程的结束 。 那么我们就可以通过共享内存的方法 , 为TPT和外部进程创建一个共同的数据缓存区 , 通过这个缓存区实现TPT和外部进程的数据交互 。 外部进程结束后 , 我们的TPT脚本可以根据其返回的结果来进行下一步的操作 , 原理如下图所示 。

文章图片
整个脚本的执行流程是TPT内部进程和外部进程交叉进行的 , 由于交互的速度很快 , 所以可以近似于是TPT内部库的调用 , 整个过程类似于“并发”这种调度方式 。
TPT脚本的封装与管理
TPT提供了对脚本进行封装和管理的功能 。 在一个项目中 , 有时候我们会有一些重复的计算步骤或者程序流程 , 这时候我们可以把这些计算步骤封装成函数 , 需要时我们可以对函数进行调用 , 简洁了代码提高了效率 。
同样的 , 我们在项目中可能会有一些功能相似或者相互补充的函数 , 这时候我们可以把这些函数进一步封装 , 把同类型的函数封装成外部函数库 , 我们在TPT中可以把这些函数库加载进来 , 方便我们的调用 , 加速整个项目流程 。
举个简单的例子 , 如下图所示 , 我们把绘图和绘表这些固定的脚本步骤封装成了两个函数 。 通过这两个函数的调用 , 我们可以轻而易举的添加多个信号的图像或者表格 。

文章图片
同样的 , 我们假如定义了多个与图形绘制有关的函数 , 我们可以进一步的把图形绘制的函数归类成一个函数库 , 步骤如下图所示 。 这时候我们就可以在多个项目中去使用这个函数库 , 或者分享给团队成员 , 提高了代码的复用性 。

文章图片
我们建立自己的外部函数库也方便我们对工程的管理 。 把一些固定的步骤标准化 , 无疑提高了整个团队代码的规范性 。 同时 , 我们还可以通过Git或SVN对团队的脚本库进行管理与共享 , 提高了团队协作性 。
- 2022年已经进入到了尾声|小米13刚发布,中国移动送出喜讯:5G功耗第一,综合评测第一
- 雷军宣布小米13系列将很快登陆全球市场:国外用户激动坏了在中国市场发布后|雷军宣布小米13系列很快登陆全球市场:国外用户激动坏了
- 本文转自:央广网央广网兰州12月13日消息(记者邸文炯)记者从兰州大学获悉|第四届中国研究生人工智能创新大赛圆满落幕
- “通信行程卡”12月13日下线!中国信通院、三大运营商同步删除用户数据
- 西方品牌撤走后,中企对俄罗斯雪中送炭,海量商品填满市场
- 很多朋友在提到电竞手机时|联想拯救者Y70体验:电竞手机中的正装野兽
- 中兴|中兴被拉黑,10亿美元“罚款”没有白交,高通收购案才是关键点!
- 极狐 GitLab 与微软、神州数码达成合作,在中国市场落地运营
- 中国移动|中国移动发布2022年智能硬件质量报告:小米赢麻了!包揽多项冠军
- Galaxy|三星S22+成为老外眼中印象最深刻的旗舰:直屏 外观设计最佳
