骑车的 发表于 2005-10-4 22:12

有关软件稳定性的测试

我参与了一个软件研发的项目,我们做的软件是通过电脑(Win平台)来实现同时与数个硬件的通话来达到我们的目的。我们的软件是一个应用程序,但是和每个硬件的联系是通过该硬件的驱动程序来实现的,所以从这个方面来说我们的程序也可以看做是驱动程序的集合----当然我们并不开发各个硬件的驱动程序。

在软件初步投入使用后,我们发现了我们的软件的不稳定性----虽然我们在发布前在WinXP及2000平台上做过多次、严格的测试。随着我们的软件日益庞大,我们测试的项目越来越多,可是稳定性我们还是不能保障。

所以想在这里请教诸位,有没有那位知道在改善类似软件的稳定性有没有好办法,或者什么标准(比如微软硬件方面的WHQL),或者类似的东西。希望不吝赐教!

多谢!

骑车的 发表于 2005-10-5 21:22

没有熟悉的朋友吗??

gaga 发表于 2005-10-5 22:08

把负责软件工程的人员拖出去打50大板,赫赫,开个玩笑。质量控制在开发早期就应该投入精力,现在修修补补恐怕越搞越乱,维护起来工作量更大。
通常这个时候要考虑重新设计了吧?感觉是开始立项的时候没考虑到软件可能出现的规模。

鸟鸟 发表于 2005-10-6 18:27

原帖由 gaga 于 2005-10-5 22:08 发表
把负责软件工程的人员拖出去打50大板,赫赫,开个玩笑。质量控制在开发早期就应该投入精力,现在修修补补恐怕越搞越乱,维护起来工作量更大。
通常这个时候要考虑重新设计了吧?感觉是开始立项的时候没考虑到软件 ...

一般情况下在系统设计的时候都是把规模放大了来考虑的,

这个虽然是通病,

但也不是那么好解决的,

但是往往到最后还是出问题,

如果真的都能避免的话,

那么像SQS这样的公司早就倒闭了。

骑车的 发表于 2005-10-6 18:55

原帖由 gaga 于 2005-10-5 22:08 发表
把负责软件工程的人员拖出去打50大板,赫赫,开个玩笑。质量控制在开发早期就应该投入精力,现在修修补补恐怕越搞越乱,维护起来工作量更大。
通常这个时候要考虑重新设计了吧?感觉是开始立项的时候没考虑到软件 ...


做的时候考虑到了。但是编程的时候不是一个人做的,所以有的时候有些很小细节方面的问题到了后面可能就会很大。而且编译的时候还要用其它公司、以及公司内其它部门同事编写的代码,所以尽管很小心,还是偶尔得到反馈提到一些问题。

前期能做的我们尽量在做,只是希望能够引用一些外部的标准来提高我们的软件的质量。现在就在找这个标准,或者说自己做这个标准。

并非如此 发表于 2005-10-7 00:23

这不是你们一家的问题,这是所有公司的问题,不过如果问题真的很大,修修补补不是办法。真的要考虑重新设计整个结构,不过,还是要做些补丁,糊弄一下以前的客户。其实每个硬件都有自己的驱动和在windows下的api,问题也不一定就出在你们身上,也可能是厂家的驱动或是接口设计有问题,你要和他们联系,才行。

musicbug 发表于 2005-10-7 22:57

没有专门的软件测试部门么?

weahoo 发表于 2005-10-9 22:37

have a look

骑车的 发表于 2005-10-12 10:26

我就是负责软件测试的。其实每个同事在做完自己的那一部分后都是测试过了的,然后由我来做总体测试。

我们这个软件应用范围不大,目前只有上千个用户,计划推广到上万家用户。所以没有专门的测试部门。

musicbug 发表于 2005-10-12 11:33

节省测试的成本,结果就是软件不稳定~

骑车的 发表于 2005-10-12 20:38

原帖由 musicbug 于 2005-10-12 11:33 发表
节省测试的成本,结果就是软件不稳定~


不知道你何以得知我们节省测试的成本?????

musicbug 发表于 2005-10-13 17:52

呵呵,你自己说的嘛。。。
测试的成本在某些时候会高达90%整个软件开发的成本。不知道你们是什么样的一个比例?

xiaobailong 发表于 2005-10-13 20:32

90%太夸张了吧?传统的软件开发,从分析,设计,实现到测试,各自都有不同的要求。测试可能比实现(也就是写程序)所占的时间要长,但是分析设计也有很大的比重。

musicbug 发表于 2005-10-13 21:12

90%是我一个测试部门朋友告诉我的一个实例,他是头儿。 话说回来,我常听说的是30%到50%。

woo2333 发表于 2005-10-18 23:23

这是关于 software lifecycle 的开销统计
Requirements 2%
Specification5%
Design         6%
Coding         5%
Testing          7%
Integration    6%
Maintenance 69%

维护是 software lifecycle中最大的开销,否则sap, oracle到不用挣钱了。

musicbug 发表于 2005-10-21 18:49

hoho,那就是我说错了。。。

骑车的 发表于 2005-10-23 10:35

