当前位置:  编程技术>综合
本页文章导读:
    ▪C/C++单元测试工具基本技术指标          这是本人根据多年经验提出的衡量C/C++单元测试工具能否胜任实际项目的技术指标,供需要评估单元测试工具的朋友们参考。1、 自动隔离测试目标    a.&n.........
    ▪VS中使用各种Web服务      ===========================• 天气预报查询========================== --------WebTianQi.aspx前台------------ <body>  <form id="form1" runat="server">  <div>   <asp:DropDownList ID="Dr.........
    ▪More Effective C++读书笔记13      Item 13:通过引用(reference)捕获异常     为什么要通过引用捕获异常,引用捕获异常相对值和指针捕获有何优点?     通过Item12学习可以看到首先,值捕获异常.........

[1]C/C++单元测试工具基本技术指标
    来源: 互联网  发布时间: 2013-11-10

    这是本人根据多年经验提出的衡量C/C++单元测试工具能否胜任实际项目的技术指标,供需要评估单元测试工具的朋友们参考。

1、 自动隔离测试目标
    a. 可根据测试任务,设置指定的文件为测试目标;
    b. 对于不测试,但可能大量依赖的文件,可以设为调用实际代码;
    c. 对于不属于a和b的文件,自动生成桩代码。
2、 自动生成测试代码
    a. 自动生成测试文件,以及执行测试所需的代码框架;
    b. 自动为每个类、每个函数生成测试类、测试函数;
    c. 可以根据指定的数据,生成对应的输入输出代码。
3、 自动表格化
    a. 可以通过双击或类似的简便操作,将数据移到表格中;
    b. 可以在表格中建立、删除、编辑用例。
4、 解决可测性问题
    a. 可以在用例中直接设置底层函数的返回值、输出参数的值,以及底层函数所修改的全局变量的值;
    b. 可以在用例中设置局部变量的值;
    c. 对于a和b所设置的数据,可以移到表格中,与其他数据一起编辑和管理;
    d. 可以判断局部变量的计算结果是否符合预期。
5、 白盒覆盖
    a. 自动统计以下覆盖率:语句覆盖、条件覆盖、分支覆盖、C/DC、MC/DC、路径覆盖。
    b. 未覆盖的逻辑单位标示清晰:在代码中标出未覆盖的语句、条件值、判断值、MC/DC;自动画出程序的逻辑结构图,标示未覆盖的分支与路径。
    c. 提供协助找出遗漏用例的功能,例如,针对某个指定的未覆盖单位,自动从现有用例中计算出最近似的用例,并提供修改提示,或类似的功能,以解决难于实现高标准覆盖的问题。
6、 自动用例
    a. 自动生成边界测试用例,检测崩溃、超时等极端错误。
7、 测试报告
    a. 自动生成测试报告;
    b. 测试报告需包括以下内容:所有函数的覆盖率数据;用例的代码、每个用例的输入与预期输出、每个用例的实际输出,并标示报错的用例。
8、 支持边开发边测试,促进开发效率的提升
    a. 当产品代码修改时,同步更新测试代码,自动执行测试;
    b. 测试结果直观地描述程序行为:输入是什么,该输入下执行了哪些代码,产生了什么输出。

作者:dellfox 发表于2013-1-11 11:49:38 原文链接
阅读:36 评论:0 查看评论

    
[2]VS中使用各种Web服务
    来源: 互联网  发布时间: 2013-11-10

===========================• 天气预报查询==========================
--------WebTianQi.aspx前台------------
<body>
 <form id="form1" runat="server">
 <div>
 
<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True"
Xonselectedindexchanged="DropDownList1_SelectedIndexChanged">
 </asp:DropDownList>
&nbsp;<asp:DropDownList ID="DropDownList2" runat="server">
 </asp:DropDownList>
&nbsp;
 <asp:Button ID="btnChaKan" runat="server" Xonclick="btnChaKan_Click" Text="查看" />
&nbsp;&nbsp;&nbsp;
 <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
 
</div>
 </form>
