CN108121658B - 基于windows端测试工具测试linux端被测软件的方法 - Google Patents
基于windows端测试工具测试linux端被测软件的方法 Download PDFInfo
- Publication number
- CN108121658B CN108121658B CN201711228114.1A CN201711228114A CN108121658B CN 108121658 B CN108121658 B CN 108121658B CN 201711228114 A CN201711228114 A CN 201711228114A CN 108121658 B CN108121658 B CN 108121658B
- Authority
- CN
- China
- Prior art keywords
- linux
- windows
- tested software
- test
- testing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种基于WINDOWS端测试工具测试LINUX端被测软件的方法,先在LINUX端配置文件共享单元和远程访问单元,然后在LINUX端修改配置文件使得WINDOWS端的计算机可以运行LINUX端计算机上的指令,在WINDOWS端通过资源管理器映射网络磁盘,使WINDOWS端测试工具可以通过硬盘符访问LINUX端的被测软件和测试结果文件,本发明方法具有配置简单、不影响测试基本流程的特点。
Description
技术领域
本发明涉及一种基于WINDOWS端测试工具测试LINUX端被测软件方法,适用于运行在LINUX环境下的C语言嵌入式软件的单元测试。
背景技术
软件单元测试是软件测试的一项基本内容。在航天、航空等安全性要求较高的领域,对软件单元测试均提出了较高的要求(如在满足功能正确性的基础上,语句覆盖率、分支覆盖率均达到100%等)。
目前软件单元测试工具种类较多,但都是仅支持一种运行环境,即或者在WINDOWS环境下运行,或者在LINUX环境下运行。由于环境通用性等原因,目前各单位使用的软件单元测试工具多是基于WINDOWS运行环境的,较少使用基于LINUX环境的单元测试工具。但是工程实践中有一些被测软件只能在 LINUX环境下进行编译,对这些软件进行单元测试需要采购单独的LINUX环境的单元测试工具,但这既需要额外的经费支持,又需要一定的采购周期。
发明内容
本发明的技术解决问题是:为克服现有技术不足,提出了一种基于 WINDOWS端测试工具测试LINUX端被测软件方法,以在WINDOWS端实现对LINUX环境下被测软件进行单元测试及覆盖率分析。
本发明的技术解决方案是:
基于WINDOWS端测试工具测试LINUX端被测软件的方法,测试工具包括编译单元、测试输入单元、预期结果设置单元,具体步骤如下:
(1)在LINUX端配置文件共享单元,使得从WINDOWS端可以访问 LINUX端的文件;在LINUX端配置远程访问单元,使得从WINDOWS端可以远程执行LINUX端的指令;
(2)在LINUX端设置用于指定可进行远程访问的计算机ip地址及用户名的配置文件,使得从与配置文件中所设置的ip地址和用户名相一致的 WINDOWS端计算机可以执行LINUX端计算机上的的指令;
(3)在WINDOWS端通过资源管理器把LINUX端存放被测软件的路径映射为网络磁盘,使WINDOWS端测试工具可以通过网络磁盘符访问LINUX端的被测软件和被测软件执行后生成的测试结果文件;
(4)根据被测软件设计文档的要求,通过WINDOWS端测试工具的测试输入单元设置测试输入数据,通过预期结果设置单元根据被测软件设计文档的要求设置被测软件的预期测试结果,修改WINDOWS端测试工具的编译单元,在原编译单元的基础上增加可远程访问的LINUX端计算机的ip地址和用户名,形成修改后的编译单元,使WINDOWS端测试工具可以远程执行LINUX端的编译执行指令;
(5)使用WINDOWS端测试工具通过网络磁盘符读取LINUX端的被测软件,调用修改后的编译单元来远程执行LINUX端的编译执行指令,对被测软件和测试输入数据进行编译执行,并在LINUX端生成测试结果文件,从 WINDOWS端测试工具通过网络磁盘符读取测试结果文件,并与步骤4中的预期测试结果进行比对,如果不一致,则说明被测软件存在缺陷;如果一致则进入步骤6;
(6)使用WINDOWS端测试工具对步骤5中读取的测试结果文件进行分析,分析其中的语句覆盖率、分支覆盖率,如果两者覆盖率未达到100%,则进入步骤5,根据被测软件设计文档的要求增加新的测试输入数据,如果两者覆盖率达到100%,则说明被测软件满足要求,如果两者覆盖率未达到100%,则说明被测软件存在缺陷。
步骤6中在增加新的测试输入数据时,根据被测软件设计文档中对测试输入数据的范围的要求进行输入。
步骤6中在增加新的测试输入数据时,根据被测软件设计文档中对测试输入数据的范围要求以外的数据进行输入。
步骤4中的编译单元可以根据被测软件所使用的编译器进行选择配置,以保证测试工具使用的编译器与被测软件使用的编译器一致。
利用测试工具分析语句覆盖率、分支覆盖率的累积值,步骤6中语句覆盖率和分支覆盖率达到100%要求被测软件中所有的语句和分支均得到执行。
本发明与现有技术相比的优点在于:
(1)本发明解决了基于WINDOWS环境测试工具对LINUX端被测软件进行单元测试的问题,通过配置可以使得从WINDOWS端测试工具访问LINUX 端的被测软件和测试结果文件,并对LINUX端实施远程访问,且具有配置简单、不影响测试基本流程等特点,为扩展现有测试工具应用范围提供了简便实用的方法;
(2)本发明通过修改WINDOWS端测试工具的编译单元使得可以从 WINDOWS端测试工具远程执行LINUX端的编译执行指令,测试数据输入过程、预期结果设置过程均在WINDOWS端进行,在对被测软件功能正确性进行验证基础上,再满足语句覆盖率和分支覆盖率要求;
(3)使用本方法可以扩大WINDOWS端测试工具的应用范围,本发明方法所采用的跨平台思路和方法可以扩展到其他WINDOWS端软件需要访问 LINUX端的文件或者运行LINUX端的程序时的场景,且对原有测试流程无影响。
附图说明
图1为本发明方法的流程图。
具体实施方式
如图1所示,本发明基于WINDOWS端测试工具测试LINUX端被测软件方法,由配置文件共享单元和远程访问单元修改LINUX端远程访问配置文件,映射LINUX端存放被测软件路径为网络磁盘,设置测试输入数据和预期结果数据,修改WINDOWS端测试工具的编译单元,通过网络磁盘符读取LINUX端的被测软件,通过修改编译单元来远程执行LINUX端的编译执行指令,通过网络磁盘符读取测试结果文件,将测试结果文件与预期测试结果进行比对,对测试结果文件进行语句覆盖率和分支覆盖率分析等过程组成。其中编译执行指令的内容为调用编译器对被测软件进行编译、执行并生成测试结果文件。
WINDOWS环境下标准单元测试过程如下:使用测试工具读取被测软件,设置测试输入数据和预期结果数据、运行编译执行指令对测试输入数据和被测软件进行编译执行得到测试结果文件,将测试结果文件与预期测试结果进行比对,对测试结果文件进行语句覆盖率和分支覆盖率分析。其中编译执行指令的内容为调用编译器对被测软件进行编译、执行并生成测试结果文件。
从上述过程中可以看出,本发明中由于被测软件源码和测试结果文件均位于LINUX端,首先需要解决如何从WINDOWS端读取LINUX端文件的问题;其次需要解决如何从WINDOW端运行LINUX端编译执行指令的问题。上述问题可通过在LINUX端配置文件共享单元和远程访问单元来解决。
配置文件共享单元和远程访问单元
首先需要解决从WINDOWS端读取LINUX端文件的问题,这通过配置文件共享单元(在LINUX端安装并运行文件共享单元软件)来完成。
其次需要解决从WINDOWS端的测试工具执行LINUX端的编译执行指令问题,这首先需要配置远程访问单元(在LINUX端安装并运行远程访问单元软件),在此基础上再修改WINDOWS端用于进行远程访问的配置文件。
修改远程访问配置文件过程如下:
修改LINUX端的.rhosts文件,使得WINDOWS端的计算机可以运行 LINUX端计算机上的RSH命令,具体方法为在.rhosts文件中增加如下代码: WINDOWS端计算机ip地址root(用户名);。
修改WINDOWS端测试工具编译单元
配置好配置文件共享单元和远程访问单元后,需要对WINDOWS端测试工具的编译单元进行修改,具体方式如下:在原编译单元的基础上增加进行远程访问的LINUX端计算机的ip地址和用户名,形成修改后的编译单元:其目的是使WINDOWS端测试工具可以通过远程访问运行LINUX端的编译执行指令。
使用修改编译单元后WINDOWS端测试工具进行测试
完成上述配置后,使用修改编译单元后的WINDOWS端测试工具,按照前述标准单元测试过程进行单元测试,其具体过程为:从WINDOWS端测试工具读取被测软件、设置测试输入数据和预期结果数据、运行编译执行指令对测试输入数据和被测软件进行编译得到测试结果文件、将测试结果文件与预期测试结果进行比对、对测试结果文件进行语句覆盖率和分支覆盖率分析。
本发明通过修改WINDOWS端测试工具的编译单元使得可以从 WINDOWS端测试工具通过远程访问运行LINUX端的编译执行指令,测试数据输入过程、预期结果设置过程均在WINDOWS端进行,在对被测软件功能正确性进行验证基础上,再满足语句覆盖率和分支覆盖率要求;
使用本方法可以扩大WINDOWS端测试工具的应用范围,本发明方法所采用的跨平台思路和方法可以扩展到其他WINDOWS端软件需要访问LINUX端的文件或者运行LINUX端的程序时的场景,且对原有测试流程无影响。
本发明说明书中未作详细描述的内容属本领域技术人员的公知技术。
Claims (5)
1.基于WINDOWS端测试工具测试LINUX端被测软件的方法,测试工具包括编译单元、测试输入单元、预期结果设置单元,其特征在于,具体步骤如下:
(1)在LINUX端配置文件共享单元,使得从WINDOWS端可以访问LINUX端的文件;在LINUX端配置远程访问单元,使得从WINDOWS端可以远程执行LINUX端的指令;
(2)在LINUX端设置用于指定可进行远程访问的计算机ip地址及用户名的配置文件,使得从与配置文件中所设置的ip地址和用户名相一致的WINDOWS端计算机可以执行LINUX端计算机上的指令;
(3)在WINDOWS端通过资源管理器把LINUX端存放被测软件的路径映射为网络磁盘,使WINDOWS端测试工具可以通过网络磁盘符访问LINUX端的被测软件和被测软件执行后生成的测试结果文件;
(4)根据被测软件设计文档的要求,通过WINDOWS端测试工具的测试输入单元设置测试输入数据,通过预期结果设置单元根据被测软件设计文档的要求设置被测软件的预期测试结果,修改WINDOWS端测试工具的编译单元,在原编译单元的基础上增加可远程访问的LINUX端计算机的ip地址和用户名,形成修改后的编译单元,使WINDOWS端测试工具可以远程执行LINUX端的编译执行指令;
(5)使用WINDOWS端测试工具通过网络磁盘符读取LINUX端的被测软件,调用修改后的编译单元来远程执行LINUX端的编译执行指令,对被测软件和测试输入数据进行编译执行,并在LINUX端生成测试结果文件,从WINDOWS端测试工具通过网络磁盘符读取测试结果文件,并与步骤4中的预期测试结果进行比对,如果不一致,则说明被测软件存在缺陷;如果一致则进入步骤6;
(6)使用WINDOWS端测试工具对步骤5中读取的测试结果文件进行分析,分析其中的语句覆盖率、分支覆盖率,如果两者覆盖率未达到100%,则进入步骤5,根据被测软件设计文档的要求增加新的测试输入数据,如果两者覆盖率达到100%,则说明被测软件满足要求。
2.根据权利要求1所述的基于WINDOWS端测试工具测试LINUX端被测软件的方法,其特征在于:步骤6中在增加新的测试输入数据时,根据被测软件设计文档中对测试输入数据的范围的要求进行输入。
3.根据权利要求1所述的基于WINDOWS端测试工具测试LINUX端被测软件的方法,其特征在于:步骤6中在增加新的测试输入数据时,根据被测软件设计文档中对测试输入数据的范围要求以外的数据进行输入。
4.根据权利要求1所述的基于WINDOWS端测试工具测试LINUX端被测软件的方法,其特征在于:步骤4中的编译单元可以根据被测软件所使用的编译器进行选择配置,以保证测试工具使用的编译器与被测软件使用的编译器一致。
5.根据权利要求1所述的基于WINDOWS端测试工具测试LINUX端被测软件的方法,其特征在于:利用测试工具分析语句覆盖率、分支覆盖率的累积值,步骤6中语句覆盖率和分支覆盖率达到100%要求被测软件中所有的语句和分支均得到执行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711228114.1A CN108121658B (zh) | 2017-11-29 | 2017-11-29 | 基于windows端测试工具测试linux端被测软件的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711228114.1A CN108121658B (zh) | 2017-11-29 | 2017-11-29 | 基于windows端测试工具测试linux端被测软件的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108121658A CN108121658A (zh) | 2018-06-05 |
CN108121658B true CN108121658B (zh) | 2020-11-20 |
Family
ID=62228635
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711228114.1A Active CN108121658B (zh) | 2017-11-29 | 2017-11-29 | 基于windows端测试工具测试linux端被测软件的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108121658B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109376525B (zh) * | 2018-09-14 | 2020-11-03 | 网宿科技股份有限公司 | Linux服务器的提示方法、Linux服务器及计算机可读存储介质 |
CN112416773A (zh) * | 2020-11-23 | 2021-02-26 | 通号万全信号设备有限公司 | 一种跨平台的数据可视化方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103631704A (zh) * | 2012-08-23 | 2014-03-12 | 上海斐讯数据通信技术有限公司 | 通信设备的自动化测试***及方法 |
CN104978275A (zh) * | 2015-07-16 | 2015-10-14 | 北京航空航天大学 | 一种面向do-178c软件测试过程的目标验证及证据模型提取方法 |
CN105487974A (zh) * | 2015-11-25 | 2016-04-13 | 普华基础软件股份有限公司 | 一种软件稳定性测试方法 |
CN106161143A (zh) * | 2016-07-22 | 2016-11-23 | 浪潮电子信息产业股份有限公司 | 一种基于arm服务器的网络性能测试方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8955036B2 (en) * | 2012-04-11 | 2015-02-10 | Mcafee, Inc. | System asset repository management |
-
2017
- 2017-11-29 CN CN201711228114.1A patent/CN108121658B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103631704A (zh) * | 2012-08-23 | 2014-03-12 | 上海斐讯数据通信技术有限公司 | 通信设备的自动化测试***及方法 |
CN104978275A (zh) * | 2015-07-16 | 2015-10-14 | 北京航空航天大学 | 一种面向do-178c软件测试过程的目标验证及证据模型提取方法 |
CN105487974A (zh) * | 2015-11-25 | 2016-04-13 | 普华基础软件股份有限公司 | 一种软件稳定性测试方法 |
CN106161143A (zh) * | 2016-07-22 | 2016-11-23 | 浪潮电子信息产业股份有限公司 | 一种基于arm服务器的网络性能测试方法及装置 |
Non-Patent Citations (1)
Title |
---|
《windows访问Linux共享的文件》;zhuifeng1024;《csdn博客》;20140825;第2-5页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108121658A (zh) | 2018-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10691419B2 (en) | Reconstructing a high level compilable program from an instruction trace | |
US11151018B2 (en) | Method and apparatus for testing a code file | |
CN102831060B (zh) | 一种基于修改影响分析的部件软件回归测试用例更新方法 | |
CN104834600B (zh) | 一种测试Android应用控件的方法 | |
US20150026664A1 (en) | Method and system for automated test case selection | |
US20160170864A1 (en) | Integrated automated test case generation for safety-critical software | |
US9952837B1 (en) | Reusable component in a modeling environment | |
KR101706425B1 (ko) | 코드의 단위 테스트를 위한 장치 및 방법 | |
CN108345532A (zh) | 一种自动化测试用例生成方法和装置 | |
CN103793326A (zh) | 组件测试方法及装置 | |
CA2956364A1 (en) | System and method for coverage-based automated test case augmentation for design models | |
CN107015841B (zh) | 一种程序编译的预处理方法及程序编译设备 | |
Tao et al. | Modeling mobile application test platform and environment: testing criteria and complexity analysis | |
CN106155903B (zh) | 用于***设计验证的装置和方法 | |
CN108121658B (zh) | 基于windows端测试工具测试linux端被测软件的方法 | |
CN106775842A (zh) | 一种可自定义的dex分包的方法 | |
CN111338925A (zh) | 小程序测试方法及装置、***、电子设备和存储介质 | |
TW201907304A (zh) | 用於一微控制器程式之程式碼涵蓋範圍追蹤 | |
Jagannatha et al. | Comparative study on automation testing using selenium testing framework and QTP | |
US9710360B2 (en) | Optimizing error parsing in an integrated development environment | |
Nghiem | MLE+: a Matlab-EnergyPlus co-simulation interface | |
CN115407997A (zh) | 基于低代码的敏捷开发应用方法及*** | |
Tao et al. | An Approach to Mobile Application Testing Based on Natural Language Scripting. | |
CN113360373A (zh) | 一种移动应用Activity页面全遍历的测试方法 | |
Harsha et al. | Software Test Automation with Robot Framework |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |