当前课程知识点:软件工程 >  第13章 软件系统测试 >  13.3 软件功能测试 >  讲课视频

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

讲课视频在线视频

下一节:讲课视频

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

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

前面讲过

功能测试是软件测试中

工作量最大的一项工作

它是从用户的角度

进行功能验证

以确认每一个功能

是否能够正常使用

界面 数据 操作 逻辑和接口

这些都是功能测试需要考虑的

主要方面

这里我们简单地列出一些常用的

功能测试的检查项目

功能测试

主要采用黑盒测试方法

它是结合测试内容

对功能进行测试

同时在测试的过程中

对用户需求 设计文档

和使用手册进行检查

设计测试用例

要求有代表性和典型性

尽可能地发现更多的系统弱点

除了正确的输入之外

还要考虑错误或异常的输入

要考虑用户实际使用的各种场景

这是前一讲介绍的

测试用例文档的示例

它主要包括

测试环境 测试步骤

输入数据和预期结果等内容

我们在课程的第4章

介绍过等价类分析方法

这是一种典型的黑盒测试方法

它是把程序中

所有可能的输入数据

划分成若干个等价类

然后从每个等价类中

选取具有代表性的数据

作为测试用例

测试用例

应该由有效等价类

和无效等价类的代表组成

边界值分析

是对输入或输出的边界值

进行测试的一种方法

通常是作为等价类划分法的

一个补充

它的测试用例

来自于等价类的边界

场景法

也是一种常用的功能测试方法

主要是根据业务流程

生成一系列业务场景

再对应业务场景

设计出相应的测试用例

从而发现需求和实现过程中

存在的问题

现在我们用一个

ATM取款的例子来说明一下

如何使用场景法设计测试用例

大家应该对ATM取款比较熟悉

正常情况下

用户把银行卡插入ATM机中

如果银行卡是合法的

ATM机就会提示用户

输入银行卡的密码

如果密码正确

而且取款金额符合要求

那么ATM机

就点钞并且送出给用户

这样用户就可以成功取款

设计测试用例的第一步

是根据需求说明

描述出系统的基本流

以及各项备选流

其中基本流

代表正常的业务流程

备选流

代表一些失败或者意外的情况

在ATM取款这个例子中

正常流程就是刚才所说的

成功取款的过程

但是实际操作时

还有可能出现一些意外情况

比如说

ATM机器里面没有现金

或者现金不足

银行卡的密码输入有误

以及银行账户的余额不足等

这些都是属于备选流

第二步

根据基本流和各种备选流

我们可以生成不同的场景

这里列出了ATM取款的

各种场景

包括成功取款 ATM没有现金

或者现金不足

银行卡的密码有误

一种是还没有达到最大的输入次数

一种是达到了最大的输入次数

账户不存在

以及账户余额不足

第三步

对每一个场景

生成相应的测试用例

最后对生成的所有测试用例

进行检查

去除多余的测试用例

在测试用例确定之后

对每一个测试用例

选取合适的测试数据

在这里我们给出了

ATM取款的部分测试用例

大家应该都在网上买过图书

结合刚才介绍的场景法

课后可以试着设计

当当网选购图书功能的测试用例

另外 错误推测法

也是一种常用的方法

我们可以根据经验或者直觉

推测程序中可能存在的

各种错误

从而有针对性地

编写检查这些错误的测试用例

Web应用系统

涉及到比较复杂的硬件

软件 网络和业务逻辑

相应的测试

也需要考虑更多的环节

一个Web应用系统

通常需要服务于广大的用户群体

它本身只需要一个服务器端

但是需要通过各种各样的客户端

来满足不同用户的要求

它的主要功能是使用HTML

JavaScript等语言

来表示文本 图形 音频

视频的内容展现给用户

具有持续演化和及时性的特点

并且要求有良好的感观

和一定的安全保障

Web应用功能测试

主要是用来检测

Web应用软件

是否实现了预期的功能

对于网页来说

主要包括内容测试 链接测试

