• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

Ns2中的测试用例

发布: 2009-3-05 09:48 | 作者: 不详 | 来源: 测试时代采编 | 查看: 70次 | 进入软件测试论坛讨论

领测软件测试网

1测试用例说明
        在NS2的源代码包中包含了几乎所有协议的测试代码,全部存放在ns2\tcl\test目录下,即test-suite-*.tcl这样的文件。每个文件基本就对应一个协议,而且有一个对应的输出目录存放供比较用的运行结果。在运行test-suite-*.tcl之后将会产生一个temp.rands文件,只要这个文件和相应目录下的文件比较相一致就说明NS2的安装是正确的。
        如test-suite-adaptive-red.tcl这个文件的对应目录就是test-output-adaptive-red。
        每个测试用的tcl文件中都使用了一个或多个测试用例,因此output目录下也对应有一个或者多个文件,这些供比较用的文件都是用gzip压缩的,比较前应先解压缩。通过ns test-suite-*.tcl这样的命令可以知道每个TCL文件所支持的测试用例。使用ns test-suite-*.tcl test_name这样的格式就可以调用指定的测试用例。

        Ns test-suite-adaptive-red.tcl red1
        就指明了要调用red1这个测试用例,运行之后在测试目录下生成temp.rands文件,将这个文件与test-output-adaptive-red\red1.Z解压缩后的文件进行比较即可。
2测试代码
        在此测试目录下同时提供了完整的测试Shell代码,不过很遗憾在windows下没法运行(需要cygwin),于是自己动手写了下面的C++代码进行完整的测试。
// NsTest.cpp : 定义控制台应用程序的入口点。
//
 
#include "stdafx.h"
#include <windows.h>
#include <fstream>
#include <math.h>
using namespace std;
 
#define TEST_PATH "d:\\temp\\test\\"
#define FIND_MASK "d:\\temp\\test\\test-suite-*.tcl"
#define NS_PATH "d:\\research\\debug\\ns-2.31.exe"
 
void Compare(char* f1, char* f2)
{
     // 比较两个文件是否相同,之所以不用cmp进行比较,是因为在不同版本生成的数据中输出格式可能会不一致,
     // 主要是科学计数法输出的不一致,如提供的原始数据为.2e-05,而生成的数据为.2e-005
     ifstream s1(f1);
     ifstream s2(f2);
     if(s1.is_open() && s2.is_open())
     {
         char line1[2048], line2[2048];
         int nLine = 0;
         while(!s1.eof() && !s2.eof())
         {
              nLine++;
              s1.getline(line1, 2048);
              s2.getline(line2, 2048);
              if(strcmp(line1, line2) == 0) continue;
              double d[4];
              sscanf(line1, "%lf %lf", &d[0], &d[1]);
              sscanf(line2, "%lf %lf", &d[2], &d[3]);
              if(fabs(d[0] - d[2]) > 0.00005 || fabs(d[1] - d[3]) > 0.005)
          

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

21/212>

关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网