第10讲 软件测试基本理论

本章内容

-软件开发阶段划分

-软件测试阶段划分

-软件测试模型

-软件测试的分类

一、软件开发阶段划分

1、需求分析——需求规格说明书

2、概要阶段——概要设计说明说

3、详细阶段——详细设计说明书

4、编码

二、软件测试阶段划分

1、单元测试——模块测试,最小的测试单位

(1)依据:详细设计文档

(2)以功能测试为主,重点核心模块儿可以进行白盒测试(检查代码)

(3)可能需要编写驱动模块儿或者桩模块儿

? 驱动模块:模拟北侧模块儿上一级模块(调用被测的那个模块)

? 桩模块:模拟被测模块的下一级模块(被被测模块调用的模块)

(4)在实际工程中,为了节约项目成本,单元测试经常只由开发人员完成,有悖于测试思想(测试必须由第三方来完成)

2、集成测试

冒烟测试

(1)拿到一个新的集成版本的时候,一般先做冒烟测试——利用较少的时间(0.5天——2天)、较少的人(1-3名,经验更丰富)对软件的主要功能进行测试,主要判断是否值得一测。

(2)一个新版本测试思路:

? A、冒烟测试

? B、返测:对发现的缺陷是否进行修复的测试

? C、回归测试:对前面版本的所有的用例再执行一遍(保证旧的功能正确)

? D、对新添加的功能进行测试

3、系统测试

(1)对整个系统软件进行全面完整的测试过程

(2)在系统测试之前一般有“确认测试”:

? A、确认该程序值不值得一测(冒烟测试)

? B、确认相关的文档是否齐全(尤其是交给用户的文档)

4、验收测试——阿尔法测试、贝塔测试

(用接受度测试、用户体验‘UTA,user acceptance test)

(1)alpha测试:由最终的用户在开发的环境中,对软件进行测试(在实际中也经常由开发方自主完成)

(2)beta测试:由最终的用户在实际的环境中进行测试使用

对于一些没有固定用户群体的公共类软件(办公软件),一般会发行公测版(beta版本)

三、软件测试模型

1、概念:测试模型体现的是开发和测试的对应关系

2、V模型

(1)优点:测试阶段明确,既包括单元级也包括用户级,与开发关系明确

(2)缺点:容易理解成测试只是开发后的一个工作,不符合越早测试和不断测试的原则

(3)在编码之前,我们需要对相关开发文档、需求文档进行测试——越早测试

根据相关文档,在测试执行之前编写各个阶段的测试计划、测试用例等文档——测试过程是有计划性的

注意:

如果做单元测试,需要有详细设计文档

如果做集成测试,需要有概要设计文档

如果做系统功能测试,需要有需求文档

3、W模型

四、软件测试的分类

按照测试技术划分

1、白盒测试——逻辑结构测试,对代码进行测试

? 白盒测试重点看代码的逻辑、算法、结构是否正确,要求必须懂得代码,需要编写测试用例

? 在单元测试时,白盒应用相对较多

? 在集成测试时,灰盒应用相对较多

? 在系统测试时,黑盒测试

2、黑盒测试——功能测试(必须)

3、灰盒测试

按照是否运行代码进行划分

1、静态测试:界面、文档、代码

? 静态中的代码测试重点关注代码的规范性,一般检查变量的命名,注释的频率,编程的规范性,不需要写测试用例,一般只需要有代码审查单。

? 一般经常把白盒测试和静态测试的要素结合在一起,形成“静态白盒测试”。

2、动态测试

按照软件特性分类

1、功能测试

2、性能测试——分布式软件(B/S C/S) 必须使用工具LoadRunner

3、回归测试

4、冒烟测试

5、随机测试

原文地址:https://www.cnblogs.com/gerenboke/p/12677021.html

时间: 2024-10-24 10:43:11

第10讲 软件测试基本理论的相关文章

软件测试基本理论-IBM模式

软件测试基本理论(1) IBM生产模式 1   参考书目 <IBM-从菜鸟到测试架构师-一个测试工程师的成长日记> 出版社:电子工业出版社 印次:2013年6月 作者:IBM主要工程师 2   重要提醒 Warning IBM的业务性质是做大型企业的IT解决方案,仍然属于比较中规中矩的传统企业.所以对传统的软件企业有比较大的借鉴意义,但是对于互联网等新兴企业的从业人员,还是采取保留式的态度,取其精华即可. 3   测试产生的时代背景 1968年NATO会议提出了“软件危机”: 脆弱 不可靠 缺

