2006年8月15日

Windows XP还是独领风骚,如火如荼的Linux还是只有可怜的0.36%,Apple的MacOS有上升的趋势!
OneStat.com通过对大量网站的用户点击和网络代理客户的抽样分析,得出了以下较为客观的数据。

The 10 most popular operating systems in the world on the web are:

1. Windows XP 86.80%
2. Windows 2000 6.09%
3. Windows 98 2.68%
4. Macintosh 2.32%
5. Windows ME 1.09%
6. Linux 0.36%
7. Windows NT 0.24%
8. Macintosh Power PC 0.15%


详细信息见:http://www.onestat.com/html/aboutus_pressbox46-operating-systems-market-share.html

posted @ 2006-08-15 15:31 Advance 阅读(551) 评论(6) 编辑

2006年7月27日

软件测试的基本理论和要点,感觉作者说得很清晰透彻,故转载于此,供大家参考!

软件开发和使用的历史已经留给了我们很多由于软件缺陷而导致的巨大财力、物力损失的经验教训。这些经验教训迫使我们这些测试工程师们必须采取强有力的检测措施来检测未发现的隐藏的软件缺陷。

生产软件的最终目的是为了满足客户需求,我们以客户需求作为评判软件质量的标准,认为软件缺陷( Software Bug )的具体含义包括下面几个因素:

•  软件未达到客户需求的功能和性能;

•  软件超出客户需求的范围;

•  软件出现客户需求不能容忍的错误;

•  软件的使用未能符合客户的习惯和工作环境。

考虑到设计等方面的因素,我们还可以认为软件缺陷还可以包括软件设计不符合规范,未能在特定的条件(资金、范围等)达到最佳等。可惜的是,我们中的很多人更倾向于把软件缺陷看成运行时出现问题上来,认为软件测试仅限于程序提交之后。

在目前的国内环境下,我们几乎看不到完整准确的客户需求说明书,加以客户的需求时时在变,追求完美的测试变得不太可能。因此作为一个优异的测试人员,追求软件质量的完美固然是我们的宗旨,但是明确软件测试现实与理想的差距,在软件测试中学会取舍和让步,对软件测试是有百益而无一弊的。

下面是一些软件测试的常识,对这些常识的理解和运用将有助于我们在进行软件测试时能够更好的把握软件测试的尺度。

•  测试是不完全的(测试不完全)

很显然,由于软件需求的不完整性、软件逻辑路径的组合性、输入数据的大量性及结果多样性等因素,哪怕是一个极其简单的程序,要想穷尽所有逻辑路径,所有输入数据和验证所有结果是非常困难的一件事情。我们举一个简单的例子,比如说求两个整数的最大公约数。其输入信息为两个正整数。但是如果我们将整个正整数域的数字进行一番测试的话,从其数目的无限性我们便可证明是这样的测试在实际生活中是行不通的,即便某一天我们能够穷尽该程序,只怕我们乃至我们的子孙都早已作古了。为此作为软件测试,我们一般采用等价类和边界值分析等措施来进行实际的软件测试,寻找最小用例集合成为我们精简测试复杂性的一条必经之道。

•  测试具有免疫性(软件缺陷免疫性)

软件缺陷与病毒一样具有可怕的 “ 免疫性 ” ,测试人员对其采用的测试越多,其免疫能力就越强,寻找更多软件缺陷就更加困难。由数学上的概率论我们可以推出这一结论。假设一个 50000 行的程序中有 500 个软件缺陷并且这些软件错误分布时均匀的,则每 100 行可以找到一个软件缺陷。我们假设测试人员用某种方法花在查找软件缺陷的精力为 X 小时 /100 行。照此推算,软件存在 500 个缺陷时,我们查找一个软件缺陷需要 X 小时,当软件只存在 5 个错误时,我们每查找一个软件缺陷需要 100X 小时。实践证明,实际的测试过程比上面的假设更为苛刻,为此我们必须更换不同的测试方式和测试数据。该例子还说明了在软件测试中采用单一的方法不能高效和完全的针对所有软件缺陷,因此软件测试应该尽可能的多采用多种途径进行测试。

