软件测试第一讲软件测试基础.ppt
《软件测试第一讲软件测试基础.ppt》由会员分享,可在线阅读,更多相关《软件测试第一讲软件测试基础.ppt(57页珍藏版)》请在三一办公上搜索。
1、软件测试,第1讲 软件测试基础,1,李钏,机遇和挑战并存,2,软件行业是朝阳行业,软件测试是软件行业的朝阳行业。软件行业由卖方市场转入买方市场,激烈的竞争要求软件的产品质量越来越高。欧美国家的软件项目,软件测试的工作量占项目总工作量40%,软件测试的经费占项目总经费30%。测试人员和开发人员的比例 国外:1:1-2:1,国内1:51:3,当前国内高素质软件测试人员的市场需求大约50万人左右。,第1讲 软件测试基础,为什么要进行软件测试?什么是软件测试?软件测试的分类测试阶段软件测试的工作范畴SQA与软件测试的关系,3,4,为什么要进行软件测试?,第一道概率题,知道“萨姆”、“霍克”、“爱国者”
2、吗?它们是世界上最著名的地对空导弹。这里有一种“超级爱国者”地对空导弹,它的单发命中率是70%,请计算一下“超级爱国者”地对空导弹3发齐射的命中率是多少?,5,第一道概率题解答,1发导弹脱靶的可能性是:1 70%=30%3发导弹全部脱靶的可能性是:30%X 30%X 30%=2.7%3发导弹中,至少有1发导弹命中目标的概率是:1-(1 70%)3=1 2.7%=97.3%,6,第二道概率题,某世界著名的“音波”宇航工业公司生产的“音波848-400”大型宽体客机由100万个零部件组装而成,其中每个零部件的合格率都能达到99.9999%,请问这种客机的合格率是多少?,7,第二道概率题解答,每个零
3、部件的合格率是99.9999%,那整机合格率就是:(99.9999%)1000000=36.79%如果每个零部件的合格率是99.999%,那整机合格率是:(99.999%)1000000=0.045%,8,哪种概率模型更符合软件开发过程?1.两道概率题有什么区别?第一道概率题描述的问题模型是只要有一发导弹击中目标就算完成任务。第二道概率题描述的问题模型是只有所有的零部件都合格了,整机才合格。2.哪种概率模型更符合软件开发过程?第二种模型更符合软件开发过程。,9,软件合格率,假设一个优秀的程序员写出的“代码行”合格率可以达到99%,如果这个程序员开发的软件由1万行代码,那此软件的合格率是多少?(
4、99%)10000=2.25 X 10-44,10,软件缺陷与软件故障案例,迪斯尼并不总是带来笑声英特尔奔腾浮点除法缺陷火星探测飞船坠毁爱国者导弹防御系统2008北京奥运会售票系统,11,迪斯尼并不总是带来笑声,1994年圣诞节前夕,迪斯尼公司发布了第一个面向儿童的多媒体光盘游戏“狮子王童话”圣诞节后的第一天,迪斯尼客户支持部电话开始响个不停,不断有人咨询、抱怨为什么游戏总是安装不成功,或没法正常使用这个游戏软件只能在少数系统中正常运行,12,兼容性问题,英特尔奔腾浮点除法缺陷,如果答案不为0,说明计算机使用的是带有浮点除法软件缺陷的老式英特尔奔腾处理器。1994年10月30日,弗吉尼亚州的T
5、homas R.Nicely博士在用奔腾PC进行计算问题时得出了一个错误的结论,因此发现了这个问题,后来在互联网上引起一场风暴。他们的软件测试工程师在芯片发布之前进行内部测试时已经发现了这个问题,英特尔的管理层认为这没有严重到保证要修正,甚至公开的程度。当软件缺陷被发现时,英特尔试图低调解决问题,但为时已晚,最终拿出4亿多美元来支付所有维护费用,13,(41958353145727)3145727-4195835=?,火星探测飞船坠毁,机械震动在大多数情况下也会触发着地开关,设置错误的数据位。设想飞船开始着陆时,计算机极有可能关闭推进器,而火星登陆飞船下坠1800米之后没有反推进器的帮助,冲向
6、地面,必然会撞成碎片两个小组本身的工作都没什么问题,就是没有合在一起测试,其接口没有被测,而问题就在这里,14,系统测试 衔接问题,爱国者导弹防御系统,当爱国者导弹防御系统的时钟累计运行超过14小时后,系统的跟踪系统就不准确。从而导致拦截伊拉克飞毛腿导弹的几次失败,其中一枚在沙特阿拉伯的多哈爆炸的飞毛腿导弹造成28名美国士兵死亡,15,系统时钟误差积累,2008北京奥运会售票系统,2007年10月30日上午11时,2008北京奥运会售票系统软件瘫痪。北京奥运会的指定独家票务供应商-北京歌华特玛捷票务有限公司成立于2006年9月,由美国特玛捷公司、中体产业股份有限公司及北京歌华文化发展集团三家出
7、资构建而成。售票系统瘫痪事件发生后,公众普遍质疑歌华特玛捷公司是否具备承担2008北京奥运会的票务销售能力。用户常常在软件开发初期就发现软件可能跟他们的需求有不一致的地方。在开发软件之前,需要进行必要的需求分析。开发完成之后,也要进行必要的测试工作。虽然这些软件故障的后果程度不一,但可以肯定的是,通过严格的软件测试可以极大地降低故障及因此而引发的种种恶果。,16,17,为什么要进行软件测试?,软件总存在缺陷。只有通过测试,才可以发现软件缺陷。也只有发现了缺陷,才可以将软件缺陷从软件产品或软件系统中清理出去。软件失败时,也许仅仅给我们带来了不便,也可能是灾难性的。我们需要软件测试,来保障软件质量
8、。,18,什么是软件测试?,软件测试学科的形成正反两方面的争辩软件测试的定义软件测试的其它观点,19,软件测试学科的发展,从测试的思想导向来划分为4个阶段:19571978年,以功能验证为导向,测试是证明软件是正确的(正向思维)。19781983年,以破坏性为为导向,测试是为了找到软件中的错误(逆向思维)。19831987年,以质量评估为导向,测试是提供产品的评估和质量度量。1988年起,以缺陷预防为导向,测试是为了展示软件符合设计要求,发现缺陷、预防缺陷。,20,更好的阶段划分,分为3个阶段初期阶段、发展阶段和成熟阶段 初级阶段(19571971)测试通常被认为是对产品进行事后检验,缺乏有效
9、的测试方法发展阶段(19721982),1972年第一次关于软件测试的正式会议,促进了软件测试的发展 成熟阶段(1983到现在),国际标准Std 829-1983,形成一门独立的学科和专业,成为软件工程学科中的一个重要组成部分,21,软件测试的正面性,Bill Hetzel博士(正向思维的代表):软件测试就是为程序能够按预期设想那样运行而建立足够的信心。“软件测试是一系列活动以评价一个程序或系统的特性或能力并确定是否达到预期的结果”测试是为了验证软件是否符合用户需求,即验证软件产品是否能正常工作,22,软件测试的反面性,Glenford J.Myers(反向思维的代表):测试是为了证明程序有错
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 测试 第一 基础

链接地址:https://www.31ppt.com/p-6028012.html