表单测试和Cookies测试

网站测试

是在网页测试的基础上进行

具体包括特定功能的测试

数据库的测试和设计语言测试等

下面我们来简单介绍

这些测试的基本含义

内容测试主要是检测

Web应用网页提供的信息

具体包括正确性

准确性和相关性三个方面

正确性是指信息要是真实可靠

避免出现虚假内容

准确性

是指网页的文字表述

要符合语法逻辑

没有拼写错误

测试人员需要检查

网页面内容的文字表达

是否恰当

样式看起来是否舒服

相关性

是指能否在当前网页

找到与浏览信息相关的信息列表

或者入口

有时网页上的图片

还对应着文字标签

当用户把鼠标

移动到图片上的时候

会弹出相关的文字说明

这是当当网搜索图书的页面

我们进行内容测试时

要检查两个部分

第一 是对于指定的搜索关键字

比如说软件工程

检查是否列出

含有软件工程名词的图书

第二是对于图书封面

当鼠标停留或滑过封面的图片时

应该显示相应的商品名称

网页上的链接

可以使用户从一个页面

浏览到另一个页面

链接测试

主要是检查三个方面的问题

第一用户点击链接

是否可以顺利打开

所要浏览的内容

第二所要链接的页面是否存在

第三要保证系统中

没有孤立的页面

所谓孤立页面

就是没有任何链接指向的页面

链接测试

可以手动进行

也可以用工具自动检查

这是某大学网络学堂应用的首页

右下角的两个链接页面

就是不存在的

当用户向Web应用系统

提交信息的时候

就需要使用表单操作

表单测试

是模拟表单提交过程

检测其准确性

确保提交信息

在整个过程中是正确的

表单测试主要考虑以下方面

表单的提交应该模拟用户的提交

以便验证是否完成了预期的功能

要测试提交操作的完整性

检查提交给服务器的信息

是否正确

要验证数据的正确性

以及异常处理的能力

在测试表单时

会涉及到数据校验的问题

需要根据给定的规则

对用户的输入进行校验

这是一个表单的例子

用户填写个人信息

提交之后

可以申请国航会员

大家可以考虑一下

如何进行测试

用户在访问网站的时候

Web服务器

会将一小部分信息

存放在客户端的计算机上

Cookie可以把用户

在网站上的输入信息

或者是一些选择都记录下来

当用户再一次访问网站的时候

Web应用程序

就可以直接读取

Cookie包含的信息

那么如何对Cookie进行测试呢

这是新浪微博的登录页面

我们在做cookie测试时

可能需要检查下面的情况

比如说 是否有Cookie记录

登陆成功之后

这个记录是不是有问题

Cookie信息是否进行加密

存放路径是否正确

如果浏览器设置为

不保存Cookie

那么关闭浏览器之后

检查Cookie是否自动删除

要检查Cookie的时效

在有效时间里是否自动登陆

到期之后是否自动从本地删除

登陆状态是否自动退出

用户登陆之后

再手动删除Cookie

或者用户修改密码之后

再次登陆

检查是否退出自动登陆

测试人员需要对Web网站

特定的功能需求进行验证

需要强调的是

应该是从用户实际的需要

而不是从产品本身呈现的

进行评判

数据库

是Web应用中的重要部分

一般的数据库错误

主要是由于用户提交错误的

表单信息

或者程序设计本身的问题引起的

测试人员

在了解数据库结构

和设计内容之后

可以使用破坏性手段

或者在并发环境下

来检查数据的完整性和一致性

设计语言版本的不同

也会引起客户端或服务器端

比较严重的问题

所以应用程序

要在不同的版本上进行验证

最后 兼容性测试也非常关键

我们需要测试

不同的操作系统平台

浏览器 显示分辨率

以及打印机等外部设备

软件工程课程列表:

第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章 期末考试与总结

-第一部分:基础知识

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

--编程与测试(选做)

讲课视频笔记与讨论

也许你还感兴趣的课程:

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