•  测试是 “ 泛型概念 ” (全程测试)

我一直反对软件测试仅存在于程序完成之后。如果单纯的只将程序设计阶段后的阶段称之为软件测试的话,需求阶段和设计阶段的缺陷产生的放大效应会加大。这非常不利于保证软件质量。需求缺陷、设计缺陷也是软件缺陷,记住 “ 软件缺陷具有生育能力 ” 。软件测试应该跨越整个软件开发流程。需求验证(自检)和设计验证(自检)也可以算作软件测试(建议称为:需求测试和设计测试)的一种。软件测试应该是一个泛型概念,涵盖整个软件生命周期,这样才能确保周期的每个阶段禁得起考验。同时测试本身也需要有第三者进行评估(信息系统审计和软件工程监理),即测试本身也应当被测试,从而确保测试自身的可靠性和高效性。否则自身不正,难以服人。

另外还需指出的是软件测试是提高软件产品质量的必要条件而非充分条件,软件测试是提高产品质量最直接、最快捷的手段,但决不是一个根本手段。

•  80-20 原则

80% 的软件缺陷常常生存在软件 20% 的空间里。这个原则告诉我们,如果你想使软件测试有效地话,记住常常光临其高危多发 “ 地段 ” 。在那里发现软件缺陷的可能性会大的多。这一原则对于软件测试人员提高测试效率及缺陷发现率有着重大的意义。聪明的测试人员会根据这个原则很快找出较多的缺陷而愚蠢的测试人员却仍在漫无目的地到处搜寻。

80-20 原则的另外一种情况是,我们在系统分析、系统设计、系统实现阶段的复审,测试工作中能够发现和避免 80% 的软件缺陷,此后的系统测试能够帮助我们找出剩余缺陷中的 80% ,最后的 5% 的软件缺陷可能只有在系统交付使用后用户经过大范围、长时间使用后才会曝露出来。因为软件测试只能够保证尽可能多地发现软件缺陷,却无法保证能够发现所有的软件缺陷。

80-20 原则还能反映到软件测试的自动化方面上来,实践证明 80% 的软件缺陷可以借助人工测试而发现, 20% 的软件缺陷可以借助自动化测试能够得以发现。由于这二者间具有交叉的部分,因此尚有 5% 左右的软件缺陷需要通过其他方式进行发现和修正。

•  为效益而测试

为什么我们要实施软件测试,是为了提高项目的质量效益最终以提高项目的总体效益。为此我们不难得出我们在实施软件测试应该掌握的度。软件测试应该在软件测试成本和软件质量效益两者间找到一个平衡点。这个平衡点就是我们在实施软件测试时应该遵守的度。单方面的追求都必然损害软件测试存在的价值和意义。一般说来,在软件测试中我们应该尽量地保持软件测试简单性,切勿将软件测试过度复杂化,拿物理学家爱因斯坦的话说就是: Keep it simple but not too simple 。

•  缺陷的必然性

软件测试中,由于错误的关联性,并不是所有的软件缺陷都能够得以修复。某些软件缺陷虽然能够得以修复但在修复的过程中我们会难免引入新的软件缺陷。很多软件缺陷之间是相互矛盾的,一个矛盾的消失必然会引发另外一个矛盾的产生。比如我们在解决通用性的缺陷后往往会带来执行效率上的缺陷。更何况在缺陷的修复过程中,我们常常还会受时间、成本等方面的限制因此无法有效、完整地修复所有的软件缺陷。因此评估软件缺陷的重要度、影响范围,选择一个折中的方案或是从非软件的因素(比如提升硬件性能)考虑软件缺陷成为我们在面对软件缺陷时一个必须直面的事实。

•  软件测试必须有预期结果

没有预期结果的测试是不可理喻的。软件缺陷是经过对比而得出来的。这正如没有标准无法进行度量一样。如果我们事先不知道或是无法肯定预期的结果,我们必然无法了解测试正确性。这很容易然人感觉如盲人摸象一般,不少测试人员常常凭借自身的感觉去评判软件缺陷的发生,其结果往往是把似是而非的东西作为正确的结果来判断,因此常常出现误测的现象。

