软件测试第1章

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3
授课方案
• 第一部分 软件测试综述
– 软件测试的背景 – 软件开发过程 – 软件测试的实质 – 软件安全性测试 – 网站测试
• 第四部分 测试的补充
– 自动测试和测试工具 – 缺陷轰炸和beta测试
• 第二部分 测试基础
– – – – – – – – – 检查产品说明书 带上眼罩测试软件 检查代码 带上X光眼镜测试软件 配置测试 兼容性测试 外国语言测试 易用性测试 测试文档
8
第1章 测试的背景
• 软件缺陷出现的原因
1.3 为什么会出现软件缺陷
9
第1章 测试的背景
• 软件缺陷出现的原因
– 软件本身
1.3 为什么会出现软件缺陷
系统结构非常复杂 没有考虑系统崩溃后的自我恢复或数据的异地备份、灾难性恢复等问题 对程序逻辑路径或数据范围的边界考虑不够周 系统运行环境的复杂
– 团队工作
16
第1章 测试的背景延伸知识:软件测试工程师职业概述 • 软件测试的职业优势
– 就业竞争小
– 多元化发展 – 无性别歧视
17
第1章 测试的背景延伸知识:软件测试工程师职业概述
• 软件测试工程师的发展阶段
– 初级测试工程师
刚入门拥有计算机科学学位的个人或具有一些手工测试经验的个人。开 发测试脚本并开始熟悉测试生存周期和测试技术。
第1章 测试的背景延伸知识:软件测试工程师职业概述
21
• Bug:计算机错误 • DeBug:找寻错误的过程
5
第1章 测试的背景
– – – – – – –
1.1 臭名昭著的软件错误用例研究
• 软件无处不在、Bug无处不在
迪斯尼的狮子王:配置测试 Intel CPU浮点出发缺陷:风险评估 美国航天局火星极地登陆者号探测器:集成测试 爱国者导弹防御系统:可靠性测试 千年虫问题:风险评估 危险的预见:软件安全性 Windows 2000中文输入法漏洞:测试工作的全面性
具有4~6年经验的测试工程师或程序员。负责管理1至3名测试工程师或 程序员。担负一些进度安排和工作规模/成本估算职责。
– 测试/质量保证项目经理
具有10多年的工作经验。管理8名或更多的人员参加的1个或多个项目。 负责这一领域测试/质量保证内的整个开发生存周期业务。 18
第1章 测试的背景延伸知识:软件测试工程师职业概述
1.2 软件缺陷是什么
• 软件缺陷的官方定义
① ② ③ ④ ⑤ 软件未达到产品说明书中已经标明的功能; 软件出现了产品说明书中指明不会出现的错误; 软件未达到产品说明书中虽未指出但应当达到的目标; 软件功能超出了产品说明书中指明的范围; 软件测试人员认为软件难以理解、不易使用,或者最 终用户认为该软件使用效果不良。
7
第1章 测试的背景 • 以便捷式计算器为例
– 加法 1+1、减法 1-1、乘法 1*2 除法 1/2、开方 四则运算 1+2*3/4 – 是否存在可能的崩溃现象 – 可以计算开立方?三角函数? – 电量不足时的运算结果是否正常 – 按键布局问题、按键过紧 显示屏过小
1.2 软件wenku.baidu.com陷是什么
• 练习:以笔为例,列出以上五种情况
系统分析时对客户的需求不是十分清楚 不同阶段的开发人员相互理解不一致
– 技术问题
算法错误、语法错误 接口参数传递不匹配,导致模块集成出现问题
– 项目管理的问题
缺乏质量文化,不重视质量计划 开发周期短,开发流程不够完善 文档不完善,风险估计不足
10
第1章 测试的背景
1.4 软件缺陷的修复费用
• 修复软件缺陷的费用随着时间的推移而呈指数级 的增加趋势
11
第1章 测试的背景
1.4 软件缺陷的修复费用
• 大型通用软件在正式发布前,通常需要执行Alpha 和Beta测试,目的是从实际终端用户的使用角度, 对软件的功能和性能进行测试,以发现可能只有 最终用户才能发现的错误。
– Alpha测试是由一个用户在开发环境下进行的测试,也 可以是公司内部的用户在模拟实际操作环境下进行的 受控测试,Alpha测试不能由程序员或测试员完成。 – Beta测试是软件的多个用户在一个或多个用户的实际 使用环境下进行的测试。 Beta测试是在开发者无法控 制的环境下进行的软件现场应用。
• 第五部分 使用测试文档
– – – – 计划测试工作 编写和跟踪测试用例 报告发现的问题 成效评价
• 第三部分 运用测试技术
• 第六部分 软件测试的未来
– 软件质量保证 – 软件测试员的职业
4
第1章 测试的背景
• 什么是Bug?
1.1 臭名昭著的软件错误用例研究
– 第一个有记载的bug是美国海军的编程员,编译器的发明者格蕾斯· 哈珀 (Grace Hopper)发现的。1945年9月9日,下午三点。哈珀中尉正领着 她的小组构造一个称为“马克二型”的计算机。这还不是一个完全的电 子计算机,它使用了大量的继电器,一种电子机械装置。那是一个炎热 的夏天,房间没有空调,所有窗户都敞开散热。突然,马克二型死机了。 技术人员试了很多办法,最后定位到第70号继电器出错。哈珀观察这个 出错的继电器,发现一只飞蛾躺在中间,已经被继电器打死。她小心地 用镊子将蛾子夹出来,用透明胶布帖到“事件记录本”中,并注明“第 一个发现虫子的实例。”
• 软件测试工程师的职业瓶颈
– 自满型
在一家公司变成了资深人士,对一个行业业务的黑盒测试、灰盒测试很 熟悉,开始不思进取。
– 疲惫型
对现有的开发测试流程十分熟悉,感觉到日复一日、项目复项目的工作 已经没有新鲜感。
– 压力型
在生活和家庭,甚至何去何从的压力下,影响了自己对职业发展的看法。
– 提升困难型 – 迷茫型
– 测试工程师
具有1~2年经验的测试工程师或程序员。编写自动测试脚本程序并担任 测试编程初期领导工作。拓展编程语言、操作系统、网络与数据库技能。
– 高级测试工程师
具有3~4年经验的测试工程师或程序员。帮助开发或维护测试或编程标 准与过程,负责同级的评审,并为其他初级测试工程师充当顾问。
– 测试组负责人
• Bug的危害
– 由于放射线治疗设备中的软件中的一个并发冲突,导致癌症患者 接受放射治疗过量 – 美国三哩岛核能工厂事故:程序不能识别接近熔化温度值 – Ariane 5由于嵌入式软件中错误的类型转换,火箭在发射5秒钟后 自毁 6
第1章 测试的背景
• 软件失败的有关术语
– 缺点 – 故障 – 失败 – – – – 异常 事件 偏差 特殊 – 问题 – 错误 – 缺陷
– 管理类
对于从事测试管理的组长到测试经理,一般要求:精通测试理论知识, 项目管理知识;熟练掌握质量管理,流程管理和控制,配置管理的知识, 熟练掌握各种测试类型,非常熟悉公司的产品发展策略;了解测试工具 和测试技术,了解行业知识,了解公司的发展策略。
– 业务类
要求精通行业知识,即产品本身的知识,以及产品相关的知识;非常了 解甚至能够参与到公司产品策略的制定;了解测试理论和测试技术,了 20 解公司的技术发展战略和整体发展战略。
软件测试
倪维健
练习
背景:你是一名测试工程师,你所在的公司 是一家文具公司,公司将要设计一种 新的笔,以进军全球市场。
问题:你将如何对这款新产品进行测试?写 出你的测试方案。
2
关于教材
• 教材
《软件测试》 Ron Patton 机械工业出版社
• 参考文献
1. 《软件测试》 Paul C.Jorgen 机械工业出版社 2. 《软件测试与持续质量改进》 William E.Lewis 人民邮电出版社
12
第1章 测试的背景
1.5 软件测试员究竟做些什么
• 发现软件缺陷 • 尽可能早的找出软件缺陷 • 尽可能早的找出软件缺陷,并确保其得以 修复 • “修复缺陷”不等于“修改软件”
13
第1章 测试的背景 1.6 优秀的软件测试员应具备的素质
• • • • • • • • • • • • • • 深厚的理论知识作支撑 对工作有足够的兴趣 足够的信心能做好自己的工作 能抓住被测试对象的关键功能 不拘一格的发散思维: 在工作中要考虑的范畴远远要比产品的设计人 员或制作人员考虑的要广、要细致、要全面 良好的工作计划 不断的“重构”自己的工作 不断(微)创新: 第一从小处着眼,贴近用户需求心理,第二快速出击, 不断试错。 建立一整套工厂化的工作模式 与开发人员和谐相处 多考虑被测试对象的可用性:实现同一功能的产品往往不只是惟一,用户 随时可以更换他的选择,所以,产品的功能 不断的学习 性与可用性同等的重要! 与测试领域的同行多交流 正确的利用网络资源
几年之后,感觉对测试行业比较熟悉,同时经过磨合,真正对自己的职 业产生一定的想法。自己到底要做什么?怎么做?自己的发展和目标是 什么?产生了迷茫,不知何去何从。
– 困扰型
19
第1章 测试的背景延伸知识:软件测试工程师职业概述 • 软件测试工程师的发展方向
– 技术类
从一个测试工程师到一个测试技术专家,要求精通测试理论知识,精通 一到两种自动化测试工具和测试技术,精通一到两种测试类型与工具; 熟练掌握两到三种编程语言,熟练掌握windows和 Linux的系统管理,熟 练掌握数据库的性能监控与调优,熟练掌握网络监控与管理知识;熟悉 系统架构,质量管理,流程管理和控制等有关知识。
14
第1章 测试的背景 • 臭名昭著的软件错误用例研究 • 软件缺陷是什么 • 为什么会出现软件缺陷 • 软件缺陷的修复费用 • 软件测试员究竟做些什么 • 优秀的软件测试员应具备的素质
1.6 小结
15
第1章 测试的背景延伸知识:软件测试工程师职业概述
• IT行业人才结构失衡
– 软件行业发展迅猛:收入超过3784.99亿元 – 2005年10月25日,劳动部正式将计算机软件产品检验员(即软件 测试工程师)列入第四批新职业中。有调查显示,通过必要测试, 软件缺陷可减少75%,而软件的投资回报率则可增长到350%。 – 美国劳工部发布了一项最新预测,列出了未来8年间需求增长最快 的25个职位。其中,网络系统和数据通讯分析、计算机软件测试、 计算机系统软件工程师等五IT职位位列前列。 – 以大型软件公司为例,1 个软件开发工程师通常需要辅有1至2个 软件测试工程师。 – 我国软件公司的软件测试人员和开发人员的比例大致在1:4,离 国际先进水平的1:1还有一定差距。 – 目前,国内软件测试人才的来源主要有三方面:一是以前做软件 开发转行的技术人员;二是来自计算机专业的高等学院毕业生; 三是来自培训机构的专业学员。
相关文档
最新文档