版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一章软件测试概论浅笑老师课程大纲第一章软件测试概论1.1
软件测试的目的和意义1.2
软件测试的发展历程和现状1.3软件测试人员要求1.4软件测试人员职业发展方向第二章软件测试分类课堂问题1在典型的软件开发项目中,软件测试工作量常占软件开发总工作量的40%以上在软件开发的成本中,用在测试上的开销要占30%到50%软件开发的首要问题不是技术问题而是管理问题测试软件测试硬件测试文档测试(需求规格说明书、软件设计说明书)程序测试(java、c#、c*c++)软件分类1)按功能分:系统软件(OS、硬件驱动程序)应用软件(Office、QQ)2)按技术架构分:单机版软件(Office、画图工具)C/S结构软件(客户端Client/服务器端Server,QQ、MSN)B/S结构软件(浏览器Browser/服务器Server,WEB项目)<现在软件的主流>3)按用户分:产品软件:目标用户是大众用户(win8系统)项目软件:目标用户是具体用户4)按开发的规模分:类别参与人数开发时间小型10人以下1—4个月中型10—100人1年以下大型100人以上1年以上一个可靠的软件系统应该是正确、完整、一致和健壮的,也是软件用户所期望的。IEEE组织将软件的可靠性定义为:系统在特定环境下,在给定的时间内无故障运行的概率。软件错误分类功能错(需求分析错误)软件结构错数据错编码错软件集成(接口)错测试定义与测试执行错误软件测试工具简介一般软件测试工具分为黑盒测试工具、白盒测试工具、测试管理工具MIloadrunner——性能测试MIwinrunner——功能测试MItestdirector——测试管理工具MIQTP——自动化测试工具第1章软件测试概述1.1
软件测试的目的和意义1.2
软件测试的发展历程和现状1.3软件测试人员要求1.4软件测试人员职业发展方向1.1
软件测试的目的和意义随着对计算机需求和依赖的与日俱增,计算机系统的规模和复杂性急剧增加,使得计算机软件的数量以惊人的速度急剧膨胀。与此同时,计算机出现故障引起系统失效的可能性也逐渐增加。由于计算机硬件技术的进步,元器件可靠性的提高,硬件设计和验证技术的成熟,硬件故障相对显得次要了,软件故障正逐渐成为导致计算机系统失效和停机的主要因素。1.1
软件测试的目的和意义2.1.2软件测试的目的测试是为了发现错误bug一个好的测试用例在于能发现至今未发现的错误一个成功的测试是发现了至今未发现的错误的测试
测试是为了发现错误,不能证明程序正确。一般来说,单元测试(白盒测试)可由程序员自己完成,而综合测试通常由测试小组来完成。根据这个测试目的,应该排除对测试的错误观点,设计合适的测试用例,用尽可能少的测试用例,来发现尽可能多的软件错误。
1)软件开发成本
软件产品最大的成本是检测软件错误、修正软件错误的成本。在整个软件开发中:测试工作量≥50%2)软件测试的目标
(1)预防错误:几乎不可实现(2)发现错误:软件测试目的找错
把证明程序无错当作测试目的不仅是不正确的,完全做不到的,而且对做好测试没有任何益处,甚至是十分有害的。软件测试要设法使软件发生故障,暴露软件错误
测试的“成功”与“失败”:能够发现错误的测试是成功的测试,否则是失败的测试。2)软件测试的目标(续)
1.1
软件测试的目的和意义1.2软件测试的发展历程和现状1.2软件测试的发展历程和现状19世纪50年代19世纪70年代1975年1982年英国著名的计算机科学家图灵就给出了软件测试的原始定义:测试是程序正确性证明的一种极端实验形式。随着软件规模和复杂性的变化,软件可靠性面临前所未有的危机,软件测试的研究开始受到重视,是软件测试技术发展最活跃的时期Goodenough首次提出了软件测试理论,从而把软件测试这一实践性很强的学科提高到理论的高度美国北卡来纳大学召开了首次软件测试技术会议,是软件测试与软件质量研究人员和开发人员的第一次聚会1.2软件测试的发展历程和现状软件测试现状:就目前软件工程发展的状况而言,软件测试仍然是较为薄弱的一个方面。不仅测试理论,已有的测试方法也不能满足当前软件开发的实际需求。尤其是进入20世纪90年代后,计算机技术日趋成熟,软件应用范围逐步扩大,软件规模和复杂性急剧增加,与此同时,计算机出现故障引起系统失效的可能性也逐渐增加。由于计算机硬件技术的进步,元器件可靠性的提高,硬件设计和验证技术的成熟,硬件故障相对显得次要了,软件故障正逐渐成为导致计算机系统失效和停机的主要因素。1.2软件测试的发展历程和现状随着软件外包行业的逐渐兴起和人们对软件质量保障意识的加强,中国软件企业已开始认识到,软件测试的广度和深度决定了中国软件企业的前途命运。以占中国软件外包总量近85%的对日软件外包来说,业务内容基本都针对测试环节。软件外包中对测试环节的强化,直接导致了软件外包企业对测试人才的大量需求。近年来,几乎所有的软件企业均存在不同程度的测试人才缺口,软件测试工程师已成为了亟待补充的关键技术工种之一。IBM、百度、华为、惠普、盛大网络、联想集团等国内外大型IT企业均表现出对成熟软件测试人才的期盼,而微软、三星、西门子、思科、华为等多家国内外IT巨头则相继在全国各大高校招兵买马,并把软件测试人才的招聘放在了突出的位置。国内软件测试人才紧缺的现状已经凸现出来。软件开发中测试人员与开发人员的比例国内:1:9---1:15微软公司:1:5:1Borland公司:1:1公司里测试部门的组织结构小公司无独立的测试部门,常在项目组中配1—3名测试人员大公司设测试部门,测试经理根据项目的需要把测试人员派往不同的项目组进行项目的测试和质量监督测试工程师在项目质量上对项目经理负责,在工作任务完成后向测试经理汇报,称双线领导专业外包公司软件外包(SoftwareOutsourcing):指一些软件公司出于节省成本或优势互补等原因,将其项目中的测试、部分编码或设计等工作委派给第三方公司来完成测试经理、测试组长、测试工程师(一个项目组分多个测试小组)1.3软件测试人员要求测试人员的目标和主要工作软件测试人员应该至少具备以下两个关键领域方面的知识:1)软件测试技术;2)被测应用程序及其相关应用领域知识。目标:1)基本目标是发现软件错误;2)要尽可能早的找出软件错误;3)必需确保找出的软件错误得以关闭;4)依据事实对软件做出评价。主要工作:1)规划测试任务2)设计测试(包括编写测试用例等等)3)建立一个合适的测试环境4)评估、获取、安装和配置自动测试工具5)执行测试6)撰写适当的测试文档测试工程师1、测试工程师应该具备的基本职业素质:三心二意一能力三心:细心、耐心、信心。二意:服务意识、团队意识。一能力:沟通能力。2、如何成为一名优秀的测试工程师:内功(基础知识:计算机硬件、网络、操作系统、数据库等)测试技术(黑盒测试中等价类、边界值、因果图等,白盒测试中的语句覆盖、分支覆盖、路径覆盖等)1)不断学习充电2)阅读原版书籍3)阅读缺陷管理系统中的缺陷报告4)阅读高手写的测试用例5)学习产品相关的业务知识1.3软件测试人员要求基本素质要求1.细心、对缺陷的洞察力。2.耐心和执着。3.信心。4.服务意识。5.团队合作意识。6.沟通能力。简称:三心二意一能力。1.3软件测试人员要求基本技术要求1.了解软件测试基本概念。定义、目的、原则、对象、与质保的关系。2.能够读懂需求或系统功能,运用黑盒测试方法设计测试用例3.执行测试用例4.了解软件缺陷定义和并能对缺陷进行管理跟踪5.了解版本管理6.编写测试报告1.3软件测试人员要求7.至少会使用一种测试工具。()8.能够读懂代码。9.至少会使用一种数据库。常见的oracle等。(增删改查)(基本查询)VBScript(自动化)python(自动化)测试工程师职业素质基本素质广泛的经验:工作经验交流技巧:表达能力、问题描述能力、会提问、会寻求正确的帮助逻辑思维能力团队协作能力组织技能:处理日常事务的能力和处理突发事件的能力态度:需要理解和采取适当的态度去做软件测试专业素质基础知识:了解软件工程、操作系统、数据库和网络把握需求能力测试流程熟习程序测试方案:测试方案的分析设计能力、测试案例的设计能力、测试案例的覆盖率/优先级、回归测试案例的选取等测试工具的使用:测试管理和测试执行工具使用能力,开发工具的能力测试管理能力软件测试工程师要掌握的知识:技术、测试技巧/方法、测试计划、执行测试计划、测试分析报告与改进1.3软件测试人员要求一个合格的测试工程师,你具备了哪些?1、熟悉新产品、接受新事物的能力——快速的学习能力2、良好的沟通能力3、扎实的技术功底4、充足的自信心5、博闻强记的能力6、承受重复性操作的耐心——细致认真的工作态度7、对一个Bug的责任心——高度的责任心8、充沛的精力测试工作的主要步骤1)测试计划测试人员要首先对需求进行分析,最终定义一个测试集合。2)测试设计与开发根据软件需求、说明书完成测试用例设计并编写必要的测试驱动程序。3)执行测试需要做的工作是,建立测试环境;根据前面编写的测试计划和测试用例运行测试;记录测试结果;报告软件缺陷;跟踪软件缺陷直至其被处理;分析测试结果测试工程师分类按工作性质分测试开发工程师:主要负责编写测试工具代码,并利用测试工具对软件进行测试;或开发测试工具为软件测试工程师服务软件测试工程师:主要负责理解产品的功能要求,并对其进行测试,检查软件有没有错误,决定软件是否具有稳定性,并写出相应的测试规范和测试案例按职位分测试经理、测试组长、测试设计人员、测试开发人员、测试执行人员按测试类型分功能测试工程师、自动化测试工程师、性能测试工程师按测试对象分Web测试工程师、数据库测试工程师、C/S测试工程师、个人软件测试工程师、B/S测试工程师按其级别和职位分
初级软件测试工程师:其工作通常都是按照软件测试方案和流程对产品进行功能测验,检察产品是否有缺陷中级软件测试工程师:编写软件测试方案、测试文档,与项目组一起制定软件测试阶段的工作计划,能够在项目运行中合理利用测试工具完成测试任务高级软件测试工程师:熟练掌握软件测试与开发技术,且
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 海鲜干货采购合同范例
- 种植苗木合同范例
- 智慧停车服务协议合同模板
- 场地施工合同(04版)
- 租赁车间及设备合同范例
- 窗帘合伙经营合同模板
- 杭州单层厂房出租合同范例
- 2024年度LED路灯采购及安装项目合同
- 2024装修合同(附加合同)
- 2024年度网络安全防护及修复合同
- 新版RoHS环保知识培训教学内容
- 2025届炎德英才大联考物理高二上期末学业水平测试试题含解析
- 2024年执业药师资格继续教育定期考试题库附含答案
- 蚯蚓与土壤肥力提升2024年课件
- 2024-2030年中国房车行业竞争战略发展趋势预测报告
- 天津市和平区2024-2025学年高一上学期11月期中英语试题(含答案含听力原文无音频)
- 2023年8月26日事业单位联考C类《职业能力倾向测验》试题
- 2023年天津公务员已出天津公务员考试真题
- 施工现场临水施工方案
- 2024年高中化学教师资格考试面试试题与参考答案
- 2022年公务员多省联考《申论》真题(四川县乡卷)及答案解析
评论
0/150
提交评论