当前课程知识点:软件工程与软件自动化 >  第七章 软件质量保证 >  专家访谈 >  专家访谈

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

专家访谈在线视频

专家访谈

下一节:外部链接

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

专家访谈课程教案、知识点、字幕

大家好

今天我跟大家一起探讨一下

软件质量跟软件测试之间的关系

首先自我介绍一下,我的名字叫刘奇

之前在IBM有八年的工作经验

是一名软件架构师,目前是在北京大学工作

首先我给大家讲一个故事

日本一个普通的程序员

他某一天收到了一封起诉书

收到起诉书的原因是他在很多年前参与了一个项目的开发

这个项目类似于同花顺软件这样一个项目

使用这个软件的是一名证券公司的普通的交易员

他在某一天收到了一份客户的委托

以61万日元的价格卖出1股票

这是一个很基础的操作

但是这名交易员偏偏在软件中输入了以1日元的价格卖掉61万股

但是这名交易员偏偏在软件中输入了以1日元的价格卖掉61万股

事情发展到现在其实跟软件并没有任何的关系

但是偏偏是在2分钟之后

这名交易员及时的发现了这个错误

他在系统中连续发出了3次撤销的命令

但是都被系统拒绝了

因此呢,被拒绝这个操作其实就是软件的一个Bug

当时我们可以想象一下

这些股票立刻遭到了大家的哄抢

但是回到软件本身,假如你是一名软件设计师

假如你是一名产品经理或是技术组长

那你会怎么去保证软件的质量?

大家首先会想到说

我们要通过软件测试的去保证软件的质量

这本身是没有错误的

但是在实际的实施当中

各大公司对软件测试的实施或者说如何去保证软件的质量

往往并不是很完美

我们都知道在各大公司都有一系列的流程

去保证软件的质量

我们也知道,软件测试分为很多种

首先我们都要求开发人员

根据任务、根据需求去定义自己的单元测试

在将软件交给测试人员之前

我们需要开发人员通过这些单元测试

交付测试人员之后,测试人员进行测试

又会分为很多种

比如说,功能性测试、性能测试、多语言测试等等

功能性测试又包括一般性功能测试

包括易用性测试,包括快捷键测试等等这些测试

我们也讲到说,其实我们仅仅通过这些

我们按照这些流程实际上很难发现

我们刚开始之前讲到这个故事的一个Bug

原因是这个Bug是一个非常不起眼的Bug

在之前呢,它也受到了很多轮的测试

包括证券公司它自己的测试

那在实际我们各大公司的实施过程当中

其实有种种原因导致测试并不尽如人意

第一部分是说,开发人员对测试的不重视

开发人员往往认为测试是测试人员的事情

他不管是单元测试还是自己的手头测试等等

他其实并不上心

但是往往由于开发人员对自己的代码的熟悉

对这些需求的了解

他对某些问题的发现具有天然的优势

这些问题往往是测试人员不能发现

或者说是很难发现的

第二方面是说,测试人员对业务的不了解

现在我们都知道,软件的复杂程度

远远超出我们的想象

因此测试人员往往对业务不够了解

他得到的信息往往来自于开发人员

如果开发人员对软件的需求有一定的理解偏差的话

那测试人员往往可能会被误导

第三方面是说,测试人员本身他的技能

他并不具备一定的编程技能

他并不具备一定的编程技能

因此他很难完全理解开发人员的代码

他平时所做的测试多数是一些黑盒测试

我们都知道,软件的功能千差万别,非常复杂

因此如果仅靠一些功能性测试

它会漏掉一些重要的问题

也正因为以上原因

国内外的一些公司招聘测试人员的时候

它往往去招聘一些具有丰富经验的

开发人员去做软件的测试

原因也是我们刚才提到的

他们希望这些开发人员

能够去理解,做测试的时候去理解别人的代码

以上是我个人的一些看法,仅供大家参考

谢谢

软件工程与软件自动化课程列表:

第一章 软件工程基础

-1.1 软件工程的前生今世

--开篇阅读

--授课视频

-第一章 软件工程基础--1.1 软件工程的前生今世

-1.2 万变不离其宗

--授课视频1/3

--授课视频2/3

--授课视频3/3

-第一章 软件工程基础--1.2 万变不离其宗

-1.3 唯一不变的是变化

--授课视频1/3

--授课视频2/3

--授课视频3/3

--外部链接

-第一章 软件工程基础--1.3 唯一不变的是变化

-1.4 亡羊补牢为时不晚

--授课视频1/2

--授课视频2/2

-第一章 软件工程基础--1.4 亡羊补牢为时不晚

-扩展阅读与话题讨论

--扩展阅读

--话题讨论

第二章 敏捷开发

-2.1 方法论来源于恐惧

--授课视频

-第二章 敏捷开发--2.1 方法论来源于恐惧

-2.2 敏捷是什么

--授课视频

-第二章 敏捷开发--2.2 敏捷是什么

-2.3 典型敏捷开发方法

