培训教材—软件测试基础
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
优秀的软件测试人员应该具备的素质
4.创造性:想出富有创意甚至超常的手段来寻找软件缺陷。 5.追求完美:他们力求完美,但是知道某些无法企及时,不去苛求,而是尽力接近目标。 6.判断准确:软件测试员要决定测试内容、测试时间,以及看到的问题是否算作真正的 缺陷。 7.老练稳重:软件测试员不害怕坏消息。 8.说服力:软件测试员要善于表达观点,表明软件缺陷为何必须修复,并通过实际演示 力陈诉观点。
项目经理
高级软件测试工程师
项目软件测试经理
系统工程师
初级软件测试工程师
软件测试工程师
测试工作太枯燥,没有创造性
测试工作枯燥? 喜欢看推理侦探小说么?测试的过程其实也和推理破案的过程一样的有趣。当进行了严密 的推理终于发现一个大缺陷后,会很有成就感。 没有创造性? 测试也需要创造,新的测试方法,新的自动化测试工具,创造机会很多。
❖爱国者导弹防御系统 一个小的系统时钟错误,导致在多哈袭击战中,系统被拖延100多个小时。 ——1991
❖美国航天局火星极地登陆 由于确定何时关闭推进器的程序中某一个数据位被以外修改,飞船在试图登陆火星表面失踪 ——1999
什么是软件缺陷?
➢软件未达到产品设计规范表明的功能; ➢软件出现了产品设计规范指明不会出现的错误; ➢软件功能超出产品设计规范指明的范围; ➢软件未达到产品设计规范虽未指出但应达到的目标; ➢软件测试人员认为软件难以理解、不易使用、运行速度慢,或者最终用户认为不好。
什么是软件测试?
•软件测试的定义 •软件测试的对象 •软件测试的目的 •软件测试分类和比较 •软件测试的内容
软件测试的定义
➢ 软件测试(Software testing)是软件生存期中的一个重要阶段,是软件质量保证的关键步 骤。通俗地讲,软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码进行 最终复审的活动。
软件测试的对象
用户需求
用户: 我要什么?
理解正确性
表达正确性
1
需求说明书
需求分析员: 我可以提供什么?
5 相符合么?
运行结果
计算机: 程序运行得到的结果
运行正确性
4
输入正确性
源程序
程序员: 我要要让计算机怎么做?
2
理解正确性 设计正确性 表达正确性
设计说明书
设计员: 我要软件做什么?
3
理解正确性 编码正确性
为什么会出现软件缺陷?
需求变化
设计错误
ห้องสมุดไป่ตู้
软件复杂
开发工具
缺乏交流
时间压力 文档缺乏
……
缺陷
软件缺陷的修复费用
软件测试人员究竟做些什么?
目标:尽可能早的 发现软件缺陷, 并确保其得以修复
小插曲
大家有愿意做测试工作的么?
不愿意的原因? A、测试工作太枯燥。 B、测试工作不需要什么技术,只有技术水平低的人才去做。 C、测试工作没有创造性,我喜欢有创造的开发工作。 D、做测试工作,发展空间不大,选择比较少。 E、测试人员工资比开发人员低 F、其它
小插曲
你以前接触过软件测试工作么? 你认为软件测试人员是做什么的?
臭名昭著的软件错误案例
❖英特尔奔腾CPU 计算机芯片被发现有浮点除法软件缺陷。 ——1994
❖英特尔的1.13MHZ奔腾III处理器可能导致运行程序被挂起,计算机生产商召回已经交付用户的PC机。 ——2000
臭名昭著的软件错误案例
成功的秘密 强烈的动机 坚定的信念
强烈的愿望,确定的目标 我最想做什么样的人? 我一定要做得最好
我能行!
课程内容
❖软件测试背景 ❖什么是软件测试? ❖软件测试的流程 ❖软件测试工具
_ Rational Test
小插曲 你对软件测试的理解?
对软件测试的错误理解
如果发布出去的软件有质量问题,那是软件测试人员的错。 软件测试技术要求不高,至少比编程容易多了. 软件测试是测试人员的事,与开发人员无关。 设计-实现-测试,软件测试是开发后期的一个阶段。 测试出没有故障,说明我们的软件没有缺陷。
优秀的软件测试人员应该具备的素质?
软件测试员的一个基本素质是:打破沙锅问到底 软件测试员应具备的素质: 1.探索精神:软件测试员不会害怕进入陌生环境。 2.故障排除能手:软件测试员善于发现问题的症结,喜欢猜谜。 3.不懈努力:软件测试员总是不停尝试。他们可能会碰到转瞬即逝或者难以重建的软件 缺陷;他们不会心存侥幸,而是尽一切可能去寻找。
培训教材—软件测试基础
课程内容
❖软件测试背景 ❖什么是软件测试 ❖软件测试的流程 ❖软件测试工具
_ Rational Test
课程目标
❖了解软件测试工程师的职业要求及特点 ❖掌握软件测试的基本概念 ❖熟悉常用的软件测试类型 ❖熟悉软件测试的工作流程和阶段划分 ❖了解软件自动化测试 ❖理解软件测试与软件开发的相互关系
软件测试的目的
➢ 想以最少的时间和人力,系统地找出软件中潜在的各种错误和缺陷。如果我们成功地 实施了测试,我们就能够发现软件中的错误。
➢ 测试的附带收获是,它能够证明软件的功能和性能与需求说明相符合。 ➢ 实施测试收集到的测试结果数据为可靠性分析提供了依据。 ➢ 测试不能表明软件中不存在错误,它只能说明软件中存在错误。
怎样成为优秀的软件测试人员?
[广义]所有的软件系统都需要的基础知识包括:基本的编程 能力、面向对象方法、操作系统、数据库、计算机网络……
[针对性]对具体产品线的业务知识
软 件
测试基础知识
测试工具
测 试
自动化测试 测试的思维方式 … … … …
工
程
软件工程
师 广度深度
专业
敬业
软件测试人员的发展阶段和机会 测试经理
软件测试的目的
基于不同的立场,存在着两种完全不同的测试目的。 ➢ 从用户(测试人员)的角度出发,普遍希望通过软件测试暴露软件中隐藏的错误和缺陷,以
考虑是否可接受该产品。 ➢ 从软件开发者的角度出发,则希望测试成为表明软件产品中不存在错误的过程,验证该软件
已正确地实现了用户的要求,确立人们对软件质量的信心。
➢
1983年IEEE提出的软件工程术语中给软件测试下的定义是:“使用人工或自动的手段来
运行或测定某个软件系统或系统部件的过程,其目的在于检验它是否满足规定的需求或弄清预
期结果与实际结果之间的差别”。
软件测试的对象
➢ 软件测试不等于程序测试,软件测试贯穿于软件定义和开发的整个期间。需求分析, 概要设计,详细设计,以及程序编码等各个阶段所得到的文档,包括需求规格说明,概要 设计规格说明,详细设计规格说明以及源程序,都是软件测试的对象.