现代软件测试技术 -教学大纲(32理论+16实践)_第1页
现代软件测试技术 -教学大纲(32理论+16实践)_第2页
现代软件测试技术 -教学大纲(32理论+16实践)_第3页
现代软件测试技术 -教学大纲(32理论+16实践)_第4页
现代软件测试技术 -教学大纲(32理论+16实践)_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《现代软件测试技术》课程教学大纲一、课程基本信息课程中文名称:现代软件测试技术课程英文名称:ModernSoftwareTestingTechniques讲课学时:32学时课内实验学时:16学时适用专业:电子信息专业、软件工程专业教材名称:张剑波,王伦澈,袁国斌等.现代软件测试技术[M].北京:清华大学出版社,2025.二、课程内容简介软件测试是电子信息专业研究生和软件工程专业本科生的核心课程,授课内容以软件工程知识体系SWEBOKV3(2014版)和软件测试知识体系SWTBOK®V1.0(2011版)为蓝本,全面、系统地从测试过程、测试技术与方法和测试管理三个方面介绍了在软件测试领域被广泛接受的知识域。课程内容主要包括:软件工程过程与模型、软件测试生命周期、静态测试技术、动态测试技术、缺陷管理、软件测试过程、测试文档、自动化测试与测试工具、测试管理等。通过课程的学习,帮助学生构建完整的软件测试知识体系,重点学习测试过程、测试技术与方法两个方面涵盖的知识域,并兼顾以测试管理为基础的测试团队知识域,引导学生更好地将所学知识应用于实践过程,而不限于只对软件测试技术理论的学习,提高学生的软件测试能力。三、课程目标通过本课程的学习,应达到的目标及能力如下:目标1:掌握软件测试的基础理论知识,理解软件测试在整个软件工程生命周期模型中的阶段、作用和工程化实施的方法;能够使用规范的软件工程相关方法技术、工具分析表达复杂软件工程实践中的软件需求、软件设计、软件测试、软件维护问题和解决方案。目标2:掌握软件测试的生命周期各阶段/流程涉及的开发方法和技术,重点掌握白盒测试、黑盒测试的基本方法和技术,同时掌握集成测试、系统测试和验收测试的方法和技术。目标3:掌握软件测试过程中常用测试工具的基本原理和使用方法,能够根据不同软件测试场景需求选择、使用或开发合适的测试工具,能够采用恰当的方法和工具对软件系统进行测试和验证,并能够熟虑使用不同类型的测试文档呈现测试结果。四、课程内容及教学进度安排课程总学时为48学时,共包括教材9章内容。各章节学时进度安排如下表:表1课程教学内容与进度安排序号知识单元授课内容学时分配支撑课程目标授课方式1软件工程过程1.1软件工程过程1.1.1软件过程框架1.1.2软件过程分类1.1.3软件生命周期模型1.1.4软件过程工具【基本内容】软件过程流程;软件过程框架、主要活动及普适性活动;常用的软件过程流;ISO/IEC12207软件生命周期的基本过程、支持过程和组织过程;常见的软件生命周期模型(瀑布模型、增量模型、演化模型、原型模型、螺旋模型、统一过程模型和敏捷过程模型);常见的软件过程工具。2目标1授课2软件测试生命周期2.1软件测试基础2.1.1软件测试的目的2.1.2软件测试的定义2.2软件测试与软件开发2.2.1敏捷开发与测试2.2.2测试驱动开发2.2.3行为驱动开发2.3软件测试过程模型2.3.1测试过程2.3.2V模型2.3.3W模型2.3.4其他模型2.4软件测试发展【基本内容】SWTBOK软件测试知识体系;软件测试的目的;软件测试的定义;敏捷开发与测试方法;测试驱动开发方法;行为驱动开发方法;软件测试过程模型;V模型;W模型;H模型;X模型;软件测试技术的发展历程和现状。2目标1授课3静态测试3.1评审3.1.1评审作用3.1.2评审基本原则3.1.3评审基本过程3.1.4角色和职责3.2评审类型3.2.1需求评审3.2.2概要设计评审3.2.3详细设计评审3.2.4数据库评审3.2.5测试评审3.3静态分析3.3.1控制流分析3.3.2数据流分析3.3.3程序插桩3.3.4变异测试3.3.5代码检查3.4静态测试实践3.4.1指导原则3.4.2实践案例【基本内容】评审作用、原则、过程、角色和职责;各类软件过程活动的评审内容和细则(需求分析、概要设计、详细设计、数据库设计和测试过程);静态分析方法(制流分析、数据流分析、程序插桩、变异测试和编码标准一致性检查);静态测试实践的指导原则和案例。2目标1授课4测试设计4.1经典测试设计4.1.1白盒测试4.1.2黑盒测试4.2基于质量特性的测试设计4.2.1功能测试4.2.2非功能测试4.3基于经验的测试设计4.3.1基于缺陷分类的测试4.3.2探索性测试4.4测试设计实践4.4.1指导原则4.4.2实践案例【基本内容】白盒测试方法,包括逻辑覆盖、程序插桩、基本路径、图覆盖、符号测试和变异测试等方法;黑盒测试方法,包括等价类划分、边界值分析、因果图、决策表和错误推测等方法;功能性测试;24种非功能性测试方法;基于缺陷分类的测试方法;探索性测试方法;测试设计实践的指导原则和案例。8目标2授课5实验1测试技术与单元测试框架1、设计“BaggagecalculatorforAirChina-国航国内/国际航班行李托运计算器”软件,综合使用“等价类划分、边界值、错误推测、因果图”等方法进行黑盒测试用例设计,选择软件代码中3个重要函数进行白盒测试用例设计。2、单元测试框架实习:根据实现语言选择一种xUnit测试框架,完成该软件的单元测试。4目标3实验6缺陷管理5.1缺陷的特点5.1.1雪崩效应5.1.2成本放大效应5.1.3集群效应5.2缺陷管理生命周期5.3基于缺陷模式的软件测试方法5.3.1基于缺陷模式的软件测试5.3.2基于缺陷模式的测试指标5.3.3缺陷模式5.4缺陷管理实践5.4.1指导原则5.4.2实践案例【基本内容】软件缺陷的特点、产生与分布;缺陷管理生命周期(状态、严重程度、种类、数目估计和效率分析);基于缺陷模式的软件测试;缺陷管理实践的指导原则和案例。2目标1授课7软件测试过程6.1软件测试过程6.1.1测试计划阶段6.1.2测试设计阶段6.1.3测试执行阶段6.1.4测试监控阶段6.1.5测试结束阶段6.2软件测试级别6.2.1单元测试6.2.2集成测试6.2.3系统测试6.2.4验收测试6.2.5回归测试【基本内容】软件测试过程中各个测试阶段主要工作;软件测试过程的5个步骤及每个步骤主要工作;单元测试的定义、策略和各阶段的主要工作;单元测试用例设计;单元测试框架的工作原理;集成测试的定义、目的和测试重点;自顶向下、自底向上、三明治混合集成的增量式集成测试方法;接口测试方法;集成测试用例设计;系统测试定义、目标、过程和方法;验收测试任务、目标、测试步骤和测试策略;Alpha和Beta测试;回归测试的定义和适用情况。6目标1目标2授课8实验2软件综合测试技术1、UI测试:选择大型网站进行WebUI测试,要求测试场景不得少于5个,对测试过程进行详细记录,并对测试结果进行相关统计。2、接口测试:使用接口测试工具,从开放API接口网站上选择5个不同类型API接口进行接口测试,并设计相应的测试用例。3、性能测试:针对大型网站,借助不同的自动化测试工具进行负载、压力和容量为目标的性能测试。4目标3实验9测试文档7.1测试计划文档7.1.1测试对象7.1.2测试范围7.1.3测试方法7.1.4测试管理7.2测试规格说明文档7.2.1测试设计文档7.2.2测试用例文档7.3测试报告文档7.3.1缺陷报告文档7.3.2测试总结报告文档7.4测试文档实践7.4.1指导原则7.4.2常用模板【基本内容】正确理解软件测试计划的重要性和作用,正确理解和运用测试过程中常用的软件测试文档内容,包括:测试大纲、测试计划、测试需求说明书、单元测试文档、功能测试文档、集成测试文档、系统测试文档、验收测试文档和测试总结报告等。2目标1授课10实验3移动测试技术选择一款主流APP应用,使用常用的App测试技术与框架,完成App功能测试、性能测试和UI测试,要求每类测试场景不得少于5个,对测试过程进行详细记录,并对测试结果进行相关统计。4目标3实验11软件测试工具8.1自动化测试8.1.1使用测试工具的益处8.1.2自动化测试的前提8.1.3自动化测试的过程8.1.4自动化测试的局限8.2自动化测试的级别8.2.1录制和回放8.2.2录制、编辑和回放8.2.3编程和回放8.2.4数据驱动的自动化测试8.2.5关键字驱动的自动化测试8.3测试工具8.3.1测试管理工具8.3.2功能测试工具8.3.3性能测试工具8.3.4移动测试工具8.4测试框架8.4.1单元测试框架8.4.2自动化测试框架【基本内容】自动化测试的定义、使用前提、过程和局限;自动化测试成熟度模型的5个级别;测试管理工具(TestDirector);功能测试工具(Selenium和Postman);性能测试工具(JMeter和LoadRunner);单元测试框架;自动化测试框架。6目标1目标3授课12实验4自动化测试框架搭建利用Jenkins和TestNG搭建一个自动化测试平台,体验敏捷开发过程中测试驱动开发的理念和实施过程。掌握典型的自动化测试框架的搭建过程与方法。4目标3实验13课程复习课程内容回顾与总结2五、课程思政元素表2课程思政元素程章节知识点思政元素培养目标备注软件测试生命周期软件测试定义、过程模型与发展概述结合中国发展近现代史,介绍软件工程专业学科的变迁和发展、科学发展观与软件测试发展激发学生的家国情怀,树立四个自信;传授伦理价值规范,培养正确职业道德静态测试测试设计静态测试(评审、静态分析)培养良好的职业规范培养学生学习编码规范,提高软件质量经典测试(白盒测试、黑盒测试)软件测试要实事求是,一切从实际出发,用全面的观点做软件测试培养学生人文精神、工匠精神,对待具体问题具体分析,抓住主要矛盾基于质量特征的测试(功能性测试、非功能性测试)非功能性测试的多样性体现了联系和发展的哲学思维,学会用矛盾的观点看待软件性能培养学生树立竞争意识,培养创新精神,提振攻坚克难的勇气基于经验的测试(缺陷分类、探索性测试)运用辩证思维开展软件测试培养学生根据缺陷分析监控软件质量,提高软件开发管理水平软件测试过程单元、集成、系统和验收测试马克思主义物质观与软件开发过程;组建测试团队,践行社会主义核心价值观培养学生以本质和现象的观点看待软件测试过程及模型测试文档测试过程中常用的软件测试文档内容培养良好的职业规范强化学生软件测试文档的书写规范软件测试工具自动化测试引入自动化性能测试致力于“阿里双十一的技术进步”案例,引导学生科技自豪感,精益求精的工匠精神引导学生认真学习,提升专业技能,成为优秀的软件质量保证工程师测试管理、功能测试、性能测试工具的使用软件测试管理要抓住主要矛盾,牵住牛鼻子培养学生发展地、全面地、系统地、普遍联系地进行软件测试管理六、课程目标达成途径与措施采用课堂教学结合上机实验、课后书面作业的教学方式。(1)课堂教学采用多媒体和板书、教师讲授与学生讨论相结合等教学方式进行,增加学生在课堂上主动学习的积极性。教师讲授针对比较抽象的概念和难度较大的方法,学生讨论针对可以自主解决的问题。(2)实践环节设计合适的上机实习题目,帮助学生巩固和加深理解所学过的理论知识,掌握测试案例分析、设计理论及方法,引导学生运用现代软件工程测试方法和测试工具进行自动化测试开发,培养学生分析和解决软件工程具体问题的创新意识和能力。(3)书面作业布置书面作业,从中发现学生共性的问题,及时在课堂讲解,加以纠正。七、课程考核与成绩评定课程考核以检验学生能力培养目标的达成为主要目的,以检查学生对各知识点的掌握情况和应用能力为重点内容,包括平时作业、上机实验和期末考试三个部分,期末考试采取闭卷笔试,均为百分制。课程总评成绩满分为100分。各部分考核内容及所占比例如下表所示:表3课程考核内容与成绩占比考核项目考核主要内容课程目标权重平时作业采用课后习题形式,考核学生对每章节知识点的复习、理解和掌握程度,主要包括测试技术和测试过程等目标1占总评成绩10%上机实验实验1:测试技术与单元测试框架目标3占总评成绩40%实验2:软件综合测试技术实验3:移动测试技术实验4:自动化测试框架搭建期末考试书面考查学生对软件测试基础知识的掌握程度目标1目标2占总评成绩50%八、教学参考书[1]张剑波,方芳,周顺平.软件工程过程:原理、方法与工具[M].北京:电子工业出版社,2019.[2]张剑波,尚建嘎,李圣文.软件测试:原理、方法与管理[M].北京:科学出版社,2015.[3]BourqueP,FairleyRE.Guidetothesoftwareengineeringbodyofknowledge(SWEBOK(R)):Version3.0[M].IEEEComputerSocietyPress,2014.[4]聂南.软件项目管理配置技术[M].北京:清华大学出版社,2014.[5]聂长海.软件

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论