【软工视频】第六章软件测试

简介: 【软工视频】第六章软件测试

目录

软件测试的目的

(1)测试是程序的执行过程,目的在于发现错误

(2)一个好的测试用例在于能发现至今为止未发现的错误

(3)一个成功的测试是发现了至今未发现的错误的测试

软件测试原则

1、应把“尽早的和不断地进行软件测试”作为软件开发者的座右铭

2、测试用例应有测试输入数据和对应的语气输出结果这两部分组成

3、程序猿应避免检查自己的程序

4、在设计测试用例时,应当包括合理的输入条件和不合理的输入条件

测试信息流

软件配置

测试配置

测试工具

测试结果分析

排除(调试)

修正后的文档再测试

测试与软件开发各阶段的关系

软件开发过程是一个自顶向下,逐步细化的过程

测试用例设计

两种测试方法:

黑盒测试:把测试对象看做一个黑盒子,检查程序的功能是否符合他的功能说明

白盒测试:把测试对象看做一个透明的盒子,对程序所有逻辑路径进行测试

逻辑覆盖:是以程序内部的逻辑结构为基础的设计测试用例技术。属于白盒测试。

语句覆盖;判定覆盖;条件覆盖;判断-条件覆盖;条件组合覆盖;路径覆盖


语句覆盖:就是设计若干个测试用例,运行被测程序,使得每一可执行语句至少执行一次

判定覆盖:就是设计若干个测试用例,运行被测程序,使得程序中每个判断的取真分支和取假分支至少经历一次

条件覆盖:设计若干个测试用例,运行被测程序,是程序中每个判断的每个条件的可能取值至少执行一次

判断-条件覆盖:设计足够的测试用例,使得判断中每个条件的所有可能取值至少执行一次,同时每个判断中的每个条件的可能取值至少执行一次

条件组合覆盖:设计足够的测试用例,运行被测程序,使得每个判断的所有可能的取值至少执行一次

路径测试:设计足够的测试用例,覆盖程序中所有可能的路径


条件测试路径选择:当程序中判定多于一个时,形成的分支结构可以分为两类:嵌套型分支结构和连锁型分支结构


循环测试路径选择

(1)简单循环

(2)嵌套循环

(3)连锁循环

(4)非结构循环

黑盒测试的测试用例设计

等价类划分:把所有可能的输入数据,即程序的输入域划分为若干部分,然后从每一部分中选取少数有代表性的输入作为测试用例。划分为有效等价类和无效等价类

原则:(1)如果输入条件规定了取值范围,或值的个数,则可以确立一个有效等价类和两个无效等价类

(2)如果输入条件规定了输入值的集合,或者规定了“必须如何”的条件,这时可确定一个有效等价类和一个无效等价类

(3)如果输入条件是一个布尔量,则可以确定一个有效等价类和一个无效等价类

(4)如果规定了输入数据的一组值,而且程序要对每个输入值分别进行处理

(5)如果规定了输入数据必须遵守的规则,则可以确立一个有效等价类和若干个无效等价类

边界值分析:使用边界值分析方法设计测试用例,首先应确定便捷情况。应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据

原则:1.如果输入条件规定了取值范围,则应对该范围的边界内附近,恰好在边界和边界外附近设计测试用例

2.如果输入条件规定了数据的个数,则应对最小个数,最大个数,比最少个数少1,比最大个数大1等情况设计测试用例

3.针对规格说明中的每个输入条件使用前面的1 和2原则

4.如果程序规格说明中提到的输入或输入域是个有序的集合。应选有序集的第一个和最后一个元素作为测试用例

错误推测法

因果图

软件测试的策略:

单元测试。组装测试、确认测试。系统测试

单元测试:又称模块测试,是针对软件设计的最小单元-程序模块,进行正确性检验的测试工作
组装测试:把模块组装成系统的方式有两种:一次性组装方式和增殖式组装方式

确定测试:又称有效性测试。任务是验证软件的功能和性能以及其它特性是否与用户的要求一致

系统测试:将通过确认测试的软件,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素结合在一起,在实际运行环境下,对计算机系统进行一系列的组装测试和确认测试


相关文章
|
测试技术 C# Windows
C# WPF 显示图片和视频显示 EmuguCv、AForge.Net测试
原文:C# WPF 显示图片和视频显示 EmuguCv、AForge.Net测试 WPF 没有用到 PictureBox, 而是用Image代替. 下面我试着加载显示一个图片 。 XAML CS Attempt 1: ImageMy_Image=newImage(Openfile.
1768 0
|
11月前
|
计算机视觉
【项目实践】基于Mask R-CNN的道路物体检测与分割(从数据集制作到视频测试)(二)
【项目实践】基于Mask R-CNN的道路物体检测与分割(从数据集制作到视频测试)(二)
53 0
|
11月前
|
算法 计算机视觉 网络架构
【项目实践】基于Mask R-CNN的道路物体检测与分割(从数据集制作到视频测试)(一)
【项目实践】基于Mask R-CNN的道路物体检测与分割(从数据集制作到视频测试)(一)
139 0
|
Java 测试技术 Android开发
Loadrunner脚本开发-基于HTTP协议的流媒体视频在线播放服务器性能测试
Loadrunner脚本开发-基于HTTP协议的流媒体视频在线播放服务器性能测试
80 0
|
数据采集 存储 数据库
HTTP代理如何爬取?保姆式教程(附测试视频)
我们可以使用Python中的requests和beautifulsoup库来获取并解析这些信息。
HTTP代理如何爬取?保姆式教程(附测试视频)
|
Java 测试技术 应用服务中间件
课程管理-删除小节删除视频(功能测试) | 学习笔记
简介:快速学习课程管理-删除小节删除视频(功能测试)
101 0
课程管理-删除小节删除视频(功能测试) | 学习笔记
|
前端开发 Java Nacos
课程管理-删除课程删除视频(最终测试) | 学习笔记
简介:快速学习课程管理-删除课程删除视频(最终测试)
86 0
课程管理-删除课程删除视频(最终测试) | 学习笔记
|
测试技术
视频一对一源码,正确认识压力测试和性能测试
视频一对一源码,正确认识压力测试和性能测试
|
开发工具 git
我的Go+语言初体验——【三、spx案例测试_许式伟先生推荐补充(附-视频)】
我的Go+语言初体验——【三、spx案例测试_许式伟先生推荐补充(附-视频)】
130 0
我的Go+语言初体验——【三、spx案例测试_许式伟先生推荐补充(附-视频)】
我的Go+语言初体验——【三、spx案例测试(附-视频)】(二)
我的Go+语言初体验——【三、spx案例测试(附-视频)】
92 0
我的Go+语言初体验——【三、spx案例测试(附-视频)】(二)

热门文章

最新文章