自考01335软件产品测试考试大纲(2024年版)

📍 湖南 📚 课程代码:01335 📅 版本:2024年版

湖南 省高 等教 育自 学考 试课 程考 试大 纲软件产品测试 (课程代码:01335) 湖南省教育考试院组编 2024 年 7 月高等教育自学考试课程考试大纲课程名称:软件产品测试课程代码:01335

第一部分

课程性质与目标

一、课程性质与特点

本课程是高等教育自学考试软件工程(本科)专业的专业核心课程。该课程涵盖的内容具有很强的理论性和实践性,包括单元测试、集成测试、系统测试、 验收测试等不同阶段和层次的测试。软件测试与软件开发密切相关,是软件开发生命周期的重要组成部分,核心目标是提高软件质量。通过本课程内容的学习, 奠定软件产品质量、软件测试原理和方法、软件测试工具等方面的工程素养。

二、课程目标与基本

要求通过本课程的学习,熟悉软件测试在软件产品开发过程中的关键作用,以及软件测试对于提高软件质量和可靠性的重要性,掌握软件测试概念、原理、技术和方法,能够将软件测试技术应用于软件产品的开发过程中,为软件工程素养的培养奠定基础。通过本课程的学习,应具备以下知识和能力:

1. 掌握软件测试的基本理论、软件测试过程和测试原则;掌握经典的白盒测试和黑盒测试方法;掌握软件开发过程中的各种软件测试方法,包括单元测试、集成测试、系统测试、验收测试等,以及相应的测试工具和框架使用;掌握面向对象和 Web 应用的测试技术;能够规范地编写软件测试文档资料;掌握常规的自动化测试工具的框架和使用技巧。

2. 提高软件测试计划能力;提高软件开发过程中的软件测试能力;应用经典的软件测试方法设计测试用例的能力;提高软件产品开发过程中的缺陷分析和解决能力;提高使用软件测试功能的能力。

3. 重视软件产品质量,培养精益求精的工匠精神;建立软件产品质量导向的思维和工作方式;提升问题解决能力、团队合作能力和沟通能力;提升适应快速变化的科技环境的能力,提升自主学习和持续学习的能力,提升职业竞争能力。

三、与本专业其他课程的关系

本课程与本专业的其它软件类课程有着密切的关系,先修课程为《面向对象程序设计》、《数据结构》、《软件工程》等,在已基本掌握高级程序设计语言和软件工程知识的基础上学习本课程。

第二部分

考核内容与考核目标

通过本章的学习,掌握软件测试的必要性,了解软件测试的发展历程和行业现状,了解软件测试与软件质量、与软件产品开发之间的关系,理解测试驱动开发的思想。

(一)软件测试的必要性和软件测试的定义(重点)识记:软件测试的定义理解:软件测试的必要性和重要性(二)软件测试与质量保证、与软件产品开发的关系(次重点)

理解:1.质量保证

2.软件测试与质量保证的关系

3.软件测试与软件产品开发的关系(三)测试驱动开发的思想。(一般)

理解:1.测试驱动开发 TDD 方法

2.在软件开发中测试先行的理念

3.敏捷方法

应用:1.测试驱动开发的思想进行软件产品开发

2.测试驱动开发的思想进行代码编写通过本章的学习,掌握软件质量的内涵,理解软件测试相关的基本概念,了解软件测试的分类、软件测试的不同阶段,了解软件测试工作的具体内容和范畴。

(一)软件缺陷的定义,软件缺陷的判断准则(重点)识记:1.软件缺陷的定义

2.白盒测试的定义

3.黑盒测试的定义

理解:1.软件缺陷的测试判断准则

2.软件缺陷产生的原因

3.软件缺陷修复的代价(二)软件测试的分类(次重点)

理解:1.测试的分类维度和测试类型

2.静态测试和动态测试

3.主动测试和被动测试

4.黑盒测试和白盒测试(三)软件测试层次和工作范畴(一般)

理解:1.与软件开发周期同步的软件测试类型

2.软件测试工作范畴相关的内容通过本章的学习,掌握常规的软件测试方法,包括经典的白盒测试方法和黑盒测试方法,了解基于缺陷模式的测试,了解基于模型的测试。

(一)典型的白盒测试方法和黑盒测试方法(重点)识记:1.等价类划分法

2.边界值分析法

3.判定表法

4.因果图法

5.判定覆盖法

6.条件覆盖法

7.判定-条件覆盖法

8.条件组合覆盖法

9.基本路径覆盖法

理解:1.错误推测法

2.Pairwise 测试法应用:1.黑盒测试方法

