基于STOB工具的自动化测试研究与开发

 2021-12-19 18:55:07

论文总字数:22760字

摘 要

在现代的软件开发过程中,代码控制是个非常常用的手段。STOB工具帮助NI的测试人员通过人工的方式编译某指定变更的LabVIEW (Laboratory Virtual Instrument Engineering Workbench) 并执行测试,循环此操作最终定位引入错误的代码变更。

本课题目标是通过将其重复及等待的工作自动化来替代测试人员完成此项工作。

本课题通过LabVIEW编程,系统命令调用,动态调用等方法完成了此自动化的设计方案。测试结果表明,所开发的工具能够正确并且较为高效地定位给出问题的原因所在。

本文对本工具的意义,背景技术,设计,实现等方面进行了详细论述。

关键词:LabVIEW,测试,自动化,编译,版本控制

THE RESEARCH AND DEVELOPMENT

OF AN AUTOTEST TOOL BASED ON STOB

Abstract

In modern software development process, version control is a very common and important process. The tool called STOB helps NI’s engineers compiled the LabVIEW (Laboratory Virtual Instrument Engineering Workbench) from a specified change on version control servers and test manually. Doing tests with STOB repeatedly can locate the change which introduces the error finally.

This article is a try to convert this work into automation.

This tool use LabVIEW programming, system command calls, VI scripting to complete this automation design. Test results show that this tools can locate where the problem is introduced correctly and more efficiently.

The tool’s background, technology, design and implementation was discussed detailedly in this paper.

KEY WORDS: LabVIEW, auto test, build, version control

目 录

摘 要 II

Abstract III

第一章 绪论 - 1 -

1.1 选题背景与意义 - 1 -

1.2 Perforce - 2 -

1.3 STOB简介与课题目标 - 3 -

1.4 本文工作及组织结构 - 4 -

第二章 背景技术及分析 - 5 -

2.1 LabVIEW - 5 -

2.2 常用的数据类型与结构 - 5 -

2.3 SubVI与动态调用 - 6 -

2.4 LabVIEW的异常及处理 - 7 -

2.5 LabVIEW的log - 9 -

2.6 LabVIEW的Application - 10 -

2.7 LabVIEW的Version - 10 -

第三章 设计与实现 - 11 -

3.1 可行性方案论证 - 11 -

3.2 需求分析 - 13 -

3.3 程序设计 - 14 -

3.4 程序实现 - 18 -

第四章 部署与测试 - 24 -

4.1 项目的部署 - 24 -

4.2 项目的测试 - 25 -

第五章 总结与展望 - 27 -

5.1 总结 - 27 -

5.2 工作展望 - 28 -

致 谢 - 30 -

参考文献(References) - 31 -

  1. 绪 论
    1. 选题背景与意义

在现代的软件开发过程中,源代码版本控制几乎是一个必要的过程,软件设计师常会利用版本控制来追踪、维护源码、文件以及配置文件等等的改动。

在美国国家仪器(NI)公司中,有着完善的源代码版本控制规范以及专门的软件perforce(简称p4,下同)进行版本控制。

公司内部有一个叫STOB的工具能够通过指定p4上的特定版本的change来编译LabVIEW的源代码,模拟生成一个基于该代码变更生成的LabVIEW供测试人员调试。

在控制住其他可变因素的情况下,对相邻的两个代码变更1和2,如果针对某特定问题A,基于代码变更1编译出来的LabVIEW不能重现问题A,而基于变更2编译出来的LabVIEW能够重现问题A,那么一般可认为是代码变更2引起了问题A,于是测试人员便针对p4上的代码变更提交信息找到该代码变更的具体内容及提交人员并告知相关人员去修复这个问题或者根据此修改信息去尝试修复问题A。

然而,由于LabVIEW的开发是个比较大的工程项目,再加上其本身作为一种程序开发环境的特殊性,开发及测试人员往往不能在第一时间发现某些特定的问题,当发现问题时(假定其为问题B),测试人员一般获得的初始信息只能定位到是某一时间段内的代码变更引起了问题B,这段时间所提交的代码版本变更可能数十或者数百个。而STOB工具需要测试人员去手动指定代码变更版本,触发该代码版本的模拟编译,在生成了指定版本LabVIEW之后手动去测试,判断其针对问题B是好的还是坏的,如此迭代测试最后确定是哪个版本变更引起的问题B。每一次的STOB过程可能会花费1小时甚至更长,当时间跨度长,代码变更版本较多的时候针对问题B的测试就要花上测试人员很久去完成这个过程,这需要花费测试人员较长的时间和精力去完成这一过程。

基于此背景提出对STOB进行自动化的需求,对STOB工具的自动化能够在发现问题时通过连续调用STOB测试各个版本的代码变更,去定位出现问题的变更。这样不仅可以节省测试人员的人力成本,又可以通过让它在非工作时间的自动化运行使测试变得更高效。

本课题来源于美国国家仪器(NI)公司的实际开发测试需求,并要求最终程序部署至公司内专用的机器上。

    1. Perforce

perforce是一款具有轻便快速的软件配置管理工具、真正的客户端/服务器系统等特点的商业软件,一般简称P4;整个系统由服务器端和客户端组成。NI公司主要使用perforce软件来实现软件代码版本控制。

公司中服务器端主要有perforce、 penguin、 pacific三个服务器组成。客户端一般由GUI界面(p4win或者p4v软件)或者命令行界面访问P4服务器。 主要有sync,check out,submit,revert,branch等操作。

剩余内容已隐藏,请支付后下载全文,论文总字数:22760字

您需要先支付 80元 才能查看全部内容!立即支付

该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;