我们的软件测试的成本我估计超过15%, 50%应该没有达到。但是我们的软件是精心的按照我们自己定的标准检测的,同时还有其它部门的同事以及个别比较大的合作伙伴测试----因为测试用的仪器很贵,一般公司买不起。

50%以上的测试成本说实话超出我的想象。如果真的是这样开发人员要换完了,或者软件测试就会是个很抢手的工作。但是事实好像不是这样的。

如果没有熟悉这个行业的给我提供帮助,只有我自己想办法定一套标准了。

wero 发表于 2005-10-23 10:55

几个问题
1 windows本身对有设备驱动情况下 不能完全保证稳定运行,有时候由于地址冲突,有时候由于任务调度的问题
2 由于1 则总成测试成为必然 测试目的为 确定错误的原因和责任人
3 测试手段一般为
   3.1 编写实时监视程序 ,监视如关键地址,断口的错误或冲突
   3.2 编写总成log程序,监视错误消息队列
   3.3 制定或编写分程序错误处理模块或处理标准,并强迫各个分模块开发者接受

[ 本帖最后由 wero 于 2005-10-23 10:56 编辑 ]

xiaobailong 发表于 2005-10-27 13:32

测试当然不会超过50%的成本, Maintenance 69%的统计数字也有问题,除非一个软件产品release之后就光维护,不再升级换代。 或者统计的是时间,而不是成本。

无论如何,在软件开发之中,需求分析,设计,实现,测试,维护都很重要,片面强调其中任何一个,都是不对的。

xiaobailong 发表于 2005-10-27 13:38

其实软件不稳定,真的是很头疼的事情,象windows, 从95到winme,就没一个稳定的。xp 总算是稍微好了一点。

要说稳定,还得数Solaris。

wero 发表于 2005-10-27 15:37

原帖由 xiaobailong 于 2005-10-27 13:38 发表
其实软件不稳定,真的是很头疼的事情,象windows, 从95到winme,就没一个稳定的。xp 总算是稍微好了一点。

要说稳定,还得数Solaris。
要说稳定还是linux,开源的内核想不稳定都难:lol:

xiaobailong 发表于 2005-10-27 21:56

原帖由 wero 于 2005-10-27 15:37 发表

要说稳定还是linux,开源的内核想不稳定都难:lol:


要说稳定还是Solaris, 这个在业界是有口碑的.Linux相比Windows是稳定, 但是在内存管理上,还是差了Solaris一大截, 所以稳定性不如Solaris.


另外, Solaris稳定并不是因为它是开源的, 虽然它事实上也是开源的, 但是稳定不是因为开源而来的. 稳定和开源是两个不同的话题.

wero 发表于 2005-10-27 22:07

原帖由 xiaobailong 于 2005-10-27 21:56 发表



稳定和开源是两个不同的话题....

当然不是两个话题 open source最大的优势就是你的代码供很多人检查 试问 哪一个代码敢保证经过比linux更多人的检查

另外你提到的内存管理 恕我直言 你说的完全不对 从本质讲 linux的内存管理和unix是完全一致的 而虚拟文件系统使linux比传统的unix更胜一层

SUN UNIX最重要的是Workstation 本身强于PC,问题不是在于设备无关的OS的强弱...

tadios 发表于 2005-10-27 22:17

原帖由 wero 于 2005-10-27 22:07 发表


当然不是两个话题 open source最大的优势就是你的代码供很多人检查 试问 哪一个代码敢保证经过比linux更多人的检查

另外你提到的内存管理 恕我直言 你说的完全不对 从本质讲 linux的内存管理和unix是完全一 ...
那为什么web服务器BSD强于linux?

xiaobailong 发表于 2005-10-27 22:24

linux的内核的修改权, 只是掌握在Linus等很少的几个人手里, 不是谁都可以随便改的. 所以也没有很多人真正对linux内核做过认真检查. 而linux的发行版本, 最大的两个商业版本, 每一个都要给linux内核打上百个补丁, 才能用于商业用途.

另外,   Solaris也是open source的.

第三, solaris主要用在企业级的服务器( server) 上, 工作站(workstation)只占很小的一部分. 而Solaris用得最多的领域, 就是金融和通讯这两个对稳定性要求非常高的商业领域.

xiaobailong 发表于 2005-10-27 22:25

原帖由 tadios 于 2005-10-27 22:17 发表

那为什么web服务器BSD强于linux?


对, BSD也比Linux稳定. 而BSD也有好几个版本是开源的.

wero 发表于 2005-10-27 22:33

原帖由 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
$汗水$

所以你们非要说稳定性 我也没办法了

tadios 发表于 2005-10-27 22:40

linux单个文件最大4GB,solaris是nTB
作为服务器的话,一个巨大的数据库表格是可能大于4GB的
:lol::lol::lol::lol::lol:

xiaobailong 发表于 2005-10-27 22:40

恩, 我的结论不是理论上的, 而是实际上的. 而且不是我个人的实际经验, 是整个业界的经验总结.

gaga 发表于 2005-10-27 23:39

原帖由 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
查看完整版本: 有关软件稳定性的测试