当前课程知识点:软件工程 >  第13章 软件系统测试 >  13.2 软件测试类型 >  讲课视频

返回《软件工程》慕课在线视频课程列表

讲课视频在线视频

下一节:讲课视频

返回《软件工程》慕课在线视频列表

讲课视频课程教案、知识点、字幕

软件测试过程通常包括

计划 准备 执行和报告四个部分

首先 我们要明确

测试的任务和方法

制定合理的测试方案和计划

然后 根据任务需要

组织测试团队

并且设计测试用例

还要开发测试工具

或者测试脚本

准备测试的环境和数据

之后

对所提交的软件系统进行测试

记录测试结果

并且跟踪和管理所发现的缺陷

最后 对测试结果进行分析

评价产品的质量

提交最终的测试报告

软件测试过程中

需要执行不同类型的测试

它们的侧重点各有不同

在执行系统测试之前

开发人员需要通过单元测试

来保证单元模块的质量

然后把各个单元模块

集成在一起

通过集成测试

得到一个集成后的系统

系统测试

需要先执行功能测试

来验证系统功是不是正常

功能测试之后

再进行性能测试

以保证系统能够满足

规定的非功能需求

这时我们得到的

是一个可以发布的系统

由于开发人员对软件的需求

可能和客户的实际需求有所不同

所以我们要通过验收测试

来保证所构建的系统

就是客户想要的

最后 还要在用户的实际环境中

进行安装测试

以保证系统在用户环境下

不出现问题

软件测试可以从不同的角度

划分成不同的类型

从测试对象来说

包括单元测试 集成测试

系统测试 验收测试等

系统测试又分成功能测试

和非功能测试

从测试技术来讲

可以分成黑盒测试

和白盒测试两种类型

从是否运行程序来说

可以分成静态测试和动态测试

从执行测试的方式来说

又分成手工测试和自动化测试

下面我们先简单介绍一下

这些测试的基本内容

单元测试

是对软件系统的基本模块

进行测试

以保证单元模块的功能是正确的

一般来说单元测试

是由编写代码的开发人员

自己来执行

正如俗话所说

一屋不扫 何以扫天下

如果开发人员

对自己的代码都不做检查

那么更谈不上

整个产品的质量保证

集成测试

是在单元测试的基础上

把所有的模块

按照总体设计的要求

组装成为一个子系统或者整个系统

所进行的一种测试

一般来说

不同的模块单元

是由多个开发人员

并行进行开发

虽然每个模块

都通过了单元测试

但是并不能保证

这些模块可以正确地组装在一起

对于小规模的子系统

或者系统来说

可以采用一次性的集成方式

就是把所有单元

一次性地组装在一起

对于大型系统来说

通常会采用渐进式的集成方式

就是先组装一部分单元进行测试

之后再增加更多的单元

最终完成所有单元的集成

集成测试的主要目的

是发现不同单元模块之间

接口设计和实现上的问题

在整个系统集成之后

就可以开始执行系统测试

功能测试和性能测试

是系统测试的主要内容

一般情况下

功能测试是软件测试中

工作量最大的一项测试工作

它是从用户的角度

对功能进行验证

以确保每一个功能

能够正常的使用

功能测试主要结合界面

数据 操作 逻辑和接口等方面

来检查系统的功能是不是正确

比如说 要测试在当当网

搜索并选购图书的功能

我们需要确认

每一项功能是符合用户的实际要求

系统的界面清晰 美观

菜单 按钮的操作正常 灵活

除了接受正确的数据输入

对异常数据的输入

要有提示和容错处理

输出结果准确

功能的逻辑清晰

符合使用者的习惯

系统的各种状态

按照业务流程而变化

并且保持稳定

要能够配合多种外部的硬件设备

和外部其它的应用系统

比如说 支付系统的接口

正确 有效

性能测试

是在实际或者模拟实际的

运行环境下

针对软件的非功能特性

所进行的测试

常见的测试类型

包括容量测试 压力测试

兼容性测试 安全性测试

负载测试等

容量测试

是在大数据量的环境下

对系统进行测试

以便发现其中存在的问题

压力测试是在强负载

比如说 大量并发用户情况下

对系统进行测试

来检查系统在峰值使用情况下的

操作行为

兼容性测试

是测试系统在特定的硬件平台上

不同的应用软件之间

不同操作系统平台

以及不同网络环境下

是不是能够正常的运行

