永发信息网

什么是软件测试?软件测试的目的?

答案:2  悬赏:60  手机版
解决时间 2021-01-02 20:17
什么是软件测试?软件测试的目的?
最佳答案
什么是软件测试 为了保证软件的质量和可靠性,应力求在分析、设计等各个开发阶段结束前,对软件进行严格技术评审。但由于人们能力的局限性,审查不能发现所有的错误。而且在编码阶段还会引进大量的错误。这些错误和缺陷如果遗留到软件交付投入运行之时,终将会暴露出来。但到那时,不仅改正这些错误的代价更高,而且往往造成很恶劣的后果。 软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码的最终复审,是软件质量保证的关键步骤。如果给软件测试下定义,可以这样讲:软件测试是为了发现错误而执行程序的过程。或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计的一批测试用例(即输入一些数据而得到其预期的结果),并利用这些测试用例去运行程序,以发现程序错误的过程。 软件测试在软件生存期中横跨两个阶段:通常在编写出每一个模块之后就对它做必要的测试(称为单元测试)。编码与单元测试属于软件生存期中的同一个阶段。在结束这个阶段之后,对软件系统还要进行各种终合测试,这是软件生存期的另一个阶段,即测试阶段,通常由专门的测试人员承担这项工作。 大量统计资料表明,软件测试的工作量往往占软件开发总工作量的40%以上,在极端情况,测试那种关系人的生命安全的软件所花费的成本,可能相当于软件工程其他开发步骤总成本的三倍到五倍。因此,必须高度重视软件测试工作,绝不要以为写出程序之后软件开发工作就接近完成了,实际上,大约还有同样多的开发工作量需要完成。仅就测试而言,它的目标是发现软件中的错误,但是,发现错误并不是我们的最终目的。软件工程的根本目标是开发出高质量的完全符合用户需要的软件。软件测试的目的 基于不同的立场,存在着两种完全不同的测试目的。从用户的角度出发,普遍希望通过软件测试暴露出软件中陷藏的错误和缺陷,以考虑是否可以接受该产品。而从软件开发者的角度出发,则希望测试成为表明软件产品中不存在错误的过程,验证该软件已正确地实现了用户的要求,确立用户对软件质量的信心。 因为在程序中往往存在着许多预料不到的问题,可能会被疏漏,许多隐藏的错误只有在特定的环境下才可能暴露出来。如果不把着眼点放在尽可能查找错误这样一个基础上,这些隐藏的错误和缺陷就查不出来,会遗留到运行阶段中去。如果站在用户的角度替他们设想,就应当把测试活动的目标对准揭露程序中存在的错误。在选取测试用例时,考虑那些易于发现程序错误的数据。下面这些规则也可以看作是测试的目的或定义:1. 测试是为了发现程序中的错误而执行程序的过程;2. 好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案;3. 成功的测试是发现了至今为止尚未发现的错误的测试。从上述规则可以看出,测试的正确定义是“为了发现程序中的错误而执行程序的过程”。这和某些人通常想象的“测试是为了表明程序是正确的”,“成功的测试是没有发现错误的测试”等等是完全相反的。正确认识测试的目标是十分重要的,测试目标决定了测试方案的设计。如果为了表明程序是正确的而进行测试,就会设计一些不易暴露错误的测试方案;相反,如果测试是为了发现程序中的错误,就会力求设计出最能暴露错误的测试方案。 由于测试的目标是暴露程序中的错误,从心理学角度看,由程序的编写者自己进行测试是不恰当的。因此,在综合测试阶段通常由其他人员组成测试小组来完成测试工作。此外,应该认识到测试决不能证明程序是正确的。即使经过了最严格的测试之后,仍然可能还有没被发现的错误潜藏在程序中。测试只能查找出程序中的错误,不能证明程序中没有错误。
全部回答
正好我需要
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
给小孩子买哪种保险好
准备去国外留学,请问什么邮箱比较方便一点?
兰州烧饼是什么意思
五脏六腑受损怎么调理
一张纸上画了一只鸡、一头牛和一片草地,要求
复活节假期几天
如何下载电视剧到手机
为什么曾经相识相知的朋友,兄弟,同学......
轿车属于小客车吗
卧室门颜色风水禁忌
开放式基金如何购买,大家好,我想买型基金,请
手机锁打不开了
能使陆地上水不断得到补充 水资源得以再生的
查水表是什么意思啊
什么材质的鞋底耐磨
推荐资讯
谁能告诉我一下龙猫片尾曲的中文翻译是什么?
如何设置手机时间
梦见发现古墓
西二巷地址在什么地方,想过去办事
一碗香拉面怎么去啊,有知道地址的么
佛教所说 三大劫 是哪三劫?
羊城通押金卡与纪念卡的区别
铭记 用法语怎么说
诸暨市城市管理行政执法局大唐行政执法中队地
桦甸市国土资源局桦郊国土资源所地址在哪?我
浓汤宝有害吗
光大银行卡打了三次电话了,昨天第三次打问公
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?