机器学习及其应用 第2版教学大纲_第1页
机器学习及其应用 第2版教学大纲_第2页
机器学习及其应用 第2版教学大纲_第3页
机器学习及其应用 第2版教学大纲_第4页
机器学习及其应用 第2版教学大纲_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

《软件测试》课程教学大纲课程代码:课程名称:软件测试/SoftwareTesting开课学期:学分/学时:3/32+16课程类型:必修适用专业/开课对象:先修课程:开课单位:团队负责人: 责任教授:执笔人: 核准院长:一、课程的性质、目的与任务《软件测试》是软件工程专业中一门综合性很强的基础课程,该课程从理论、标准、技术和工具等多方面介绍了软件测试,主要内容包括软件测试背景及分类、软件测试模型、软件测试的基础方法、软件测试的整体过程、软件测试活动的组织与管理、敏捷项目测试、面向对象的软件测试、软件测试自动化、缺陷跟踪管理、单元测试工具JUnit、接口测试工具、基于Python的自动化测试、性能测试工具JMeter、网上书店系统测试等。本课程的目的与任务是使学生通过本课程的学习,从软件测试的基础理论知识入手,循序渐进的学习软件测试的各种相关工具应用,并通过引入实际案例的测试过程学习,帮助学生更好的掌握软件测试技能,做到理论与实践相结合,方法与应用相结合。本课程除要求学生掌握软件测试的基础知识和工具使用,包括软件测试的基本概念、相关模型、基础方法、执行过程以及常用的自动化测试工具的使用方法等,重点要求学生学会分析问题的思想和方法,为更深入地学习和今后的实践打下良好的基础。二、教学内容及教学基本要求1.软件测试概述(2学时)了解软件测试的定义和历史背景,了解软件缺陷的定义和出现原因;了解软件测试的目的和原则;掌握常用的软件测试分类方法,包括按测试阶段分为单元测试、集成测试、确认测试、系统测试和验收测试,按是否需要执行被测试软件分为静态测试和动态测试,按是否需要查看代码分为白盒测试、黑盒测试和灰盒测试等;了解软件测试行业的现状与前景。2.软件测试过程模型(2学时)了解软件开发的基本过程和常见的软件开发过程模型;了解软件测试的基本流程;了解软件测试过程模型的概念,掌握V模型、W模型等常用的软件测试过程模型;了解软件测试过程改进模型的概念及典型模型种类。3.软件测试方法(4学时)了解静态测试和动态测试的内容及方法;了解桌面检查、代码审查、走查的概念与区别;掌握模块控制流图的使用方法;了解主动测试与被动测试的区别;了解程序插桩法、逻辑覆盖法、基本路径法等白盒测试方法,掌握语句覆盖、判定覆盖、条件覆盖、条件判定覆盖、条件组合覆盖和路径覆盖等常用覆盖准则;掌握等价类划分法、边界值分析法、因果图法、决策表法、正交试验法和场景法等常用黑盒测试方法。4.软件测试过程(4学时)了解单元测试的定义及原则,了解其内容与过程;了解集成测试的定义及内容,掌握基于功能分解的集成测试、基于调用图的集成测试方法;了解系统测试的定义及原则,掌握包括功能测试、性能测试、安装测试、压力测试、容量测试、安全性测试、健壮性测试、用户界面测试、文档测试在内的系统测试内容;了解验收测试的内容及过程,掌握α测试、β测试的内容。5.软件测试管理(2学时)了解软件测试项目的基本特性;了解软件测试项目管理的特性和原则;了解软件测试项目的范围管理方法;了解软件测试管理计划的制订和执行过程;了解主要的软件测试文档;了解测试的组织和人员管理机制;了解软件测试的过程管理、配置管理、风险管理和成本管理内容。6.面向对象软件测试(2学时)了解面向对象的基本概念,包括抽象、继承、封装、重载、多态等;了解面向对象的对象模型、动态模型和功能模型内容;了解面向对象的单元测试、集成测试、系统测试以及回归测试的策略;掌握面向对象软件的测试用例设计的相关内容。7.软禁质量保证(2学时)了解软件质量概述;了解软件质量保证在软件开发周期中的角色。了解质量保证计划和策略;了解质量度量和监控;了解软件评审;掌握持续集成和持续交付。8.敏捷项目测试(2学时)了解敏捷开发的概念;了解敏捷项目管理中的需求管理、时间管理和质量管理相关内容;了解敏捷测试项目中自动化测试和探索式测试的重要性,了解探索式测试的测试方法。9.软件自动化测试(4学时)了解自动化测试的概念、优缺点以及与手动测试的比较;掌握代码分析、捕获/回放、录制/回放、脚本技术等自动化实现的原理和方法;了解自动化测试的生命周期;了解自动化测试的方案选择方法;了解自动化测试工具的分类,了解常用的白盒测试工具、功能测试工具、性能测试工具以及测试管理工具。10.缺陷跟踪管理(2学时)了解缺陷管理的目的和意义;了解缺陷管理工具的分类;了解选择缺陷管理工具需要注意的事项;了解3种缺陷管理工具Redmine、Bugzilla和JIRA的特点和功能。11.JUnit单元测试(2学时)了解JUnit的基础理论知识;了解JUnit框架的组成,包括TestCase、TestSuite、TestRunner、Assert、TestResult、Test和TestListener这7部分;了解JUnit测试过程与测试用例;了解JUnit的安装与集成;掌握使用JUnit测试Calculator类的实例12.接口测试工具(2学时)了解接口测试的目的和意义;了解接口测试工具的分类;了解选择接口测试工具需要注意的事项;了解常用接口测试工具SoupUI、Jmeter和Postman的特点和使用方法。13.性能测试工具JMeter(1学时)了解JMeter性能测试概述;了解JMeter的安装、安装和基本概念;了解制定JMeter性能测试计划和方案设计;掌握JMeter测试脚本开发、测试执行和管理;了解JMeter测试结果分析和报告。14.Python的自动化测试(1学时)了解Selenium的工作原理;了解PageObject页面对象原理;了解Python原生单元测试框架Unittest的测试流程、测试日志的编写和测试报告的生成;了解基于Python的Pytest测试框架的测试流程。15.实验(16学时)教学说明及教学基本要求见《软件测试》实验教学大纲。三、教学方法本课程教学方法以教师为主导的启发式讲授教学法为主,讨论(提问)式教学为辅,结合课外学习的教学方法。实验以学生动手实验为主,教师的启发式讲授教学法为辅,并结合讨论(提问)式教学,以及结合课外学习的教学方法。1.本课程概念较多,因此教学形式以讲授方式为主。本课程拟采用多媒体PPT的教学方法,增加课堂信息,浅显通俗地对概念、定义和原理进行解释,增加教学的直观性,教学过程中注意各个知识点的关联性,以使学生更好地理解课程内容。2.对课程中关键性概念、设计思想方面的问题可辅以课堂讨论的形式。3.为加强和落实动手能力的培养,每章课后应安排作业,帮助学生学习和应用。四、课内外教学环节及基本要求本课程共48个学时,其中理论32个学时,讲授16周(每周2学时);实验16个学时,讲授8周(每周2学时)。课外学习要求:1.做好课前预习,预习时以教材为主,了解相关的概念、定义、原理。预习中认真思考,以便带着问题主动地听课。2.课后要复习,有余力的学生复习时还应阅读参考资料,认真整理课堂听课笔记。3.要求学生课外自主学习,学生课外阅读的参考资料以本大纲所列参考资料为主。五、考核内容及方式本课程成绩由平时成绩和期末考核成绩组合而成,课程成绩以百分制计算,分配比例如下:1.平时成绩占30%,主要考查作业的完成程度,理论课和实验课的出勤率,实验课的考试结果。其中作业占10%,实验占15%,出勤率占5%。2.期末成绩占70%,采用考试的考核方式。考试采用闭卷形式,题型为选择题、正确/错误题、填空题、简答题,以及应用题。六、持续改进本课程根据学生作业、课堂讨论、平时考核情况和学生、教学督导等反馈,及时对教学中不足之处进行改进,并在下一轮课程教学中改进。七、建议教材及参考资料建议教材:[1]吕云翔,等.软件测试技术与实践[M].北京:机械工业出版社,2026.参考资料:[1]黑马程序员.软件测试(第2版)[M].北京:人民邮电出版社,2023.《软件测试》实验教学大纲教学内容及教学基本要求1.缺陷管理工具的使用(2学时)了解缺陷管理的目的与意义;了解缺陷管理工具的分类;掌握项目管理工具Redmine、缺陷管理工具Bugzilla和问题跟踪工具JIRA的使用。2.Pytest的使用(2学时)了解单元测试工具Pytest的组成和测试过程;了解Pytest的基本功能;了解Pytest的安装与集成方法;掌握Pytest的测试用例编写和使用方式。3.JUnit的使用(2学时)了解单元测试工具JUnit的组成和测试过程;了解JUnit的基本功能;了解JUnit的安装与集成方法;掌握JUnit的测试用例编写和使用方式。4.接口测试工具的使用(4学时)了解接口测试工具的分类和选择;掌握SoapUI的使用方式;掌握JMeter的使用方式;掌握Postman的使用方式。5.性能测试工具JMeter的使用(2学时)了解JMeter的基本功能;了解JMeter的主要特性、组件和相关术语;掌握利用JMeter进行性能测试的流程与方法。6.网上书店系统测试实例(4学时)了解网站测试的内容;了解网站测试的过程;结合网上书店系统测试实例了解测试计划的安排、测试用例的设计以及测试结果的记录和分析等内容。习题1一、单选题1.以下哪一项不是软件的特点(B)A.抽象性 B.实体性 C.复杂性 D.高成本2.20世纪60年代,计算机软件的开发、维护和应用过程普遍出现了一些严重的问题,人们将它们统称为(C)A.软件灾难 B.硬件危机 C.软件危机 D.计算机危机3.将软件工程的层次按自底向上的顺序排列,哪一项是正确的(D)①质量焦点 ②工具 ③方法 ④过程A.①②③④ B.①③②④ C.②③④① D.①④③②4.软件工程的四个层次中,(A)是最为基础的。A.质量焦点 B.工具 C.方法 D.过程5.导致软件缺陷的最大原因是(D)A.编码 B.设计 C.硬件 D.产品说明书6.软件测试的原则不包括(A)A.必须完全测试B.测试中有风险存在C.软件测试只能证明缺陷存在,不能证明产品已经没有缺陷D.软件产品中所存在的缺陷数与已发现的缺陷数成正比7.小型软件开发周期大约为(B)A.一个月B.半年C.1-3年D.五年以上8.基于Web的软件以(C)为应用平台A.PC B.嵌入式设备的只读内存 C.整个网络环境 D.移动应用二、填空题1.按照软件测试的阶段可将软件测试分为(单元测试)、(集成测试)、确认测试、(系统测试)和(验收测试)。2.按照是否需要执行被测软件,可将软件测试分为(静态测试)和(动态测试)两类。3.(自动化测试)是指将测试过程转化为由机器执行的过程,包括测试脚本的开发、执行和结果分析。4.软件测试按照是否需要查看软件源代码可分为(白盒测试)、(黑盒测试)和(灰盒测试)。三、判断题1.按照所处的应用层次不同,软件可分为系统软件、支撑软件2类。(X)2.支撑软件居于计算机系统中最靠近硬件的一层。(X)3.软件工程的目标是生产出高质量的软件。(√)4.IEEE对软件缺陷的标准定义为:从产品内部看,缺陷是软件产品开发或维护过程中存在的错误、毛病等各种问题;从产品外部看,缺陷是系统所需要实现的某种功能的失效或违背。(√)5.软件实现了产品规格说明书中未提到的功能不属于软件缺陷。(X)6.白盒测试不考虑程序内部结构和处理过程,只对接口进行测试。(X)四、问答题1.什么是软件,软件具有什么特点?2.软件缺陷和软件测试的概念分别是什么?3.为什么要进行软件测试?4.软件测试需要遵守哪些原则?5.有哪些常见的软件测试分类方式,分别包括哪些内容?第2章软件测试过程模型习题2一、单选题1.在V模型中,软件开发及软件测试活动不包括包括以下哪个活动(D)A.需求分析 B.设计C.编码和测试 D.软件损坏时期2.软件测试模型是指对软件测试活动进行(C)A.具体测试用例设计B.测试工具的使用C.抽象和描述的框架或方法论D.编程语言的选择3.V模型中,软件开发和测试过程之间的对应关系如何?(C)A.一对多B.多对多C.一对一D.多对一4.在V模型中,集成测试的主要重点是:(B)A.验证程序的设计B.测试各个模块单元之间的交互C.验证整个系统的功能、性能和质量D.确保软件满足最终用户的需求5.V模型中的验收测试主要目的是:(B)A.验证程序的设计B.确保各个单元按预期工作C.确保软件满足用户期望D.测试各个单元之间的交互6.V模型不能完成的任务是(B)A、验证程序的执行是否满足软件设计的要求B、对各开发阶段进行早期的测试C、验证系统设计,验证系统功能、性能的质量特性是否达到系统设计的指标D、确定软件的实现是否满足用户需求7.W模型不能完成的任务是(D)A.及时地发现和解决问题B.及时了解项目难度和测试风险C.减少总体测试时间D.上一阶段尚未结束就开始下一阶段的活动8.W模型的特点之一是:(C)A.强调测试活动与开发活动的分离性B.将测试活动推迟至项目末期进行C.将测试融入整个开发过程中D.忽视需求验证和确认

温馨提示

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

评论

0/150

提交评论