[ionic开源项目教程] - 第10讲 新闻详情页的用户体验优化

目录 [ionic开源项目教程] 第1讲 前言,技术储备,环境搭建,常用命令 [ionic开源项目教程] 第2讲 新建项目,架构页面,配置app.js和controllers.js [ionic开源项目教程] 第3讲 使用Tabs和SlideBox实现左右滑动菜单 [ionic开源项目教程] 第4讲 通过Service层获取新闻列表 [ionic开源项目教程] 第5讲 如何在项目中使用全局配置 [ionic开源项目教程] 第6讲 过滤器filter的使用 [ionic开源项目教程] 第7讲 实现

浅读《视觉SLAM十四讲:从理论到实践》--操作1--初识SLAM

下载<视觉SLAM十四讲:从理论到实践>源码:https://github.com/gaoxiang12/slambook 第二讲:初识SLAM 2.4.2 Hello SLAM(书本P27) 1.从github上下载源码,并解压 Ubuntu上,解压zip,先找到zip文件所在位置,然后运行下面代码,进行解压. unzip slambook-master.zip 解压后,找到ch2文件夹,在文件夹中找到helloSLAM.cpp文件 运行cpp文件 g++ helloSLAM.cpp 如未安

10年软件测试工作总结

时光荏苒,从毕业到现在已经10年,10年来一直从事着软件测试的工作.从一个什么都不会,到测试技术人员再到测试管理,期间有迷茫,有痛苦,有弯路,有捷径.今天对自己过去的10年测试经历做一个总结,一是给自己重新出发增加动力,二是给刚入道的.迷茫中的测试朋友一点点建议,希望你们少走弯路. 首先,谈谈测试职业规划,即做什么的问题.所谓方向比努力重要,这绝对是一句真理.如果能在刚走上测试工作岗位的时候明白这个道理,那么不出5年,你一定能成为某一测试领域的专家,那时不管是薪水.自信心都是顺其自然的事情.但是

转帖子:测试专家10年软件测试工作总结

首先,谈谈测试职业规划,即做什么的问题.所谓方向比努力重要,这绝对是一句真理.如果能在刚走上测试工作岗位的时候明白这个道理,那么不出5年,你一定能成为某一测试领域的专家,那时不管是薪水.自信心都是顺其自然的事情.但是遗憾的是,我们获取的太多信息是,测试人员是一个通才,什么都要学,什么都要懂.结果这样的一个方向,导致了3脚猫功夫的测试人员一大把.那么什么都懂一点的测试人员难道就没有用武之地了吗?也不是,可以朝着测试管理岗位发展.说到这里,引出了测试职业规划的第一条路:测试管理.那么很容易想到职业规

第10讲 | 深入区块链技术(二):P2P网络

在上一篇文章中,我大致讲解了一下区块链技术的几个核心要素.P2P网络协议.分布式一致性算法(共识机制).加密签名算法.账户与存储模型.今天我们就来看看区块链技术的第一个核心要素:P2P网络. 如果我们简单来看P2P技术,它的应用领域已经非常广泛了,从流媒体到点对点通讯.从文件共享到协同处理,多种领域都有它的身影出现. 同样的,P2P的网络协议也有很多,比较常见的有BitTorrent.ED2K.Gnutella.Tor等,也就是我们常说的BT工具和电驴. 比特币.以太坊等众多数字货币都实现了属于

【Java】第10讲:抽象类.接口

用处:父类的方法的不确定性,不写实现结果的话就要抽象化(abstract),如下下 隐藏要求,继承抽象类时,必须要实现所有的抽象方法,因为作者不知道子类需要什么,只是提供方法 接口 抽象类可以有实现主体,接口不能有 接口变量可以有变量,必须初始化,final,piblic,static

10讲 元件的替换与更新

1.replace cache 用法 在design cache 里面右击某个元件选择replace 保留属性 2.update cache用法 同上 3.replace cache与 pdate cache区别

第10讲:访问修饰符.重载.覆盖

类和成员变量和成员方法都有修饰 继承 冗余的代码 不想被继承的变量和方法用修饰符 不能继承多个父类由接口解决幼儿继承小学生,小学生继承学生,继承层次没有做限制 jdk 必须继承jdk原有的类如:弹窗 重载 允许一样的方法名,这样调用不同方法时,编译器会根据参数自动选用哪个方法,调用的代码量会大大减少 方法覆盖