</body>
---------WebTianQi.aspx-后台------------
 protected void Page_Load(object sender, EventArgs e)
 {
 if (!IsPostBack)
 {
 cn.com.webxml.www.WeatherWebService weather = new

cn.com.webxml.www.WeatherWebService();
 this.DropDownList1.DataSource=weather.getSupportProvince();
 this.DropDownList1.DataBind();
 }
 
}
 
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
 {
 cn.com.webxml.www.WeatherWebService weather = new cn.com.webxml.www.WeatherWebService();
 BindCity(weather);
 }
 
private void BindCity(cn.com.webxml.www.WeatherWebService weather)
 {
 this.DropDownList2.Items.Clear();
 string[] strs = weather.getSupportCity(this.DropDownList1.SelectedValue);
 foreach (string item in strs)
 {
 DropDownList2.Items.Add(new ListItem(item.Substring(0, item.IndexOf("("))));
 }
 }
 
protected void btnChaKan_Click(object sender, EventArgs e)
 {
 cn.com.webxml.www.WeatherWebService weather = new cn.com.webxml.www.WeatherWebService();
 string[] strs=weather.getWeatherbyCityName(this.DropDownList2.SelectedValue);
 this.Label1.Text = strs[0] + ":"+strs[1] + ":<br/>";
 this.Label1.Text += "气温:" + strs[5] + ";风向和风力:" + strs[7];
 }
 

=================• 列车时刻表查询 ===============================
 
------------WebLieCheShiKeBiao.aspx前台------
<body>
 <form id="form1" runat="server">
 <div>
 
<br />
 发车站:<asp:TextBox ID="txtFaCheZhan" runat="server"></asp:TextBox>
 <br />
 到达站:<asp:TextBox ID="txtDaoDaZhan" runat="server"></asp:TextBox>
 
<br />
 UserId:<asp:TextBox ID="txtUserId" runat="server"></asp:TextBox>
 <span>商业用户ID(普通用户不需要)</span><br />
 <asp:Button ID="btnChaXun" runat="server" Xonclick="btnChaXun_Click" Text="查询" />
 <br />
 <br />
 <asp:GridView ID="GridView1" runat="server">
 </asp:GridView>
 
</div>
 </form>
</body>
 
-----------WebLieCheShiKeBiao.aspx.cs后台-----------------
 
protected void btnChaXun_Click(object sender, EventArgs e)
 {
 cn.com.webxml.www1.TrainTimeWebService train = new

cn.com.webxml.www1.TrainTimeWebService();
 DataSet ds=train.getStationAndTimeByStationName(txtFaCheZhan.Text, txtDaoDaZhan.Text,

txtUserId.Text);
 
this.GridView1.DataSource = ds;
 this.GridView1.DataBind();
 }
 
==========================• 电话号码查询 ==========================
 
--------WebDianHuaHaoMa.aspx前台----------
<body>
 <form id="form1" runat="server">
 <div>
 请输入手机号码:<asp:TextBox ID="txtHaoMa" runat="server"></asp:TextBox>
 
<br />
 userID:<asp:TextBox ID="txtUserId" runat="server"></asp:TextBox>
 <span>商业用户ID不用填写<br />
 </span>
 <asp:Button ID="btnChaXun" runat="server" Xonclick="btnChaXun_Click" Text="查询" />
 <br />
 <asp:Label ID="Label1" runat="server"></asp:Label>
 
</div>
 </form>
</body>
 
--------WebDianHuaHaoMa.aspx.cs后台-------
 protected void btnChaXun_Click(object sender, EventArgs e)
 {
 cn.com.webxml.webservice.MobileCodeWS mobile = new cn.com.webxml.webservice.MobileCodeWS
 
();
 Label1.Text= mobile.getMobileCodeInfo(txtHaoMa.Text, txtUserId.Text);
 }
 

==========================• 中英文翻译==========================
 
------WebZhongYingWenFanYi.aspx前台------------------------
<body>
 <form id="form1" runat="server">
 <div>
 请输入英文或中文:<asp:TextBox ID="txtWord" runat="server"></asp:TextBox>
 <asp:Button ID="btnFanYi" runat="server" Text="翻译" Xonclick="btnFanYi_Click" />
 <br />
 <asp:Label ID="Label1" runat="server" Text=""></asp:Label>
 </div>
 </form>