•  软件测试的意义 - 事后分析

软件测试的目的单单是发现缺陷这么简单吗?如果是 “ 是 ” 的话,我敢保证,类似的软件缺陷在下一次新项目的软件测试中还会发生。古语说得好, “ 不知道历史的人必然会重蹈覆辙 ” 。没有对软件测试结果进行认真的分析,我们就无法了解缺陷发生的原因和应对措施,结果是我们不得不耗费的大量的人力和物力来再次查找软件缺陷。很可惜,目前大多测试团队都没有意识到这一点,测试报告中缺乏测试结果分析这一环节。

结论:

软件测试是一个需要 “ 自觉 ” 的过程,作为一个测试人员,遇事沉着,把持尺度,从根本上应对软件测试有着正确的认识,希望本文对读者对软件测试的认识有所帮助

posted @ 2006-07-27 16:19 Advance 阅读(622) 评论(0) 编辑

2006年7月26日

问题描述:
安装并注册完成后,运行Rational Robot时弹出一警告框:“The procedure entry point iphlpapi.IcmpSendEcho could not be located  in the dynamic link library ICMP.dll”。

尝试解决过程:
1. 卸载后重装,问题依旧。
2. 注册ICMP.dll文件(运行regsvr32  ICMP.dll命令),弹出警告:ICMP.dll was loaded,but the DllRegisterServer entry point was not found. 依然无法从该动态连接库中找到出口点。
3. 上Google狂搜一通,有类似问题症状的反应者,但却找不到奏效的解决办法,无奈ing!
4. 插入系统安装盘(Win2003ENG SP1)检测系统文件完整性,并运行Sfc /scannow指令,检测完后,重试,问题仍旧,郁闷ing!
5. 在C:\WINDOWS\system32 下找到ICMP.dll文件,备份后删除之,发现系统自动又生成一个,也无法进行替换,不过找到了问题的症结所在。

正确的解决办法:
重启机器,进入安全模式,将其它机器上的ICMP.dll考过来替换原有文件,重启再进入系统后问题解决!

总结:
问题在于ICMP.dll文件可能被损坏了,也无法进行注册,导致rational程序无法从中找到入口点,查看系统日志,也显示注册更新失败。失望这种问题不要再给我们带来不必要的困扰。

posted @ 2006-07-26 18:09 Advance 阅读(687) 评论(0) 编辑

2006年7月4日

项目编译时出现以下错误:

将字符串转换为 uniqueidentifier 时出现语法错误。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Data.SqlClient.SqlException: 将字符串转换为 uniqueidentifier 时出现语法错误。

源错误:


行 110:FDataSet = new DataSet();
行 111:if (init_sql.Length>0)
行 112:FDataAdapter.Fill(FDataSet);
行 113:
行 114:}

究其原因,得出以下结论:

是由于参数类型和数据库字段类型不一致造成的,数据库字段类型是uniqueidentifier ,而程序中参数类型是string,需要转换,转换方法:
string guid=System.Guid.NewGuid().ToString();//或System.Guid.Empty.ToString();

System.Guid g=new Guid(guid);//给数据库字段赋值时转换为guid类型

或者不要定义成string类型的,直接定义成guid类型的,如

public static readonly string ZeroUniqueID="{00000000-0000-0000-0000-000000000000}";// 代表一个不存在的编号
改为
public static readonly Guid ZeroUniqueID=System.Guid.Empty;// 代表一个不存在的编号
这样就可以直接给数据库字段赋值了,不用做任何的转换。
posted @ 2006-07-04 17:57 Advance 阅读(7476) 评论(5) 编辑