2.白盒测试方法

(二)基于直觉和经验的方法(次重点)

理解:1.自由测试法(Ad-hoc 测试法)

2.客户测试法(ALAC 测试法)

(三)常见的缺陷模式和基于模型的测试(一般)

理解:1.常见的缺陷模式

2.功能图法

3.模糊测试法

应用:功能图法设计测试用例通过本章的学习,掌握贯穿软件生命周期的软件测试过程,了解敏捷测试过程,了解软件测试相关的规范。

(一)软件测试过程(重点)识记:软件测试过程的 W 模型理解:测试管理方法 TMap(二)敏捷测试过程(次重点)

理解:1.敏捷测试的价值观和原则

2.敏捷测试与传统测试的区别

3.敏捷测试流程

(三)软件测试过程改进和软件测试规范(一般)

理解:1.软件能力成熟度模型 CMM

2.个体软件过程 PSP

3.团队软件过程 TSP

4.测试成熟度模型 TMM

5.测试过程改进 TPI

6.关键测试过程 CTP

7.软件测试规范相关内容通过本章的学习,掌握单元测试的内容和方法,掌握常用的单元测试工具使用技巧,掌握集成测试的模式和方法,能根据实际需求选择合适的集成测试模式和方法。

(一)单元测试的常用方法和工具,集成测试的模式(重点)

理解:1.代码静态测试

2.代码评审错误类型

3.单体结构的集成测试应用:JUnit 单元测试工具(二)代码静态测试工具,单元测试的目标和任务(次重点)

理解:1.单元测试的必要性

2.单元测试的目标和要求

3.单元测试的任务

4.驱动程序和桩程序

5.类测试

应用:1.FindBugs 检查代码缺陷

2.PMD 检查代码缺陷(三)分层单元测试和集成测试模式(一般)

理解:1.Actions 层的单元测试

2.数据访问层的单元测试

3.Servlet 的单元测试

4.微服务架构的集成测试

5.持续集成及其测试通过本章的学习,掌握系统测试中功能测试的思路和方法,了解功能自动化测试途径和方法,了解回归测试的相关内容。

(一)系统功能测试的常用方法(重点)

理解:1 功能测试的含义

2.面向接口的功能测试的含义

3.面向 UI 的功能测试的含义(二)功能测试的自动化及相关工具(次重点)

理解:1.基于接口的自动化测试的含义

2.Web 客户端的 UI 自动化测试基本框架

3.Android 应用的 UI 自动化测试基本框架

4.iOS 应用的 UI 自动化测试基本框架应用:1.常用的开源测试工具 Postman 进行自动化测试

2.Selenium WebDriver 进行 Web 应用测试(三)回归测试(一般)

理解:1.回归测试的含义和目的

2.回归测试的策略和常用的回归测试方法通过本章的学习,了解系统测试中非功能测试相关内容,掌握性能测试、安全测试、兼容测试、可靠性测试和易用测试的内涵。

(一)性能测试的内容和主要方法(重点)识记:1.主要的系统性能指标和定义

2.系统负载的含义

理解:1.性能测试的主要类型

2.系统负载的含义和计算方法

3.性能测试的基本过程和具体执行步骤

4.如何进行性能测试结果分析及其重要参数

5.Web 性能测试的主要内容

6.压力测试和容量测试的含义(二)其他非功能测试的主要类型(次重点)

理解:1.安全性测试的含义

2.兼容性测试的含义

3.可靠性测试的含义

4.易用性测试的含义(三)常用的性能测试工具(一般)

应用:1.LoadRunner 对软件进行性能测试和测试结果分析

2. ApacheBench 对 HTTP Server 进行性能测试和结果分析通过本章的学习,掌握软件本地化测试的内涵,理解本地化测试涉及的技术问题,了解软件本地化的功能测试。

(一)软件本地化测试的技术问题(重点)

理解:1.数据格式问题

2.页面显示和布局问题

3.配置和兼容性问题

4.技术问题对于本地化测试的影响。

(二)软件本地化的意义和内涵(次重点)

理解:1.软件本地化的定义

2.软件本地化与国际化的关系

3.软件本地化的内容和基本步骤(三)软件本地化的功能测试内涵(一般)

理解:软件本地化功能测试的注意事项通过本章的学习,掌握软件自动化测试的内涵和实现原理,理解测试自动化测试框架,了解 Web 应用和移动应用的自动化测试框架。

(一)软件测试自动化的内涵和实现原理(重点)识记:测试自动化的定义和必要性理解:1.自动化的代码分析和常用代码分析工具

2.脚本技术的含义和主要类型

