分享
 
 
 

关于软件测试关于软件测试

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

关于软件测试

世界商业评论ICXO.COM ( 日期:2004-08-03 17:32)

因为测试时从来不希望检测被测系统所有可能的输入、路径和状态,那么应该选择什么?什么时候应该停止测试?什么时候应该暂停测试?怎样编写一个测试包,它可以检测足够多的消息和状态的组合来说明没有失败的操作,但是从实用性来说它又足够的小?

测试提出了许多基本的但却令人困惑的难题,带着这些问题,参加了几次实用软件测试培训。

由于软件的复杂导致了测试的复杂,所以不能指望培训能给我们很多工作中的实际指导。偏重理论是肯定的,但并非没有意义,虽然理论同样可以从相关的文献资料上得到。

有一些心得,零零散散,记录下来,与大家交流。

一,软件测试员的目标是尽可能早地找出软件缺陷,并确保其得以关闭。仔细思考后,我觉得此目标包含三个含义。

1.软件测试员的基本目标是发现软件缺陷。

这似乎是个不言而喻的事实,但有必要再次强调。因为有时开发小组要测试员只是为了证实软件可以运行,而不是找缺陷。在这种情况下,测试人员也就缺乏不懈努力发现缺陷的探索精神和热情。所以做好测试的首要条件是明确软件测试员的基本目标是发现软件缺陷。

2.软件测试员追求的是尽可能早地找出软件缺陷。

因为软件的修复费用,随着时间的推移,将数十倍的增长,所以软件测试员应尽可能早地找出软件缺陷。对于大型的软件,在软件开发的同时,就应该有紧随其后的测试,如果等到产品已经开发完毕才开始测试,非常有可能引起大量耗时费力的返工。而如何尽可能早的找出缺陷?理论上有一些测试方法:静态黑盒测试、动态黑盒测试、静态白盒测试、动态白盒测试;配置测试、兼容性测试、易用性测试……,怎样才能有效的用这些方法尽早的发现软件缺陷,需要在工作实践中不断的摸索、总结,不断的提高测试能力。针对公司的情况,如果软件的规模不是很大,开发中的测试工作可能由开发人员完成比较合适。

3.软件测试人员必需确保找出的软件缺陷得以关闭。

并不是每个软件缺陷都有必要修复的。可能是由于没有足够的时间、不算作真正的软件缺陷、修复的风险太大等原因,产品开发小组决定对一些软件缺陷不作修复。但是,测试人员必需确保找出的软件缺陷得以关闭,也就是说一旦登记了软件缺陷,就要跟踪其生命周期,监视其状态,提供必要的信息确保其得到修复和关闭。

二,关于Testware。

有个很简洁明了的定义,software development engineers produce software, software test engineers produce testware. 那么testware包含哪些内容呢?test strategy, test plan, test specifications, test procedures, test cases, test reports, test data, test scripts, defects data等等。同软件一样,testware也需要很好地维护。例如,由于修复缺陷改变了软件的接口,那么case和自动测试脚本script都要做相应的修改。

三,对产品说明书的测试。

软件的产品功能说明书对产品最终需要实现的功能作了描述。这些功能是最终确定的需要满足的客户需求,也包括软件必须具备的能力。在规范的软件开发流程中,产品功能说明书应在确定用户需求后,进行系统概要设计前确定。

至于为什么要进行产品说明书的测试,统计资料表明,很多软件的缺陷都是因为产品功能说明书不够全面,经常更改造成的;另外,只有详细的阅读了产品功能说明书,确认产品需要实现的功能,才能拟定切实可行的测试方案。

其方法,具体地说有以下几种。

1.参照需求说明,检查产品功能说明书描述的产品将要实现的功能是否已经完整、准确、一致、合理的描述了产品的功能,并确保这些功能是可测试的。

2.研究产品说明书是否符合现有的软件设计开发的标准或规范。

3.研究同类软件,预测产品的最终结果。

可是如果应用到实际的开发流程中,又有着一定的困难。因为很难做到让软件测试人员在项目的初期就参与项目,一般要等到软件的雏形出来后才会让软件测试人员着手进行测试。即便是在初期测试人员参与项目,也只是根据产品说明书和设计计划制定测试计划。测试人员没有被赋予责任去检查产品说明书。

四,经济的测试。

测试是一项复杂的工作。因此要考虑其效率。经济的测试有几个原则。

1. 如果一个case(X)依赖另一个(Y),如果Y失败,那么X可以不要测试。

2. 针对一个子集,如果一个输入导致了失败,那么剩下的输入可以不要测试。

3. 针对一个case,如果一个测试子集产生了失败,那么其他的子集可以不要测试。

由此,联想到一个实际问题。开发人员一次送测,按流程,应进行一轮全面的测试。但如果在测试初期发现了缺陷,此轮测试是否要继续?不继续,则此轮测试不完整,无法产出测试报告。继续到完全测试,如果发现的缺陷是严重的必须解决的缺陷,则后面的测试是不经济的,因为此缺陷修复后仍要进行全面的测试。

按照测试的原则,发现缺陷要及时地反馈给开发人员,以便及时了解软件状态。但在实际操作中,开发人员得到反馈后常常随即给出一个修复版,然后再一轮测试。造成的情况是,到项目结束,发现多少个缺陷,往往就经过多少轮测试,每一轮测试仅仅是验证对一个缺陷的修复。

所以我觉得,对于什么时候暂停测试,是否需要暂停,开发人员什么时候送测新的修复版本,应该有一个良好的控制。

五,自动测试

我们是用Rational Robot编写自动测试脚本进行自动测试。主要用与一些AP的UI测试。由于编写SQA Basic代价较高,所以应用于稍具复杂度的程序或需多轮回归测试的项目是比较经济的,如果是简单的UI,或不需进行多轮回归测试的项目,就要比较编写脚本的投入和实施自动测试的经济了。

如果多轮回归测试间程序变化比较多,改写脚本也是负担很重的工作。

以上是一点点心得,零散写下。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有