安全性测试

要确保系统满足一些安全性需求

负载测试

是通过在资源超负荷情况下

测试系统的表现

来发现设计上的错误

或者验证系统的负载能力

验收测试

是在软件产品完成系统测试之后

产品发布之前

所进行的测试活动

它的其目的

是验证软件的功能和性能

是否能够满足用户的期望

验收测试一般又包括

α测试和β测试 α测试

是软件公司内部的人员

来模拟各类用户

对α版本的产品进行测试

之后的β测试

是公司组织一些典型的用户

在日常工作中实际使用β版本

然后用户来报告异常的情况

或提出批评的意见

安装测试

是验收测试之后

把系统在目标环境中进行安装

来检查是不是能够成功安装

并正常地启动使用

安装测试要考虑目标环境

配置信息

以及它对其它应用的影响等

一系列的事项

黑盒测试和白盒测试

是两种不同的测试方法

我们在前面课程讲解中

已经介绍过

黑盒测试

主要是针对界面和功能

进行测试

来检查这些功能

是不是可以正常使用

白盒测试

主要是对程序的内部逻辑

或者结构进行仔细地检查

包括逻辑覆盖

基本路径测试等等

从测试是否运行程序来区分

又可以分成静态测试和动态测试

所谓静态测试

就是不实际运行被测软件

而只是对程序代码

界面或者文档进行静态地检查

这种检查可以是非正式的走查

也可以是正式的审查会议

实践证明代码走查

是一项非常有效的

查找代码问题的方法

动态测试指的是

实际运行被测程序

通过输入相应的测试数据

来检查实际输出结果

和预期结果是否相符

软件测试

可以是手工执行

也可以是自动化执行

在手工方式下

测试人员根据测试大纲中

所描述的测试步骤和方法

手工地输入测试数据

并记录测试结果

而自动化测试

是使用软件测试工具

或者测试脚本

按照测试人员预先设计好的思路

自动地执行

一般来说手工测试

比较适合业务逻辑测试

特别是一些比较复杂的业务逻辑

而自动化测试

效率更高而且可重复性强

可以把测试人员

从重复的劳动中解脱出来

还有一些手工

没有办法执行的测试

比如说 要模拟大量用户

需要大量数据的一些性能测试

都是要进行自动化来执行

在测试之前

需要对测试工作进行计划和准备

测试计划是测试工作的

一个指导性文档

它规定测试活动的范围

方法 资源和进度

明确测试内容和任务

以及任务的人员分工等

测试用例

描述了测试环境 输入数据

执行条件或者步骤

以及执行之后的预期结果

缺陷报告

是记录在测试过程中

发生的任何事件

简单地说 就是记录软件的缺陷

测试报告

是对测试的过程和结果

进行汇总描述

它的核心内容包括两部分

一个是测试结果汇总

要对所测试软件的质量

进行评价

另一个是测试过程的总结

回顾整个测试过程存在的不足

然后进行总结和改进

这里列出的是测试计划

应该包括的一些主要内容

这是一个测试用例的示例文档

测试的是

记事本程序的文件/退出菜单

缺陷报告

一定要详细描述

缺陷发生的基本环境

可重现的执行步骤

错误现象和简单的问题分析

对于所报告的缺陷

要说明严重性和修复的优先级

缺陷的严重性

指缺陷对软件产品使用的

影响程度

这里把严重性分成四个等级

并且描述了每一个级别

对应的影响程度

缺陷的优先级

指的是缺陷

应该被修复的紧急程度

这里从高到低

列出了四个优先级

软件工程课程列表:

第1章 初识软件工程

-1.1 软件无处不在

--讲课视频

-1.2 软件的本质特性

--讲授视频

-1.3 软件工程的产生与发展

--讲授视频

-1.4 软件工程的基本概念

--讲授视频

-1.5 软件质量实现

--讲授视频

-1.6 业界人士谈软件工程

--海芯科技创始人施侃乐访谈

-测验题--作业

-讨论题

--讨论题

-作业题

--第一张 作业题

第2章 编写高质量代码

-2.1 编程过程与规范

--讲课视频

-2.2 良好的编程实践

--讲课视频

-2.3 Python集成开发环境

--讲课视频

-2.4 代码静态检查

--讲课视频

-2.5 代码性能分析

--讲课视频

-2.6 结对编程实践

--讲课视频

-2.7 刘贺谈软件工程

