有关软件稳定性的测试
我参与了一个软件研发的项目,我们做的软件是通过电脑(Win平台)来实现同时与数个硬件的通话来达到我们的目的。我们的软件是一个应用程序,但是和每个硬件的联系是通过该硬件的驱动程序来实现的,所以从这个方面来说我们的程序也可以看做是驱动程序的集合----当然我们并不开发各个硬件的驱动程序。在软件初步投入使用后,我们发现了我们的软件的不稳定性----虽然我们在发布前在WinXP及2000平台上做过多次、严格的测试。随着我们的软件日益庞大,我们测试的项目越来越多,可是稳定性我们还是不能保障。
所以想在这里请教诸位,有没有那位知道在改善类似软件的稳定性有没有好办法,或者什么标准(比如微软硬件方面的WHQL),或者类似的东西。希望不吝赐教!
多谢! 没有熟悉的朋友吗?? 把负责软件工程的人员拖出去打50大板,赫赫,开个玩笑。质量控制在开发早期就应该投入精力,现在修修补补恐怕越搞越乱,维护起来工作量更大。
通常这个时候要考虑重新设计了吧?感觉是开始立项的时候没考虑到软件可能出现的规模。 原帖由 gaga 于 2005-10-5 22:08 发表
把负责软件工程的人员拖出去打50大板,赫赫,开个玩笑。质量控制在开发早期就应该投入精力,现在修修补补恐怕越搞越乱,维护起来工作量更大。
通常这个时候要考虑重新设计了吧?感觉是开始立项的时候没考虑到软件 ...
一般情况下在系统设计的时候都是把规模放大了来考虑的,
这个虽然是通病,
但也不是那么好解决的,
但是往往到最后还是出问题,
如果真的都能避免的话,
那么像SQS这样的公司早就倒闭了。 原帖由 gaga 于 2005-10-5 22:08 发表
把负责软件工程的人员拖出去打50大板,赫赫,开个玩笑。质量控制在开发早期就应该投入精力,现在修修补补恐怕越搞越乱,维护起来工作量更大。
通常这个时候要考虑重新设计了吧?感觉是开始立项的时候没考虑到软件 ...
做的时候考虑到了。但是编程的时候不是一个人做的,所以有的时候有些很小细节方面的问题到了后面可能就会很大。而且编译的时候还要用其它公司、以及公司内其它部门同事编写的代码,所以尽管很小心,还是偶尔得到反馈提到一些问题。
前期能做的我们尽量在做,只是希望能够引用一些外部的标准来提高我们的软件的质量。现在就在找这个标准,或者说自己做这个标准。 这不是你们一家的问题,这是所有公司的问题,不过如果问题真的很大,修修补补不是办法。真的要考虑重新设计整个结构,不过,还是要做些补丁,糊弄一下以前的客户。其实每个硬件都有自己的驱动和在windows下的api,问题也不一定就出在你们身上,也可能是厂家的驱动或是接口设计有问题,你要和他们联系,才行。 没有专门的软件测试部门么? have a look 我就是负责软件测试的。其实每个同事在做完自己的那一部分后都是测试过了的,然后由我来做总体测试。
我们这个软件应用范围不大,目前只有上千个用户,计划推广到上万家用户。所以没有专门的测试部门。 节省测试的成本,结果就是软件不稳定~ 原帖由 musicbug 于 2005-10-12 11:33 发表
节省测试的成本,结果就是软件不稳定~
不知道你何以得知我们节省测试的成本????? 呵呵,你自己说的嘛。。。
测试的成本在某些时候会高达90%整个软件开发的成本。不知道你们是什么样的一个比例? 90%太夸张了吧?传统的软件开发,从分析,设计,实现到测试,各自都有不同的要求。测试可能比实现(也就是写程序)所占的时间要长,但是分析设计也有很大的比重。 90%是我一个测试部门朋友告诉我的一个实例,他是头儿。 话说回来,我常听说的是30%到50%。 这是关于 software lifecycle 的开销统计
Requirements 2%
Specification5%
Design 6%
Coding 5%
Testing 7%
Integration 6%
Maintenance 69%
维护是 software lifecycle中最大的开销,否则sap, oracle到不用挣钱了。 hoho,那就是我说错了。。。 我们的软件测试的成本我估计超过15%, 50%应该没有达到。但是我们的软件是精心的按照我们自己定的标准检测的,同时还有其它部门的同事以及个别比较大的合作伙伴测试----因为测试用的仪器很贵,一般公司买不起。
50%以上的测试成本说实话超出我的想象。如果真的是这样开发人员要换完了,或者软件测试就会是个很抢手的工作。但是事实好像不是这样的。
如果没有熟悉这个行业的给我提供帮助,只有我自己想办法定一套标准了。 几个问题
1 windows本身对有设备驱动情况下 不能完全保证稳定运行,有时候由于地址冲突,有时候由于任务调度的问题
2 由于1 则总成测试成为必然 测试目的为 确定错误的原因和责任人
3 测试手段一般为
3.1 编写实时监视程序 ,监视如关键地址,断口的错误或冲突
3.2 编写总成log程序,监视错误消息队列
3.3 制定或编写分程序错误处理模块或处理标准,并强迫各个分模块开发者接受
[ 本帖最后由 wero 于 2005-10-23 10:56 编辑 ] 测试当然不会超过50%的成本, Maintenance 69%的统计数字也有问题,除非一个软件产品release之后就光维护,不再升级换代。 或者统计的是时间,而不是成本。
无论如何,在软件开发之中,需求分析,设计,实现,测试,维护都很重要,片面强调其中任何一个,都是不对的。 其实软件不稳定,真的是很头疼的事情,象windows, 从95到winme,就没一个稳定的。xp 总算是稍微好了一点。
要说稳定,还得数Solaris。 原帖由 xiaobailong 于 2005-10-27 13:38 发表
其实软件不稳定,真的是很头疼的事情,象windows, 从95到winme,就没一个稳定的。xp 总算是稍微好了一点。
要说稳定,还得数Solaris。
要说稳定还是linux,开源的内核想不稳定都难:lol: 原帖由 wero 于 2005-10-27 15:37 发表
要说稳定还是linux,开源的内核想不稳定都难:lol:
要说稳定还是Solaris, 这个在业界是有口碑的.Linux相比Windows是稳定, 但是在内存管理上,还是差了Solaris一大截, 所以稳定性不如Solaris.
另外, Solaris稳定并不是因为它是开源的, 虽然它事实上也是开源的, 但是稳定不是因为开源而来的. 稳定和开源是两个不同的话题. 原帖由 xiaobailong 于 2005-10-27 21:56 发表
稳定和开源是两个不同的话题....
当然不是两个话题 open source最大的优势就是你的代码供很多人检查 试问 哪一个代码敢保证经过比linux更多人的检查
另外你提到的内存管理 恕我直言 你说的完全不对 从本质讲 linux的内存管理和unix是完全一致的 而虚拟文件系统使linux比传统的unix更胜一层
SUN UNIX最重要的是Workstation 本身强于PC,问题不是在于设备无关的OS的强弱... 原帖由 wero 于 2005-10-27 22:07 发表
当然不是两个话题 open source最大的优势就是你的代码供很多人检查 试问 哪一个代码敢保证经过比linux更多人的检查
另外你提到的内存管理 恕我直言 你说的完全不对 从本质讲 linux的内存管理和unix是完全一 ...
那为什么web服务器BSD强于linux? linux的内核的修改权, 只是掌握在Linus等很少的几个人手里, 不是谁都可以随便改的. 所以也没有很多人真正对linux内核做过认真检查. 而linux的发行版本, 最大的两个商业版本, 每一个都要给linux内核打上百个补丁, 才能用于商业用途.
另外, Solaris也是open source的.
第三, solaris主要用在企业级的服务器( server) 上, 工作站(workstation)只占很小的一部分. 而Solaris用得最多的领域, 就是金融和通讯这两个对稳定性要求非常高的商业领域. 原帖由 tadios 于 2005-10-27 22:17 发表
那为什么web服务器BSD强于linux?
对, BSD也比Linux稳定. 而BSD也有好几个版本是开源的. 原帖由 xiaobailong 于 2005-10-27 22:25 发表
对, BSD也比Linux稳定. 而BSD也有好几个版本是开源的.
首先说明
这些东西 我的结论来源都是理论上的
具体可见 liunx progammiing和unix advanced programming和the disgn of unix OS
再具体细节
我也没办法说了 对两个unix 我都没看过source,在中国时候我用过sun os 开发过app,但只是app级别 不是系统级别的开发
但在德国 我只有linu的一些经验 ...条件所限我只能使用linux
$汗水$
所以你们非要说稳定性 我也没办法了 linux单个文件最大4GB,solaris是nTB
作为服务器的话,一个巨大的数据库表格是可能大于4GB的
:lol::lol::lol::lol::lol: 恩, 我的结论不是理论上的, 而是实际上的. 而且不是我个人的实际经验, 是整个业界的经验总结. 原帖由 tadios 于 2005-10-27 22:40 发表
linux单个文件最大4GB,solaris是nTB
作为服务器的话,一个巨大的数据库表格是可能大于4GB的
:lol::lol::lol::lol::lol:
32位系统下加了LFS支持的linux支持2^63字节大小的文件(常见的ext2/3,reiserfs都支援LFS),否则只能支持最大2G大小的文件。64位系统(alpha,ia64。。)不受此限制即可支持2^63大小。
页:
[1]
2