2006年3月19日

       最近北京的天气很不错,正是春暖宜人的时光,出门旅游是不二选择,可是最近自己还得为找工作的事情四处奔波,丝毫没有出外游玩的兴趣和心情,在这种疲于奔命的节奏中,周末了也只有对着PC发愣了,算是一种简单的放松……

       昔日愁着没时间踢足球,打网球……而今似乎有时间了却不知道是因为没心情了,还是因为别的什么原因,可能自己感觉冬天还在继续,只想“蛰伏”在屋里,如今也只有在电脑面前玩玩实况了……

posted @ 2006-03-19 13:17 Advance 阅读(274) 评论(0) 编辑

2006年2月27日

摘要: 受影响系统: Microsoft Windows NT Workstation 4.0 Service Pack 6a Microsoft Windows NT Server 4.0 Service Pack 6a Microsoft Windows NT Server 4.0 Terminal Server Edition Service Pack 6 Microsoft Windows 200...阅读全文
posted @ 2006-02-27 22:25 Advance 阅读(909) 评论(0) 编辑

2005年8月28日

摘要: .NET(C#)连接各类数据库-集锦
1.连接Access
2.连接SQL server
3.连接Oracle
4.连接MySQL
5.连接DB2
6.连接SyBase
7................阅读全文
posted @ 2005-08-28 15:19 Advance 阅读(14311) 评论(10) 编辑

2005年7月4日

摘要: 博客园应该是用的UTF-8编码但在中文的浏览器(IE,FireFox……)中,默认编码为GB2312,如果浏览器不能自动调整编码的话就会出现乱码现象,如下图:手动改为UTF-8后恢复正常!感觉编码的设置是在B/S开发中最令人头疼的问题之一了,前一段时间在做一个办公用品商务网站时就已经深恶痛绝了,其罪魁祸首就是UTF-8和GB2312的兼容问题。最初我们都统一使用UTF-8,...阅读全文
posted @ 2005-07-04 14:49 Advance 阅读(3339) 评论(15) 编辑
摘要: 夏日北京……溽暑难熬假期又至!堕落两天……专点技术,写点博客……玩玩实况,只待回家,避暑休闲…………阅读全文
posted @ 2005-07-04 12:55 Advance 阅读(509) 评论(0) 编辑

2005年6月20日

摘要: 6月16日,Mono 1.1.8发布了.Mono 1.1.8 是Mono发展到现在的第八个版本.
从1.1.1到1.1.2 ……再一直到现在, Mono 1.1.x series 最终将会通往下一个稳定的版本:Mono1.2,期待这一里程碑的到来!不过1.1.8版本对于大多数开发者来说,已经足够稳定了

今天说下Mono 在不同平台下的安装。阅读全文
posted @ 2005-06-20 17:02 Advance 阅读(2996) 评论(0) 编辑

2005年6月10日

摘要: 最近开始在Linux下尝试.NET的开发.Mono在.net的cross-platform develop上的确功不可没……简单的说下mono,可能大家都已经比较熟悉了mono中包括编译器、ECMA(欧洲计算机制造商协会)统一的运行时引擎(CLR)和很多类库。这些类库中囊括了微软的ADO.NET、System.Windows.Forms和 ASP.NET等。另外还有mono...阅读全文
posted @ 2005-06-10 20:47 Advance 阅读(3407) 评论(5) 编辑

2005年5月11日

摘要: Visual Studio 2005 Beta2 简体中文版发布,中文论坛开通发布日期: 5/10/2005 | 更新日期: 5/10/2005 微软公司刚刚发布了Visual Studio 2005产品系列中的三种简体中文测试版:•Visual Web Developer 2005 Express Beta2 可以从http://download.microsoft.com/down...阅读全文
posted @ 2005-05-11 21:57 Advance 阅读(7410) 评论(7) 编辑

2005年5月3日

摘要: Imaging.cs using System;using System.Drawing;using System.Drawing.Imaging;namespace CSharp_Imaging_Moire_Fringe{    public sealed class Imaging&#...阅读全文
posted @ 2005-05-03 11:33 Advance 阅读(1392) 评论(0) 编辑
摘要: C#编程模拟实现图形图象中摩尔纹效果.

摩尔纹是大屏幕显示器在显示大面积相同色彩的画面时,出现的彩色波浪状条纹。它会影响视觉效果,在Windows 98关机画面可以看到(Windows XP 关机画面改为逐渐灰化)。它是扫瞄线花纹与磷光体所产生的干扰现象。其强度与点距、点状大小、分辨率、屏幕大小及亮度等有关。

示例:XP系统关机时的摩尔纹现象

详细代码请见:http://www.cnblogs.com/advance/archive/2005/05/03/148989.html

阅读全文
posted @ 2005-05-03 11:30 Advance 阅读(3542) 评论(3) 编辑

2005年4月12日

摘要: 当建立数据库连接后(测试已成功)出现下面的对话框,2005没有提供连接数据库的功能? 而手工添加并找到相应的数据库后却出现下面的提示: 不知道大家在使用时有没有出现上面的问题? Beta版中的确不是太完善,期待2005正式版的推出!阅读全文
posted @ 2005-04-12 18:43 Advance 阅读(2319) 评论(2) 编辑

2005年3月15日

摘要: 调用ActiveX控件编写播放器时,遇到了不少问题! 发现MS.NET2003中缺少对一些动态链接库的引用! 在调用ActiveX等多媒体控件时,需要用到的MediaPlayer.dll 和 AxMediaPlayer.dll需要自己生成。 首先用下面的命令为媒体播放器控件:msdxm.ocx 生成 MediaPlayer.dll 和 AxMediaPlayer.dll。 aximp c:\win...阅读全文
posted @ 2005-03-15 13:29 Advance 阅读(10262) 评论(11) 编辑

2005年3月11日

摘要: 程序代码如下: using System;using System.Management;public class MAC{    public static void Main()    {     ...阅读全文
posted @ 2005-03-11 15:20 Advance 阅读(2341) 评论(0) 编辑

2005年3月9日

摘要: 在ASP.NET中原始的出错页面会暴露部分源代码,由此带来了潜在的安全隐患。ASP.NET允许应用程序出错时显示用户指定的页面,方法是在web.config文件中修改配置信息。 <? xml version="1.0" encoding="UTF-8" ?><configuration>...阅读全文
posted @ 2005-03-09 00:21 Advance 阅读(1637) 评论(0) 编辑

2005年3月3日

摘要: 类似Minix那样的系统,或者是写最简单的MOS系统,有常识过的吗?交流一下阅读全文
posted @ 2005-03-03 12:42 Advance 阅读(1897) 评论(9) 编辑

2005年1月16日

摘要: 以学校食堂为背景,我们开发制作了这么一CS地图!发布给大家,希望大家玩得开心! 有关地图的说明: 该地图以北信一食堂和二食堂为背景的C4安包地图,包点分别设置在一食堂和二食堂,可供2~~10人同时撕杀!我们尽量按照实物图象来设计 地图,尽量使图的娱乐性和可玩性融合在一起,在保证警匪基本平衡的情况下,我们在图里加入了很多暗门和通道(包括电梯、遥控门等), 机关重重,等待玩家们的发现了!:)另外加入了...阅读全文
posted @ 2005-01-16 22:47 Advance 阅读(2519) 评论(7) 编辑

2004年11月30日

摘要: 编写的程序只能在装有.NET环境的机器上运行,VS2003中怎样把程序打包啊?阅读全文
posted @ 2004-11-30 13:19 Advance 阅读(2374) 评论(3) 编辑

2004年11月26日

摘要: C#中对ActiveX控件的调用 调用ActiveX控件编写播放器时,遇到了不少问题! 播放器如图:  15:45:46 using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windo...阅读全文
posted @ 2004-11-26 18:53 Advance 阅读(2021) 评论(0) 编辑

2004年8月5日

摘要: usingSystem;usingMicrosoft.ObjectSpaces;////ObjectSpacesobject'Customer'.//publicabstractclassCustomer{[UniqueId]publicabstractstringId{get;set;}publicabstractstringName{get;set;}publicabstractstringC...阅读全文
posted @ 2004-08-05 17:11 Advance 阅读(930) 评论(1) 编辑

公告

导航

统计