第1章、软件测试概念和缺陷管理系统PPT资料.ppt
《第1章、软件测试概念和缺陷管理系统PPT资料.ppt》由会员分享,可在线阅读,更多相关《第1章、软件测试概念和缺陷管理系统PPT资料.ppt(49页珍藏版)》请在冰豆网上搜索。
![第1章、软件测试概念和缺陷管理系统PPT资料.ppt](https://file1.bdocx.com/fileroot1/2022-10/14/5888439e-39da-4757-9362-2cae5f1d6185/5888439e-39da-4757-9362-2cae5f1d61851.gif)
VB、C、Activeperl等按技术架构按技术架构C/S架构软件:
QQ、MSN、网络游戏、手机QQB/S架构软件:
新浪、网易、网页游戏单机版软件:
Word、Excel、PowerPoint、PhotoShop/软件测试环境软件测试环境客户端客户端WindowsXP、Windows2000、windows7服务器端服务器端Linux(RedHat)、Windows2003、windowsserver2008/学习进度学习进度什么是软件什么是软件软件测试的产生、意义和概念软件测试背景软件测试的意义软件测试的意义软件测试的定义软件测试的定义软件测试的现状与前景软件测试的现状与前景测试与调试的区别测试与调试的区别软件测试工程师必备的素质软件测试工程师必备的素质/软件测试背景n软件危机软件危机危机背景:
危机背景:
落后的软件生产方式无法满足日趋复杂大型软件系落后的软件生产方式无法满足日趋复杂大型软件系统的开发需求(统的开发需求(2020世纪世纪6060年代)年代)危机表现:
危机表现:
项目延期、经费超支、产品无法维护项目延期、经费超支、产品无法维护/软件测试背景n软件危机软件危机危机原因:
缺乏规范化工程约束危机原因:
缺乏规范化工程约束缺陷的不断积累与放大效应缺陷的不断积累与放大效应需求阶段需求阶段设计阶段设计阶段编码阶段编码阶段测试阶段测试阶段正确需求正确需求需求缺陷需求缺陷正确设计正确设计需求缺陷需求缺陷设计缺陷设计缺陷正确编码正确编码需求缺陷需求缺陷设计缺陷设计缺陷编码缺陷编码缺陷已发现缺陷已发现缺陷需求缺陷需求缺陷设计缺陷设计缺陷编码缺陷编码缺陷未发现缺陷未发现缺陷缺陷如何使软件开发成本增加缺陷如何使软件开发成本增加/软件测试背景n软件危机软件危机危机解决:
危机解决:
软件工程软件工程(1968年)年)软件工程软件工程(IEEE定义定义):
将系统化的、严格约束的、可量化的方法应用于软件的开发、将系统化的、严格约束的、可量化的方法应用于软件的开发、运行和维护,即将工程化应用于软件运行和维护,即将工程化应用于软件.阶段阶段需求分析需求分析(RequirementAnalysis)设计设计(Design)编码编码(Coding)测试测试(Testing)运行和维护运行和维护(RunandMaintenance)工作量工作量20%15%20%45%软件工程各阶段工作量软件工程各阶段工作量/软件测试背景n软件危机软件危机在程序员与用户需求间寻找平衡点在程序员与用户需求间寻找平衡点程序员在开发过程关注什么?
程序员在开发过程关注什么?
设计需求设计需求技术内涵技术内涵用户关注什么?
用户关注什么?
满足自身特定的需求满足自身特定的需求优秀的软件产品的特点是什么?
优秀的软件产品的特点是什么?
在程序自身的技术内涵和用户特定领域的需求间找在程序自身的技术内涵和用户特定领域的需求间找到平衡点到平衡点/学习进度学习进度什么是软件什么是软件软件测试的产生、意义和概念软件测试的产生软件测试的产生软件测试的意义软件测试的定义软件测试的定义软件测试的现状与前景软件测试的现状与前景测试与调试的区别测试与调试的区别软件测试工程师必备的素质软件测试工程师必备的素质/软件测试意义n软件测试的意义软件测试的意义1迪斯尼的狮子王:
迪斯尼的狮子王:
19941995软件缺陷难以避免!
软件缺陷难以避免!
94年秋,迪斯尼公司发布了面向儿童的游戏年秋,迪斯尼公司发布了面向儿童的游戏“LionKingAnimatedStorybook”,进行了大量的宣传和促,进行了大量的宣传和促销,销售额可观。
销,销售额可观。
12月月26日,开始收到大量投诉:
游日,开始收到大量投诉:
游戏无法正常运行,舆论哗然。
戏无法正常运行,舆论哗然。
原因:
没有对市场上的各种原因:
没有对市场上的各种PC机型进行测试,该软机型进行测试,该软件只能在少数系统中正常工作,但在大众常用的系统件只能在少数系统中正常工作,但在大众常用的系统中不行。
中不行。
/软件测试意义n软件测试的意义软件测试的意义千年虫问题千年虫问题(Y2K)(Y2K)软件缺陷难以避免!
2/软件测试意义n软件测试的意义软件测试的意义3北京奥运订票网站瘫痪北京奥运订票网站瘫痪事故过程:
订票系统半小时即瘫痪事故过程:
订票系统半小时即瘫痪软件缺陷难以避免!
/软件测试的意义软件测试的意义解放程序员和售后服务人员软件测试可以降低软件质量风险,使程序员能够更专心于解决程序的算法和效率;
同时经过严格检验的完整产品也减轻了售后服务人员的工作量。
/学习进度学习进度什么是软件什么是软件软件测试的产生、意义和概念软件测试的产生软件测试的产生软件测试的意义软件测试的意义软件测试的定义软件测试的现状与前景软件测试的现状与前景测试与调试的区别测试与调试的区别软件测试工程师必备的素质软件测试工程师必备的素质/软件测试的定义软件测试的定义定义使用人工或自动手段,来运行或测试某个系统的过程。
其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。
软件测试活动一般包含制订测试计划设计测试用例实施测试提交缺陷报告测试总结/学习进度学习进度什么是软件什么是软件软件测试的产生、意义和概念软件测试的产生软件测试的产生软件测试的意义软件测试的意义软件测试的定义软件测试的定义软件测试目的软件测试的现状与前景软件测试的现状与前景测试与调试的区别测试与调试的区别软件测试工程师必备的素质软件测试工程师必备的素质/软件测试的目的软件测试的目的确保产品完成了它所承诺或公布的功能,并且用户可以访问到的功能都有明确的书面说明。
确保产品满足性能和效率的要求确保产品是健壮的和适应用户环境的/学习进度学习进度什么是软件什么是软件软件测试的产生、意义和概念软件测试的产生软件测试的产生软件测试的意义软件测试的意义软件测试的定义软件测试的定义软件测试目的软件测试目的软件测试的现状与前景测试与调试的区别测试与调试的区别软件测试工程师必备的素质软件测试工程师必备的素质/软件测试现状和趋势n国际现状国际现状测试在软件开发中占有不可或缺的重要地位(测试在软件开发中占有不可或缺的重要地位(53%-87%53%-87%).阶段阶段需求分析需求分析设计设计编码编码测试测试投产和维护投产和维护资金量资金量3%8%7%15%67%知名知名ITIT企业中,开发人员和测试人员比例通常都为企业中,开发人员和测试人员比例通常都为1:
1,1:
1,微软微软甚至达到甚至达到1:
2.1:
2.MicrosoftProjectExchange2000Windows2000Manager25250Developer1401700Tester3503200Developer/Tester2.51.9/软件测试现状和趋势n国内现状国内现状软件测试逐渐受到重视软件测试逐渐受到重视;
存在不同程度的测试人才缺存在不同程度的测试人才缺口口;
高素质的测试人才紧缺高素质的测试人才紧缺.软件测试从业人员年龄分布软件测试从业人员年龄分布n软件测试是一个新兴领软件测试是一个新兴领域域n8080年代的职场新人是主年代的职场新人是主力军力军n缺乏资深测试人员是不缺乏资深测试人员是不争的事实争的事实/软件测试现状和趋势n国内现状国内现状软件测试从业人员性别比例软件测试从业人员性别比例n接近接近1:
11:
1的性别比例的性别比例n传统的部分男性开传统的部分男性开发者转向测试发者转向测试/软件测试现状和趋势n国内现状国内现状软件测试从业人员从业年限和职业发展分布软件测试从业人员从业年限和职业发展分布n软件测试近年来才受到重视:
软件测试近年来才受到重视:
33年以内工作经验占年以内工作经验占82%82%n存在金字塔人才结构存在金字塔人才结构:
(:
(初级初级)测试工程师占测试工程师占75%75%/软件测试现状和趋势n软件测试的挑战软件测试的挑战1.1.技术发展的挑战技术发展的挑战复杂性、协调性、变化复杂性、协调性、变化.2.2.测试工程师素质的挑战测试工程师素质的挑战责任心、综合素质、学习能力、解决问题能力、对行业责任心、综合素质、学习能力、解决问题能力、对行业的把握的把握职业素质:
职业素质:
“三心二意一能力三心二意一能力”三心:
细心、耐心、信心三心:
细心、耐心、信心二意:
服务意识、团队合作意识二意:
服务意识、团队合作意识一能力:
沟通能力一能力:
沟通能力/软件测试现状和趋势n软件测试职业发展软件测试职业发展测试工程师、高级软件测试工程师、测试工程师、高级软件测试工程师、软件测试组负责人、软件测试项目经理软件测试组负责人、软件测试项目经理.需求集中于沿海发达城市需求集中于沿海发达城市/学习进度学习进度什么是软件什么是软件软件测试的产生、意义和概念软件测试的产生软件测试的产生软件测试的意义软件测试的意义软件测试的定义软件测试的定义软件测试目的软件测试目的软件测试的现状与前景软件测试的现状与前景测试与调试的区别软件测试工程师必备的素质软件测试工程师必备的素质/测试与调试的区别测试与调试的区别区别区别测试测试调试调试目的发现软件的错误(测试人员不负责修改错误)确定程序中错误的确切位置,对程序(设计,编码)进行修改,排除错误。
阶段软件生命周期软件开发阶段人员测试人员和开发开发人员/第二部分第二部分-学习目标学习目标掌握识别和描述缺陷的方法缺陷管理工具/内容进度内容进度再现与优化缺陷再现与优化缺陷怎样有效记录缺陷怎样有效记录缺陷缺陷管理工具缺陷管理工具/软件缺陷软件缺陷什么是缺陷什么是缺陷不满足用户确定需求产生缺陷的原因产生缺陷的原因人员之间的沟通交流不够,交流上有误解或者根本不进行交流文档不完善需求不断的变化参与人员的过度自信程序设计本身有错误软件复杂性工期短,任务重,时间压力大软件开发工具与系统软硬件的支持比如web软件,外网环境和内网测试环境不一样导致有些bug出现/缺陷识别缺陷识别判断发现的问题是否是缺陷的方法通过参考文档来确认缺陷通过了解软件产品的行业背景(或参考同类典型软件)来发现缺陷通过沟通来确认和识别缺陷/内容进度内容进度再现与优化缺陷再现与优化缺陷怎样有效记录缺陷怎样有效记录缺陷缺陷管理工具缺陷管理工具/再现与优化缺陷再现与优化缺陷再现(又叫重现)与优化缺陷的必要性为什么要再现与优化缺陷(需要特别注意,优化缺陷并不是指优化缺陷本身,而是优化缺陷的再现步骤)关于软件中“随机”出现的缺陷/再现与优化缺陷方法再现与优化缺陷方法不要想当然的接受任何假设查找时间依赖和竞争条件的问题与压力和负荷相关的边界条件软件缺陷、内存泄漏和数据溢出缺陷的发生有一定的前提条件状态缺陷仅在特定软件状态中显露,状态缺陷的例子是软件缺陷仅在软件第一次运行或者在此第一次运行之后出现考虑资源依赖性和内存、网络、硬件共享的相互作用关注硬件的失效问题,硬件可能不按照预定方式工作关注软件的失效问题,对缺陷的修改可能会引发新的缺陷从阅读缺陷报告入手/内容进度内容进度再现与优化缺陷