</body>
 
------WebZhongYingWenFanYi.aspx.cs后台------------------------
 
protected void btnFanYi_Click(object sender, EventArgs e)
 {
 cn.com.webxml.www2.TranslatorWebService translator = new

cn.com.webxml.www2.TranslatorWebService();
 string[] strs=translator.getEnCnTwoWayTranslator(txtWord.Text);
 Label1.Text = strs[0] + ";" + strs[1];
 }
 
==========================• 验证码图片==========================
 

--------WebYanZhengMa.aspx前台----------------------
<body>
 <form id="form1" runat="server">
 <div>
 请输入验证码(为英文/数字)
 <asp:TextBox ID="txtYZM" runat="server"></asp:TextBox>
 <br />
 <br />
 <asp:Button ID="btnShengCheng" runat="server" Xonclick="btnShengCheng_Click"
Text="生成" />
 <br />
 </div>
 </form>
</body>
--------WebYanZhengMa.aspx.cs后台----------------------
 
protected void btnShengCheng_Click(object sender, EventArgs e)
 {
 System.IO.MemoryStream bstream = new System.IO.MemoryStream();
 
cn.com.webxml.www3.ValidateCodeWebService validate = new

cn.com.webxml.www3.ValidateCodeWebService();
 byte[] Ary=validate.enValidateByte(txtYZM.Text);
 HttpContext.Current.Response.Cache.SetCacheability(System.Web.HttpCacheability.NoCache);
 HttpContext.Current.Response.ClearContent();
 HttpContext.Current.Response.ContentType = "image/Png";
 HttpContext.Current.Response.BinaryWrite(Ary);
 HttpContext.Current.Response.End();
 }
 
-----------Web.config------------------
<configuration>
 <configSections>
 <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup,

System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
 <section name="_2013_1_6.Properties.Settings"

type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral,

PublicKeyToken=b77a5c561934e089" requirePermission="false" />
 </sectionGroup>
 </configSections>
 <system.web>
 <compilation debug="true" targetFramework="4.0" />
 </system.web>
 <connectionStrings>
 
<add name="studentConstr" connectionString="data source=.;initial catalog=student;user

id=sa;password=111111"/>
 </connectionStrings>
 <applicationSettings>
 <_2013_1_6.Properties.Settings>
 <setting name="_2013_1_6_cn_com_webxml_www_WeatherWebService"
 serializeAs="String">
 <value>http://www.webxml.com.cn/WebServices/WeatherWebService.asmx</value>
 </setting>
 <setting name="_2013_1_6_cn_com_webxml_www1_TrainTimeWebService&q

    
[3]More Effective C++读书笔记13
    来源: 互联网  发布时间: 2013-11-10
Item 13:通过引用(reference)捕获异常

    为什么要通过引用捕获异常,引用捕获异常相对值和指针捕获有何优点?
    通过Item12学习可以看到首先,值捕获异常会调用拷贝构造函数2次,而引用捕获只有一次,效率方面,引用要高于值。可以按效率高低进行下排序,由高到低:指针->引用->值。
其次值传递在继承体系中会导致slice问题,即子类会被切割为基类。通过这两点就可以完全排除值捕获异常的可能性了。那么指针和引用相比,为什么要采用引用呢?
     如果要是通过指针捕获异常的话,那么传递过来的指针是堆栈分配的?还是静态指针?还是栈对象的取地址操作获取的指针?根据不同的情况,会有不同的结果。如果是堆栈分配的指针,那么需要释放内存,如果通过局部对象的地址获取的指针,有可能在捕获到后,已经超过作用域,而指向一个已经销毁的对象,所以对catch来说,通过指针捕获异常,对异常的处理要复杂得多,也难以保持统一。而通过引用捕获异常却没有这些问题,所以当然最终选择最优的方案,通过引用捕获异常。