--SCRUM敏捷开发方法

--XP敏捷开发方法

-第二章 敏捷开发--2.3 典型敏捷开发方法

-2.4 敏捷不是万能药

--授课视频

-第二章 敏捷开发--2.4 敏捷不是万能药

-专家谈敏捷

--专家谈敏捷开发方法

-扩展阅读与话题讨论

--外部链接

--话题讨论

第三章 OO与UML

-3.1 面向对象核心概念和基本特性

--核心概念与基本特性

-第三章 OO与UML--3.1 面向对象核心概念和基本特性

-3.2 面向对象设计基本原则

--面向对象设计基本原则

-第三章 OO与UML--3.2 面向对象设计基本原则

-3.3 通用职责分配模式(GRASP)

--通用职责分配模式

-3.3 通用职责分配模式(GRASP)--作业

-3.4 从重构到模式

--模式和设计模式

-第三章 OO与UML--3.4 从重构到模式

-3.5 使用UML设计面向对象系统

--UML综述

-第三章 OO与UML--3.5 使用UML设计面向对象系统

-3.6 主要UML模型图绘制技巧

--UML用例图

--UML类图

--UML序列图绘制技巧

-第三章 OO与UML--3.6 主要UML模型图绘制技巧

-扩展阅读与话题讨论

--设计模式有毒么?

--话题讨论

第四章 对象模型分析

-4.1 案例简介

--书籍参考

--案例说明

-4.2 对象模型之一

--授课视频1/2

--授课视频2/2

-第四章 对象模型分析--4.2 对象模型之一

-4.3 对象模型之二

--授课视频1/2

--授课视频2/2

-第四章 对象模型分析--4.3 对象模型之二

-4.4 对象模型之交互

--授课视频

-第四章 对象模型分析--4.4 对象模型之交互

-扩展阅读与话题讨论

--图书推荐

--话题讨论

第五章 软件自动化技术

-5.1 软件自动化概述

--软件自动化概述

-第五章 软件自动化技术--5.1 软件自动化概述

-5.2 典型自动化方法和工具

--典型自动化工具视频

-第五章 软件自动化技术--5.2 典型自动化方法和工具

-5.3 文档自动化

--文档自动化视频

-第五章 软件自动化技术--5.3 文档自动化

-5.4 测试自动化

--测试自动化视频

--白盒测试工具VU的示例演示片段(版权属原作者)

--功能和性能自动化测试工具及简单应用演示

-第五章 软件自动化技术--5.4 测试自动化

-专家访谈

--北京理工大学刘辉教授谈软件自动化新进展

-扩展阅读与话题讨论

--各个开发阶段最流行的Java工具汇总

--话题讨论

第六章 CI/CD与DevOps

-6.1 持续集成

--持续集成视频1/2

--持续集成视频2/2

-第六章 CI/CD与DevOps--6.1 持续集成

-6.2 持续交付和部署

--持续交付和持续部署

-第六章 CI/CD与DevOps--6.2 持续交付和部署

-6.3 DevOps

--DevOps授课视频

-第六章 CI/CD与DevOps--6.3 DevOps

-专家访谈

--卓睿科技总架构师带来的精彩访谈

-扩展阅读与话题讨论

--DevOps专题

--话题讨论

第七章 软件质量保证

-7.1 质量和质量保证

--授课视频

-第七章 软件质量保证--7.1 质量和质量保证

-7.2 软件质量模型

--授课视频

-第七章 软件质量保证--7.2 软件质量模型

-7.3 SQA组织与职责

--授课视频

-第七章 软件质量保证--7.3 SQA组织与职责

-7.4 全面软件质量管理

--授课视频

-第七章 软件质量保证--7.4 全面软件质量管理

-专家访谈

--专家访谈

-扩展阅读与话题讨论

--外部链接

--话题讨论

第八章 软件过程改进

-8.1 软件过程综述

--授课视频

-第八章 软件过程改进--8.1 软件过程综述

-8.2 软件过程改进

--授课视频

-第八章 软件过程改进--8.2 软件过程改进

-8.3 能力成熟度模型

--授课视频

-第八章 软件过程改进--8.3 能力成熟度模型

-8.4 过程改进标准框架

--授课视频

-第八章 软件过程改进--8.4 过程改进标准框架

-扩展阅读与话题讨论

--敏捷和CMM矛盾么?

--话题讨论

第九章 软件复用

-9.1软件复用综述

--授课视频

-第九章 软件复用--9.1软件复用综述

-9.2 软件构件技术

--授课视频

-第九章 软件复用--9.2 软件构件技术

-9.3 软件复用实施

--授课视频

-第九章 软件复用--9.3 软件复用实施

-9.4 微服务架构

--授课视频

-第九章 软件复用--9.4 微服务架构

-扩展阅读与话题讨论

--微服务扩展

--话题讨论

文档提交处

-文档提交处--文档提交

专家访谈笔记与讨论

也许你还感兴趣的课程:

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