3.页面对象识别的含义和常用方式

4.API 测试内容和测试步骤

5.自动比较、验证、断言的含义(二)API 和移动应用的自动化测试框架和主流测试工具(次重点)

理解:1.API 自动化测试框架的含义和常用 API 测试工具

2.移动应用的自动化测试的构成和实现方式应用:1.开源测试工具 Karate 实现 API 测试

2.自动化测试工具 Appium 对手机 APP 或 Web 应用程序进行测试(三)软件测试自动化的基本结构和实施方法(一般)

理解:1.测试自动化的基本结构

2.测试工具的分类和选择

3.测试框架的构成和类型

4.自动化测试的金字塔模型通过本章的学习,掌握软件测试需求分析的基本工作,明确测试的范围和测试项,理解测试计划的制定内容。

(一)软件测试需求分析的内涵和基本的需求分析方法(重点)识记:软件测试需求分析的内涵理解:1.确定测试目标的内涵

2.软件测试项目的进入准则

3.软件测试需求分析的基本出发点和方法

4.功能测试范围和非功能性测试范围的分析(二)测试风险的管理和测试策略的确定(次重点)

理解:1.软件测试项目中的风险的含义

2.风险管理的内容和风险控制策略

3.基于风险的测试的含义

4.测试策略的内涵和确定过程通过本章的学习,掌握软件测试用例的设计思想,测试用例的组成元素,测试用例编写时需要遵循的基本原则,了解测试用例的跟踪和维护过程。

(一)软件测试用例的定义和必要性,测试用例的设计要素(重点)识记:测试用例的定义和必要性理解:1.测试用例包含的主要元素

2.测试用例设计时需要考虑的基本因素

3.什么是测试用例设计的基本原则(二)软件测试用例覆盖率的基本定义和计算方法(重点)识记:1.测试用例覆盖率的定义和意义

2.测试用例覆盖率的计算公式(三)测试用例的组织、跟踪和维护(次重点)

理解:1.不同测试阶段测试用例表现的属性

2.测试套件的含义

3.组织测试用例的基本策略

4.测试用例跟踪的内容,以及测试用例跟踪的方法

5.测试用例维护的内容,以及测试用例维护的基本流程通过本章的学习,掌握软件测试环境部署包含的内容。

(一)软件测试基础设施的重要性和部署内容(次重点)

理解:1.软件测试基础设施的内容

2.软件测试运行环境包含的内容

3.云计算下软件测试基础设施的要素(二)软件测试基础设施的自动部署(一般)

理解:“基础设施即代码”的内涵和对应的典型自动化部署工具通过本章的学习,掌握不同测试阶段软件测试执行的内容,经典的软件测试项目进度跟踪的管理方法,理解软件缺陷的含义,掌握正确地描述软件缺陷的方法,测试结果评估的内容,以及测试报告的组织结构。

(一)软件测试执行的内容和项目进度管理方法(次重点)

理解:1.不同测试阶段测试执行的要点内容

2.测试项目进度跟踪的两种管理方法:测试进度 S 曲线法和缺陷跟踪曲线法(二)软件缺陷的定义、生命周期和软件缺陷的描述(重点)识记:软件缺陷的定义理解:1.正确地描述软件缺陷的益处

2.基本的软件缺陷生命周期为:发现打开修改关闭

3.常用的软件缺陷严重性级别为:致命的、严重的、一般的和微小的

4.好的软件缺陷描述的基本要求(三)软件测试的评估包含的内容与报告(重点)

理解:1.不同的测试阶段对应的软件测试评估方法和内容

2.测试覆盖率是测试结果分析的重要指标

3.测试报告包含的基本内容通过本章的学习,了解人工智能时代不同应用系统的测试工作需要的测试方法、测试技术和测试工具,人工智能技术为软件测试做出的贡献,以及未来软件测试工具的发展。

(一)新型应用系统的测试技术所包含的内容(一般)

理解:1.大数据的测试特性和测试方法

2.AI 系统测试的特点和 AI 算法需要验证的重要指标

3.AI 为软件测试带来的益处

4.智能时代软件测试工具未来的发展趋势

第三部分

有关说明与实施要求

一、考核的能力层次表述

本大纲在考核目标中,按照“识记”、“理解”、“应用”三个能力层次规定其应达到的能力层次要求。各能力层次为递进等级关系,后者必须建立在前者的基础上,其含义是:识记:能知道有关的名词、概念、知识的含义,并能正确认识和表述,是低层次的要求。

理解:在识记的基础上,能全面把握基本概念、基本原理、基本方法,能掌握有关概念、原理、方法的区别与联系,是较高层次的要求。