作者:goof 发表于2013-1-11 11:47:18 原文链接
阅读:34 评论:0 查看评论

    
最新技术文章:
▪error while loading shared libraries的解決方法    ▪版本控制的极佳实践    ▪安装多个jdk,多个tomcat版本的冲突问题
▪简单选择排序算法    ▪国外 Android资源大集合 和个人学习android收藏    ▪.NET MVC 给loading数据加 ajax 等待loading效果
▪http代理工作原理(3)    ▪关注细节-TWaver Android    ▪Spring怎样把Bean实例暴露出来?
▪java写入excel2007的操作    ▪http代理工作原理(1)    ▪浅谈三层架构
▪http代理工作原理(2)    ▪解析三层架构……如何分层?    ▪linux PS命令
▪secureMRT Linux命令汉字出现乱码    ▪把C++类成员方法直接作为线程回调函数    ▪weak-and算法原理演示(wand)
▪53个要点提高PHP编程效率    ▪linux僵尸进程    ▪java 序列化到mysql数据库中
▪利用ndk编译ffmpeg    ▪活用CSS巧妙解决超长文本内容显示问题    ▪通过DBMS_RANDOM得到随机
▪CodeSmith 使用教程(8): CodeTemplate对象    ▪android4.0 进程回收机制    ▪仿天猫首页-产品分类
▪从Samples中入门IOS开发(四)------ 基于socket的...    ▪工作趣事 之 重装服务器后的网站不能正常访...    ▪java序列化学习笔记
▪Office 2010下VBA Addressof的应用    ▪一起来学ASP.NET Ajax(二)之初识ASP.NET Ajax    ▪更改CentOS yum 源为163的源
▪ORACLE 常用表达式    ▪记录一下,AS3反射功能的实现方法    ▪u盘文件系统问题
▪java设计模式-观察者模式初探    ▪MANIFEST.MF格式总结    ▪Android 4.2 Wifi Display核心分析 (一)
▪Perl 正则表达式 记忆方法    ▪.NET MVC 给loading数据加 ajax 等待laoding效果    ▪java 类之访问权限
▪extjs在myeclipse提示    ▪xml不提示问题    ▪Android应用程序运行的性能设计
▪sharepoint 2010 自定义列表启用版本记录控制 如...    ▪解决UIScrollView截获touch事件的一个极其简单有...    ▪Chain of Responsibility -- 责任链模式
▪运行skyeye缺少libbfd-2.18.50.0.2.20071001.so问题    ▪sharepoint 2010 使用sharepoint脚本STSNavigate方法实...    ▪让javascript显原型!
java开发知识 iis7站长之家
▪spring+hibernate+事务    ▪MyEclipse中文乱码,编码格式设置,文件编码格...    ▪struts+spring+hibernate用jquery实现数据分页异步加...
▪windows平台c++开发"麻烦"总结    ▪Android Wifi几点    ▪Myeclipse中JDBC连接池的配置
▪优化后的冒泡排序算法    ▪elasticsearch RESTful搜索引擎-(java jest 使用[入门])...    ▪MyEclipse下安装SVN插件SubEclipse的方法
▪100个windows平台C++开发错误之七编程    ▪串口转以太网模块WIZ140SR/WIZ145SR 数据手册(版...    ▪初识XML(三)Schema
▪Deep Copy VS Shallow Copy    ▪iphone游戏开发之cocos2d (七) 自定义精灵类,实...    ▪100个windows平台C++开发错误之八编程
▪C++程序的内存布局    ▪将不确定变为确定系列~Linq的批量操作靠的住...    ▪DIV始终保持在浏览器中央,兼容各浏览器版本
▪Activity生命周期管理之三——Stopping或者Restarti...    ▪《C语言参悟之旅》-读书笔记(八)    ▪C++函数参数小结
▪android Content Provider详解九    ▪简单的图片无缝滚动效果    ▪required artifact is missing.
▪c++编程风格----读书笔记(1)    ▪codeforces round 160    ▪【Visual C++】游戏开发笔记四十 浅墨DirectX教程...
▪【D3D11游戏编程】学习笔记十八:模板缓冲区...    ▪codeforces 70D 动态凸包    ▪c++编程风格----读书笔记(2)
▪Android窗口管理服务WindowManagerService计算Activity...    ▪keytool 错误: java.io.FileNotFoundException: MyAndroidKey....    ▪《HTTP权威指南》读书笔记---缓存
▪markdown    ▪[设计模式]总结    ▪网站用户行为分析在用户市场领域的应用
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3