CN109344054A - 一种软件测试数据统计方法及系统 - Google Patents
一种软件测试数据统计方法及系统 Download PDFInfo
- Publication number
- CN109344054A CN109344054A CN201811020731.7A CN201811020731A CN109344054A CN 109344054 A CN109344054 A CN 109344054A CN 201811020731 A CN201811020731 A CN 201811020731A CN 109344054 A CN109344054 A CN 109344054A
- Authority
- CN
- China
- Prior art keywords
- test data
- file
- application program
- function
- counted
- 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.)
- Pending
Links
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/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
本发明提供了一种软件测试数据统计方法及系统,二者均将各待统计其测试数据的应用程序的测试数据分别写入指定的同一磁盘文件,之后通过访问所述的磁盘文件获取并统计各所述应用程序的测试数据。本发明用于减少测试工程师的劳动强度,以及用于提高测试工程师的工作效率。
Description
技术领域
本发明涉及软件测试领域,具体是一种软件测试数据统计方法及系统,用于汇集与统计不同软件测试应用程序产生的测试数据。
背景技术
软件测试(software testing),是一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程,也是一种实际输出与预期输出间的审核或者比较过程,其在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对程序是否能满足设计的要求进行评估。
在软件测试领域,软件测试工程师需要经常对测试数据进行统计,例如统计BUG数量、统计编写的测试用例数量、以及统计执行测试用例数量等。而BUG数量有专门的缺陷管理系统来管理,编写的测试用例数量和执行测试用例数量由测试用例管理系统来管理。测试工程师需要手工去统计该种不同应用程序下各自产生的测试数据,工作量大、工作效率低。
为此,本发明提供一种软件测试数据统计方法及系统,用于解决上述技术问题。
发明内容
本发明所要解决的技术问题是,提供一种软件测试数据统计方法及系统,用于减少测试人员的工作量,提高测试工作效率。
为解决上述技术问题,本发明提供了一种软件测试数据统计方法,该方法基于一组待统计其测试数据的应用程序,所述的软件测试数据统计方法包括步骤:
将各所述应用程序的测试数据分别写入指定的同一磁盘文件;
通过访问所述的磁盘文件,获取并统计各所述应用程序的测试数据。
进一步地,采用内存文件映射方法,将各所述应用程序的测试数据分别写入指定的同一磁盘文件。
其中,所述的采用内存文件映射方法将各应用程序输出的测试数据分别写入上述指定的同一磁盘文件的方法步骤包括:
通过createfile()函数创建一文件内核对象,生成并向操作系统返回物理文件句柄hFile;
通过createfilemapping()函数创建一文件映射内核对象,基于上述返回的物理文件句柄hFile,指定待映射到进程地址空间的文件句柄hFlieMapping;
通过MapViewOfFile()函数,基于上述createfilemapping()函数指定的文件句柄hFlieMapping,将待统计其测试数据的应用程序产生的测试数据映射到所述的进程地址空间,即将待统计其测试数据的应用程序产生的测试数据映射到磁盘文件;
在将待统计其测试数据的应用程序产生的测试数据全部映射到磁盘文件后,通过UnmapViewOfFile()函数解除文件映射;
通过CloseHandle()函数关闭上述通过createfilemapping()函数所创建的文件映射内核对象以及所述的磁盘文件。
其中,所述的待统计其测试数据的应用程序包括软件测试领域的缺陷管理系统和测试用例管理系统。
其中,采用内存的读或写指令访问所述的磁盘文件获取各所述应用程序的测试数据。
另外,本发明还提供了一种软件测试数据统计系统,包括一组待统计其测试数据的应用程序,还包括数据共享模块和数据统计模块;其中:
所述的数据共享模块,与各所述的应用程序相连,用于将各应用程序输出的测试数据分别写入指定的同一磁盘文件中;
所述的数据统计模块,用于通过访问所述的磁盘文件获取并统计各所述应用程序的测试数据。
其中,所述的数据共享模块采用内存文件映射方法将各应用程序输出的测试数据分别写入上述指定的同一磁盘文件。
其中,所述的采用内存文件映射方法将各应用程序输出的测试数据分别写入上述指定的同一磁盘文件的方法步骤包括:
通过createfile()函数创建一文件内核对象,生成并向操作系统返回物理文件句柄hFile;
通过createfilemapping()函数创建一文件映射内核对象,基于上述返回的物理文件句柄hFile,指定待映射到进程地址空间的文件句柄hFlieMapping;
通过MapViewOfFile()函数,基于上述createfilemapping()函数指定的文件句柄hFlieMapping,将待统计其测试数据的应用程序产生的测试数据映射到所述的进程地址空间,即将待统计其测试数据的应用程序产生的测试数据映射到磁盘文件;
在将待统计其测试数据的应用程序产生的测试数据全部映射到磁盘文件后,通过UnmapViewOfFile()函数解除文件映射;
通过CloseHandle()函数关闭上述通过createfilemapping()函数所创建的文件映射内核对象以及所述的磁盘文件。
其中,所述的待统计其测试数据的应用程序包括软件测试领域的缺陷管理系统和测试用例管理系统。
其中,所述数据统计模块采用内存的读或写指令访问所述的磁盘文件获取各所述应用程序的测试数据。
与现有技术相比,本发明的优点在于:本发明所述的软件测试数据统计方法及系统,可免去对手工统计不同应用程序测试数据的统计方式的使用,可以自动去获取不同应用程序上的测试数据,既减少了测试工程师的劳动强度,又提高了测试工程师的工作效率。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。
附图说明
图1为本发明所述软件测试数据统计方法的方法流程示意图。
图2为本发明所述软件测试数据统计系统的结构示意图。
具体实施方式
为使本发明的技术方案和优点更加清楚,下面将结合附图,对本发明的技术方案进行清楚、完整地描述。
图1为本发明所述软件测试数据统计方法的一种具体实施方式。在本实施方式中,该软件测试数据统计方法基于一组待统计其测试数据的应用程序。该软件测试数据统计方法包括步骤:
将各所述应用程序的测试数据分别写入指定的同一磁盘文件;
通过访问所述的磁盘文件,获取并统计各所述应用程序的测试数据。
在本实施方式中,该软件测试数据统计方法采用内存文件映射方法,将各所述应用程序的测试数据分别写入指定的同一磁盘文件。
在本实施方式中,所述的待统计其测试数据的应用程序包括软件测试领域的缺陷管理系统和测试用例管理系统。
使用时,采用内存文件映射方法将各所述应用程序的测试数据分别写入指定的同一磁盘文件,之后通过内存的读或写指令访问所述的磁盘文件获取各所述应用程序的测试数据,之后完成各所述应用程序的测试数据的统计。
其中,所述的采用内存文件映射方法将各应用程序输出的测试数据分别写入上述指定的同一磁盘文件的方法步骤包括:
(1)通过createfile()函数创建一文件内核对象,生成并向操作系统返回物理文件句柄hFile;
(2)通过createfilemapping()函数创建一文件映射内核对象,基于上述返回的物理文件句柄hFile,指定待映射到进程地址空间的文件句柄hFlieMapping;
(3)通过MapViewOfFile()函数,基于上述createfilemapping()函数指定的文件句柄hFlieMapping,将待统计其测试数据的应用程序产生的测试数据映射到所述的进程地址空间,即将待统计其测试数据的应用程序产生的测试数据映射到磁盘文件;
(4)在将待统计其测试数据的应用程序产生的测试数据全部映射到磁盘文件后,通过UnmapViewOfFile()函数解除文件映射;
(5)通过CloseHandle()函数关闭上述通过createfilemapping()函数所创建的文件映射内核对象以及所述的磁盘文件。
综上,本发明所述的软件测试数据统计方法使用时,基于内存文件映射方法将各待统计其测试数据的应用程序的测试数据均写入指定的磁盘文件中,达到对各待统计其测试数据的应用程序的测试数据的共享;之后通过访问共享的磁盘文件中的文件数据,获取各待统计其测试数据的应用程序的测试数据,之后进行统计。可见本发明所述的软件测试数据统计方法,免去了对手工统计不同应用程序测试数据的统计方式的使用,能够自动获取不同应用程序上的测试数据,既减少了测试工程师的劳动强度,又提高了测试工程师的工作效率。
与上述软件测试数据统计方法相对应地,本发明还提供了一种软件测试数据统计系统,参见图2,该软件测试数据统计系统包括一组待统计其测试数据的应用程序,还包括数据共享模块和数据统计模块。其中所述的数据共享模块,与各所述的应用程序相连,用于将各应用程序输出的测试数据分别写入指定的同一磁盘文件中。其中所述的数据统计模块,用于通过访问所述的磁盘文件获取并统计各所述应用程序的测试数据。
其中,所述的数据共享模块采用内存文件映射方法将各应用程序输出的测试数据分别写入上述指定的同一磁盘文件。
在本实施方式中,所述的待统计其测试数据的应用程序包括软件测试领域的缺陷管理系统和测试用例管理系统。
在本实施方式中,软件测试数据统计系统中有两个应用程序,应用程序A和应用程序A1,分别代表软件测试行业的缺陷管理系统和测试用例管理系统,使用时:基于数据共享模块的内存文件映射方法,将应用程序A和应用程序A1各自的测试数据写入指定的磁盘文件(后文称为“磁盘文件B”)中,达到应用程序A的测试数据及应用程序A1的测试数据的共享;之后数据统计模块通过访问磁盘文件B中的文件数据获得应用程序A和应用程序A1的测试数据。其中,在通过数据共享模块向磁盘文件B中写入应用程序A或A1的测试数据时,数据共享模块进行文件内核对象的一系列函数操作,具体地:
(1)通过createfile()函数创建一个文件内核对象,用于标识磁盘上将要用作内存映射文件的文件,并通过HANDLE hFile=createfile()生成与向操作系统返回物理文件句柄hFile,其中HANDLE表示句柄。其中在执行完创建文件内核对象函数后,返回的物理文件句柄保存在hFile中,同时createfile()函数将文件映射在磁盘上的位置通知给操作系统,即指明映射文件的位置。
(2)通过createfilemapping()函数来创建一个文件映射内核对象,具体函数为HANDLE hFlieMapping=createfilemapping(hFile,PAGE_READWRITE,0, 0x4000000),执行该函数时,通过参数hFile(执行文件内核对象函数后生成的句柄,内核对象的唯一标识)找到文件内核对象,对其产生映射,PAGE_READWRITE参数表示可以对文件内核对象可进行读或者写操作,0x4000000指定文件的最大字节数。返回值 hFlieMapping 是文件映射内核对象产生的句柄,用于唯一标识文件映射内核对象。
(3)创建MapViewOfFile()函数,用于通过系统的管理把文件数据映射到进程的地址空间,对应具体函数为PBYTE pbFile = MapViewOfFile(hFileMapping,FILE_MAP_ALL_ACCESS,(DWORD)(qwFileOffset>>32),(DWORD)(qwFileOffset&0xFFFFFFFF),dwBytesInBlock),执行该函数时,通过参数hFileMapping找到映射关系,将应用程序A或A1写入的数据保存到磁盘文件B中,其中参数FILE_MAP_ALL_ACCESS表示对磁盘文件B的访问方式(读或者写),(DWORD)(qwFileOffset>>32)、(DWORD)(qwFileOffset&0xFFFFFFFF)和dwBytesInBlock分别表示文件的偏移地址和磁盘文件的映射长度。
(4)数据接收完成后,通过UnmapViewOfFile()来解除文件映射,之后通过CloseHandle()函数关闭前面创建的文件映射对象和文件,以避免应用程序A和A1在持续运行时资源泄露。
至此,当数据统计模块通过访问所述的磁盘文件B获取并统计各所述应用程序的测试数据(即缺陷和测试用例数据)时,采用内存的读/写指令来访问访问磁盘文件B内的数据,获取缺陷和测试用例的测试数据,之后统计该获取到的缺陷和测试用例的测试数据。
需要说明的是,本发明所述的软件测试数据统计系统通过软件实现。
综上可见,本发明通过内存文件映射,将多个待统计其测试数据的应用程序的测试数据写入同一个磁盘文件,达到了数据共享的目的,使得访问同一个地址空间便能够达到获取及统计各相关测试数据的目的,可见本发明免去了对手工统计不同应用程序测试数据的统计方式的使用,能够自动获取不同应用程序上的测试数据,既减少了测试工程师的劳动强度,又提高了测试工程师的工作效率。
以上实施方式仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施方式对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施方式技术方案的范围。
Claims (10)
1.一种软件测试数据统计方法,该方法基于一组待统计其测试数据的应用程序,其特征在于,所述的软件测试数据统计方法包括步骤:
将各所述应用程序的测试数据分别写入指定的同一磁盘文件;
通过访问所述的磁盘文件,获取并统计各所述应用程序的测试数据。
2.根据权利要求1所述的软件测试数据统计方法,其特征在于,
进一步地,采用内存文件映射方法,将各所述应用程序的测试数据分别写入指定的同一磁盘文件。
3.根据权利要求2所述的软件测试数据统计方法,其特征在于,所述的采用内存文件映射方法将各应用程序输出的测试数据分别写入上述指定的同一磁盘文件的方法步骤包括:
通过createfile()函数创建一文件内核对象,生成并向操作系统返回物理文件句柄hFile;
通过createfilemapping()函数创建一文件映射内核对象,基于上述返回的物理文件句柄hFile,指定待映射到进程地址空间的文件句柄hFlieMapping;
通过MapViewOfFile()函数,基于上述createfilemapping()函数指定的文件句柄hFlieMapping,将待统计其测试数据的应用程序产生的测试数据映射到所述的进程地址空间,即将待统计其测试数据的应用程序产生的测试数据映射到磁盘文件;
在将待统计其测试数据的应用程序产生的测试数据全部映射到磁盘文件后,通过UnmapViewOfFile()函数解除文件映射;
通过CloseHandle()函数关闭上述通过createfilemapping()函数所创建的文件映射内核对象以及所述的磁盘文件。
4.根据权利要求1或2或3所述的软件测试数据统计方法,其特征在于,所述的待统计其测试数据的应用程序包括软件测试领域的缺陷管理系统和测试用例管理系统。
5.根据权利要求1或2或3所述的软件测试数据统计方法,其特征在于,采用内存的读或写指令访问所述的磁盘文件获取各所述应用程序的测试数据。
6.一种软件测试数据统计系统,包括一组待统计其测试数据的应用程序,其特征在于,还包括数据共享模块和数据统计模块;其中:
所述的数据共享模块,与各所述的应用程序相连,用于将各应用程序输出的测试数据分别写入指定的同一磁盘文件中;
所述的数据统计模块,用于通过访问所述的磁盘文件获取并统计各所述应用程序的测试数据。
7.根据权利要求6所述的软件测试数据统计系统,其特征在于,所述的数据共享模块采用内存文件映射方法将各应用程序输出的测试数据分别写入上述指定的同一磁盘文件。
8.根据权利要求7所述的软件测试数据统计系统,其特征在于,所述的采用内存文件映射方法将各应用程序输出的测试数据分别写入上述指定的同一磁盘文件的方法步骤包括:
通过createfile()函数创建一文件内核对象,生成并向操作系统返回物理文件句柄hFile;
通过createfilemapping()函数创建一文件映射内核对象,基于上述返回的物理文件句柄hFile,指定待映射到进程地址空间的文件句柄hFlieMapping;
通过MapViewOfFile()函数,基于上述createfilemapping()函数指定的文件句柄hFlieMapping,将待统计其测试数据的应用程序产生的测试数据映射到所述的进程地址空间,即将待统计其测试数据的应用程序产生的测试数据映射到磁盘文件;
在将待统计其测试数据的应用程序产生的测试数据全部映射到磁盘文件后,通过UnmapViewOfFile()函数解除文件映射;
通过CloseHandle()函数关闭上述通过createfilemapping()函数所创建的文件映射内核对象以及所述的磁盘文件。
9.根据权利要求6或7或8所述的软件测试数据统计系统,其特征在于,所述的待统计其测试数据的应用程序包括软件测试领域的缺陷管理系统和测试用例管理系统。
10.根据权利要求6或7或8所述的软件测试数据统计系统,其特征在于,所述数据统计模块采用内存的读或写指令访问所述的磁盘文件获取各所述应用程序的测试数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811020731.7A CN109344054A (zh) | 2018-09-03 | 2018-09-03 | 一种软件测试数据统计方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811020731.7A CN109344054A (zh) | 2018-09-03 | 2018-09-03 | 一种软件测试数据统计方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109344054A true CN109344054A (zh) | 2019-02-15 |
Family
ID=65296625
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811020731.7A Pending CN109344054A (zh) | 2018-09-03 | 2018-09-03 | 一种软件测试数据统计方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109344054A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5701471A (en) * | 1995-07-05 | 1997-12-23 | Sun Microsystems, Inc. | System and method for testing multiple database management systems |
CN102231121A (zh) * | 2011-07-25 | 2011-11-02 | 北方工业大学 | 基于内存映射的大数据文件快速并行提取方法 |
CN102752548A (zh) * | 2011-05-17 | 2012-10-24 | 新奥特(北京)视频技术有限公司 | 一种字幕机本地预览的方法 |
CN106294122A (zh) * | 2016-07-20 | 2017-01-04 | 苏州博众精工科技有限公司 | 一种标准的软件测试平台及其测试方法 |
US20180121366A1 (en) * | 2016-11-01 | 2018-05-03 | Alibaba Group Holding Limited | Read/write request processing method and apparatus |
CN108052460A (zh) * | 2017-12-08 | 2018-05-18 | 安徽雷威智能科技有限公司 | 地面测试设备嵌入式软件中动态内存映射文件读取方法 |
-
2018
- 2018-09-03 CN CN201811020731.7A patent/CN109344054A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5701471A (en) * | 1995-07-05 | 1997-12-23 | Sun Microsystems, Inc. | System and method for testing multiple database management systems |
CN102752548A (zh) * | 2011-05-17 | 2012-10-24 | 新奥特(北京)视频技术有限公司 | 一种字幕机本地预览的方法 |
CN102231121A (zh) * | 2011-07-25 | 2011-11-02 | 北方工业大学 | 基于内存映射的大数据文件快速并行提取方法 |
CN106294122A (zh) * | 2016-07-20 | 2017-01-04 | 苏州博众精工科技有限公司 | 一种标准的软件测试平台及其测试方法 |
US20180121366A1 (en) * | 2016-11-01 | 2018-05-03 | Alibaba Group Holding Limited | Read/write request processing method and apparatus |
CN108052460A (zh) * | 2017-12-08 | 2018-05-18 | 安徽雷威智能科技有限公司 | 地面测试设备嵌入式软件中动态内存映射文件读取方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Jonsson et al. | Compositional testing preorders for probabilistic processes | |
CN106133537A (zh) | 一种fpga功能模块仿真验证方法及其系统 | |
CN106294222A (zh) | 一种确定pcie设备与插槽对应关系的方法及装置 | |
CN103605606B (zh) | 一种可自动转换的嵌入式软件测试用例批量执行方法 | |
CN100578674C (zh) | 一种寄存器测试的方法和系统 | |
CN103558574A (zh) | 基于eeprom数据读写的智能电能表软件容错能力测试方法 | |
CN112199291A (zh) | 一种多核处理器Cache一致性模拟验证方法及验证装置 | |
CN104022913B (zh) | 用于数据集群的测试方法和装置 | |
CN103716174A (zh) | 测试日志撷取系统及方法 | |
CN105068909A (zh) | 一种内嵌式存储器的模拟测试开发平台 | |
CN202736027U (zh) | 等保测评中操作系统安全的自动测评系统 | |
CN109256173A (zh) | 机载存储设备测试系统 | |
CN106326046B (zh) | 存储器控制器的验证环境平台 | |
CN117076337B (zh) | 一种数据传输方法、装置、电子设备及可读存储介质 | |
CN102999663A (zh) | 一种soc芯片中的mmu的验证方法 | |
CN106021046A (zh) | 一种对比硬盘性能的方法、装置和服务器 | |
CN107515803A (zh) | 一种存储性能测试方法和装置 | |
CN109344054A (zh) | 一种软件测试数据统计方法及系统 | |
CN103995765B (zh) | 一种led控制卡自动测试系统及方法 | |
CN116663490A (zh) | 一种异步存储芯片的验证方法、平台、装置及介质 | |
CN105912451A (zh) | 一种lustre文件系统检测方法及装置 | |
CN114048485B (zh) | 一种针对Docker容器内进程代码段完整性动态监测方法 | |
CN112463633B (zh) | 一种片上存储器的地址译码校验方法、装置、设备及介质 | |
CN113791980A (zh) | 测试用例的转化分析方法、装置、设备及存储介质 | |
CN111290743A (zh) | 一种计算机软件技术开发调试系统 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190215 |