应用:在理解的基础上,能运用基本概念、基本原理、基本方法联系学过的多个知识点分析和解决有关的理论问题和实际问题,是最高层次的要求。

二、教材

1.指定教材

软件测试方法和技术(第 4 版),朱少民(主编),清华大学出版社,2019 年第 4 版。

2.参考教材

软件测试的艺术(原书第 3 版),梅耶(主编),机械工业出版社,2012 年第 3 版。

软件测试技术(第 2 版),曲朝阳(主编),清华大学出版社,2015 年第 2 版。

三、

自学方法指导

1.在开始阅读指定教材某一章之前,先翻阅大纲中有关这一章的考核知识点及对知识点的能力层次要求和考核目标,以便在阅读教材时做到心中有数,有的放矢。

2.阅读教材时,要逐段细读,逐句推敲,集中精力,吃透每一个知识点,对基本概念必须深刻理解,对基本理论必须彻底弄清,对基本方法必须牢固掌握。

3.在自学过程中,既要思考问题,也要做好阅读笔记,把教材中的基本概念、原理、方法等加以整理,这可从中加深对问题的认知、理解和记忆,以利于突出重点,并涵盖整个内容,可以不断提高自学能力。

4.完成书后作业和适当的辅导练习是理解、消化和巩固所学知识,培养分析问题、解决问题及提高能力的重要环节,在做练习之前,应认真阅读教材,按考核目标所要求的不同层次,掌握教材内容,在练习过程中对所学知识进行合理的回顾与发挥,注重理论联系实际和具体问题具体分析,解题时应注意培养逻辑性, 针对问题围绕相关知识点进行层次(步骤)分明的论述或推导,明确各层次(步骤)间的逻辑关系。

四、对社会助学的要求

1.应熟知考试大纲对课程提出的总要求和各章的知识点。

2.应掌握各知识点要求达到的能力层次,并深刻理解对各知识点的考核目标。

3.辅导时,应以考试大纲为依据,指定的教材为基础,不要随意增删内容,以免与大纲脱节。

4.辅导时,应对学习方法进行指导,宜提倡“认真阅读教材,刻苦钻研教材,主动争取帮助,依靠自己学通”的方法。

5.辅导时,要注意突出重点,对考生提出的问题,不要有问即答,要积极启发引导。

6.注意对考生能力的培养,特别是自学能力的培养,要引导考生逐步学会独立学习,在自学过程中善于提出问题,分析问题,做出判断,解决问题。

7.要使考生了解试题的难易与能力层次高低两者不完全是一回事,在各个能力层次中会存在着不同难度的试题。

8.助学学时:本课程共 6 学分,建议总课时 108 学时,其中助学课时分配如下:

章次 章节名称学 时合计

五、关于命题考试的若干规定

1.本大纲各章所提到的内容和考核目标都是考试内容。试题覆盖到章,适当突出重点。

2.试卷中对不同能力层次的试题比例大致是:“识记”为 40 %、“理解”为40%、“应用”为 20 %。

3.试题难易程度应合理:容易、中等、难比例为 3:4:3。

4.每份试卷中,各类考核点所占比例约为:重点占 60%,次重点占 30%,一般占 10%。

5.试题类型一般分为:单项选择题、多项选择题、简答题、综合应用题。

6.考试采用闭卷笔试,考试时间 150 分钟,采用百分制评分,60 分合格。

六、题型示例(样题)

一、单项选择题

(本大题共■小题,每小题■分,共■分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题卡”上的相应字母涂黑。错涂、多涂或未涂均无分。

1.根据程序输出对输入的依赖关系而设计测试用例的方法是A. 路径测试 B.等价类 C.因果图 D.归纳测试

二、多项选择题

(本大题共■小题,每小题■分,共■分)在每小题列出的五个备选项中至少有两个是符合题目要求的,请将其选出并将“答题卡” 上的相应字母涂黑。错涂、多涂、少涂或未涂均无分。

1.软件测试类型按照软件开发阶段划分包括A.需求测试 B.单元测试 C.集成测试 D.系统测试 E.验收测试

三、简答题

(本大题共■小题,每小题■分,共■分)

1.为什么要进行软件测试?

四、综合

应用题(本大题共■小题,每小题■分,共■分)

1.请应用判定覆盖法为下面的程序设计测试用例。

double Cmpe() { int a, b;double c;if(a>0 && b>0) then c=c/a;if(a>1 || c>1) then c=c+1;return c=b+c;

相关内容

6,784
历年真题
8,274
在线课程
276
累计练习
9
学习用户