--讲课视频

--讨论

-测验题--作业

-作业题

--第二章 作业题

第3章 单元测试

-3.1 单元测试概述

--讲课视频

-3.2 黑盒测试方法

--黑盒测试方法

-3.3 白盒测试方法

--基本概念

--代码覆盖标准

--基本路径测试

-3.4 单元测试工具

--单元测试工具

--html

-测验题--作业

-作业题

--第三章 作业题

--作业题附件

第4章 软件开发过程

-4.1 软件过程

--讲课视频

-4.2 软件过程模型

--讲课视频

-4.3 敏捷开发过程

--讲课视频

-4.4 微软公司开发过程

--邹欣经理自我介绍

--微软开发过程之一

--微软开发过程之二

-测验题--作业

第5章 团队开发管理

-5.1 团队组织与管理

--讲课视频

-5.2 项目沟通管理

--讲课视频

-5.3 软件项目计划

--讲课视频

-5.4 软件项目估算

--讲课视频

-测验题--作业

-讨论题

--讨论

第6章 敏捷开发与配置管理

-6.1 敏捷开发之Scrum

-- 敏捷开发之Scrum

--html

-6.2 用户故事与估算

--讲课视频

-6.3 团队协作工具Tower

--Tower工具介绍(1)

--Tower工具介绍(2)

-6.4 配置管理

--讲课视频

-6.5 配置管理工具Git

--讲课视频

-测验题--作业

-作业题--作业

第7章 需求获取

-7.1 需求工程师

--讲课视频

-7.2 需求定义

--讲课视频

-7.3 需求的类型

--讲课视频

--讲课视频(2)

-7.4 需求工程过程

--讲课视频

-7.5 需求的主要来源

--讲课视频

-7.6 需求获取技术

--讲课视频

--讲课视频二

--讲课视频三

-7.7 撰写需求文档

--讲课视频

-测验题--作业

-讨论题

--讨论

第8章 用例建模

-8.1 用例建模概念

--讲课视频

-8.2 用例建模过程

--讲课视频

-8.3 用例建模精讲

--讲课视频

-8.4 建模工具介绍

--讲课视频

-8.5 微信抢票应用案例

--讲课视频

-测验题--作业

-讨论题

--讨论

第9章 面向对象分析与设计

-9.1 面向对象分析

--讲课视频

-9.2 CRC卡片分拣法

--讲课视频-1

--讲课视频-2

-9.3 面向对象设计

--讲课视频-1

--讲课视频-2

-9.4 类图建模

--讲课视频-1

--讲课视频-2

-第9章 面向对象分析与设计--测验题

-讨论题

--讨论

第10章 行为建模

-10.1 顺序图概念

--讲课视频

-10.2 顺序图建模

--讲课视频

-10.3 顺序图风格

--讲义视频

-10.4 状态建模

--讲课视频

-10.5 状态图

--讲课视频

-10.6 状态图精讲

--讲义视频

-测验题--作业

-讨论题

--讨论

第11章 软件系统设计

-11.1 软件体系结构概念

--讲授视频

-11.2 软件设计原则

--讲授视频

-11.3 软件体系结构风格(一)

--讲授视频

-11.4 软件体系结构风格(二)

--讲授视频

-11.5 软件体系结构风格(三)

--讲授视频

-11.6 软件设计过程

--讲授视频

-11.7 Web系统架构设计

--讲授视频

-11.8 数据库选择策略

--讲授视频

-测验题--作业

-作业题

--html

--html

--html

-作业题--作业

第12章 软件交互设计

-12.1 交互设计概述

--讲授视频

-12.2 交互设计目标

--讲授视频

-12.3 GUI设计原则

--讲课视频

-12.4 KLM效率模型

--Video

-12.5 Fitts定律

--讲授视频

-12.6 交互设计过程

--讲授视频

-测验题--作业

第13章 软件系统测试

-13.1 软件测试概念

--讲课视频

-13.2 软件测试类型

--讲课视频

-13.3 软件功能测试

--讲课视频

-13.4 软件性能测试

--讲课视频

-测验题--作业

第14章 软件交付与维护

-14.1 软件部署与交付

--讲课视频

-14.2 软件演化与维护

--讲课视频

-测验题--作业

第15章 期末考试与总结

-第一部分:基础知识

-第二部分:编程与测试(选做)

--编程与测试(选做)

讲课视频笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。