软件测试技术——软件测试概述

文章目录

  • 一、软件测试的定义
    • 标准定义
    • Bug和缺陷
  • 二、软件测试与软件质量保证
  • 三、软件测试七大基本原则
  • 四、软件测试分类
    • 按测试手段
    • 按测试执行方式
    • 按测试阶段或层次
    • 按测试对象
  • 五、软件测试过程模型
    • V模型
    • W模型
    • H模型
    • X模型

一、软件测试的定义

正向观点逆向观点
验证软件是否能正常工作证明程序有错

标准定义

使用人工或自动手段,来运行或测试某个系统的过程。其目的在于验证它是否满足规定的需求或弄清预期结果与实际结果之间的差别。软件测试以是否满足需求为目标。

Bug和缺陷

bug是软件(包括程序和文档)中不符合用户需求的问题。
bug类型包括:

  • 完全没有实现的功能
  • 功能或性能上的问题或差异
  • 多余的功能

二、软件测试与软件质量保证

软件质量保证(SQA) 是为确保软件开发过程和结果符合预期要求而建立的一系列规程,以及依照规程和计划采取的一系列活动及其结果评价。

SQA软件测试
SQA指导、监督软件测试的计划和执行测试是SQA的重要手段之一。为SQA提供质量评价所需的数据
SQA是一项管理工作测试是一项技术性工作
SQA是在预防问题测试是在发现问题
SQA侧重对流程的评审和监控测试侧重对产品进行评估和验证

三、软件测试七大基本原则

  1. 不可能执行穷尽测试
  2. Zero bug和Good Enough
  3. 测试应尽早启动,尽早介入
  4. 测试应追溯需求
  5. 缺陷存在集群现象(二八原则)
  6. 缺陷具有免疫性(杀虫剂悖论)——使用交叉测试
  7. 测试只能证明软件存在错误而不能证明软件没有错误,测试是无法显示潜在的错误和缺陷

四、软件测试分类

按测试手段

  1. 白盒测试(逆向观点-证明程序有错)
    接口测试也是一种白盒测试。
  2. 黑盒测试(正向观点-软件是否正常工作)
    • 功能测试:逻辑功能、界面测试、易用性测试、安装测试、兼容性测试
    • 性能测试:一般性测试、稳定性测试、负载测试、压力测试

按测试执行方式

  1. 静态测试:不实际运行被测软件,只是静态地检查程序代码、界面或文档中可能存在的错误
  2. 动态测试:通过观察代码运行过程,来获取系统信息,对系统进行验证。
-黑盒白盒
静态不运行程序,只查看界面不运行程序,静态查看代码
动态运行程序,只看输入输出运行程序,分析代码结构

按测试阶段或层次

  1. 单元测试:采用白盒测试的手段,针对模块或组件进行测试,和编码同步进行。
  2. 集成测试:白盒测试和黑盒测试相结合。将模块按设计要求组装起来。目标是发现接口问题。
  3. 系统测试:将软件系统看成一个系统测试。包括对功能、性能以及软件所运行的硬软件环境进行测试。
    • 回归测试:在修改了旧代码后,重新执行上一个版本的测试用例以确认没有引入新的错误。
    • 冒烟测试:对每一个新编译的正式版本,确认软件的基本功能正常,可以开展后续测试工作。
  4. 验收测试
    • α测试:由一个用户在开发环境下进行的测试。
    • β测试:使用由软件最终用户(多个)在用户场景进行的测试。
-单元测试集成测试系统测试验收测试
测试阶段和编码同步进行单元测试之后集成测试之后系统测试之后
测试对象模块或组件模块间接口整个系统(软、硬件)整个系统
测试人员白盒测试工程师和开发人员白盒测试和开发人员黑盒测试工程师最终用户或者需求方
测试依据《详细设计文档》《概要设计文档》《需求规格说明书》《需求规格说明书》和验收标准
测试方法白盒测试黑盒和白盒测试相结合黑盒测试黑盒测试
测试内容独立执行路径、局部数据结构、模块接口、边界条件、容错模块间数据传输、功能冲突、模块组装功能正确、全局数据结构、单模块缺陷对系统的影响功能、界面、可靠性了、易用性、性能、兼容性、安全性等与系统测试相同

按测试对象

  1. 可靠性测试
  2. 兼容性测试
  3. 安全性测试
  4. 性能测试
  5. 功能测试
  6. 文档测试
  7. 界面测试:也称UI测试。测试功能模块界面上看到的所有元素(包括空文字、控件等)颜色风格是否统一,布局是否合理、美观,符合用户习惯等等。

五、软件测试过程模型

V模型

与软件开发瀑布模型相对应

局限性:软件测试作为设计和编码后的一个阶段,忽视了测试对需求分析、系统设计的验证。不能体现尽早测试的原则。
在这里插入图片描述

W模型

增加了软件开发各阶段中同步进行的验证和确认活动。
一旦由文档提供,就要及时确定测试条件、编写测试用例。

优点:

  1. 测试与开发同步进行
  2. 测试的不仅仅是程序,还包括需求和设计
  3. 尽早地发现软件缺陷

局限性:需求、设计、编码活动被视为串行的,同样,测试和开发也有前后关系。无法支持迭代的开发模型。
在这里插入图片描述

H模型

H模型将测试活动完全独立出来,形成了一个完全独立的流程,贯穿于产品的整个生命周期。将测试准备活动和测试执行活动清晰的体现了出来。

优点:

  1. 揭示了软件测试除测试执行外,还有很多工作;
  2. 软件测试完全独立,贯穿整个生命周期,与其他流程并行;
  3. 测试可以尽早准备、尽早执行,有很强的灵活性;
  4. 可以根据被测物的不同而分层次、分阶段、分次序进行,是可迭代的。

局限性:

  1. 对管理要求高
  2. 对技术要求高:要求合理定义每次迭代的规模。
  3. 测试就绪点模糊:很多时候并不知道测试就绪点应该放在哪是合适的。
    在这里插入图片描述

X模型

针对单独的程序片段进行相互分离的编码和测试,通过频繁的交接,最终集成为可执行的程序。

X模型还定位了探索性测试,这是不进行事先计划的特殊类型的测试,这一方式往往能帮助有经验的测试人员在测试计划之外发现更多的软件错误。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/290640.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux-No.04 Linux 设置定时任务发送邮件功能

2019独角兽企业重金招聘Python工程师标准>>> 1、定时任务 crontab -l crontab -e /sbin/service crond start //启动服务/sbin/service crond stop //关闭服务 /sbin/service crond restart //重启服务 /sbin/service crond reload //重新载入配置 /sbin/…

WPF 基础控件之 DataGrid 样式

此群已满340500857 ,请加新群458041663由于微信群人数太多入群请添加小编微信号yanjinhuawechat 或 W_Feng_aiQ 邀请入群需备注WPF开发者 PS:有更好的方式欢迎推荐。支持NugetInstall-Package WPFDevelopers.Minimal -Version 3.2.001—代码如下一、创建…

C#页面抓取信息

//根据Url地址得到网页的html源码private string GetWebContent(string Url){string strResult"";try{HttpWebRequest request (HttpWebRequest)WebRequest.Create(Url);//声明一个HttpWebRequest请求request.Timeout 30000;//设置连接超时时间request.Headers.Set…

在 Linux 下使用 RAID(二):使用 mdadm 工具创建软件 RAID 0 (条带化)

RAID 即廉价磁盘冗余阵列,其高可用性和可靠性适用于大规模环境中,相比正常使用,数据更需要被保护。RAID 是一些磁盘的集合,是包含一个阵列的逻辑卷。驱动器可以组合起来成为一个阵列或称为(组的)集合。 创建…

struts2批量删除

2019独角兽企业重金招聘Python工程师标准>>> 2012-10-27 12:48 997人阅读 评论(0) 收藏 举报 逻辑代码 [java] view plain copy package com.stu2; import java.util.ArrayList; import java.util.List; import java.sql.*; import com.s…

电子商务应用课程知识整理 第六章-数据挖掘

文章目录一、概述二、关联分析概念:关联分析步骤:用于寻找频繁项集的算法算法一:蛮力法算法二:Apriopri算法(先验算法)三、分类与预测k近邻算法(kNN)四、聚类分析k均值算法&#xff…

.NET Core 返回结果统一封装

本文使用.NET Core Webapi演示&#xff01;一:新建.NetCore webapi项目为了方便开发,简化代码,也为了与前端方便对接,需要对接口服务返回结果进行统一处理。二:定义返回结果结构我们需要定义一个统一返回结果泛型类ApiResultpublic class ApiResult<T>{/// <summary&g…

linux之nm命令

1、nm命令介绍 nm命令很好记&#xff0c;当时看到大神在我的电脑面前在open ssl编译的.a文件里面过滤SHA函数&#xff0c;nm你就这样记&#xff0c;nm 尼玛, 哈哈。我们可以通过nm命令查看后缀out文件和后缀a文件里面的函数和部分属性。比如我们过滤SHA函数&#xff0c;命令如下…

.NET的两种部署模式,了解一下

前言以往部署程序一直是习惯性先安装运行时环境&#xff0c;然后再将发布打包好的程序运行起来&#xff1b;但当多个程序依赖不同版本框架平台时&#xff0c;如果部署在同一台机器上&#xff0c;那就需要在同一台机器上安装多个版本的运行时&#xff0c;总感觉有点不太方便&…

CSS3弹性伸缩布局(一)——box布局

CSS3弹性伸缩布局简介 2009年&#xff0c;W3C提出了一种崭新的方案----Flex布局&#xff08;即弹性伸缩布局&#xff09;&#xff0c;它可以简便、完整、响应式地实现各种页面布局&#xff0c;包括一直让人很头疼的垂直水平居中也变得很简单地就迎刃而解了。但是这个布局方式还…

Avalonia跨平台入门第十五篇之ListBox聊天窗口

在前面分享的几篇中咱已经玩耍了Popup、ListBox多选、Grid动态分、RadioButton模板、控件的拖放效果、控件的置顶和置底、控件的锁定、自定义Window样式、动画效果、Expander控件、ListBox折叠列表;今天趁着大周末的时间接着去摸索基于ListBox的聊天窗口的效果,最终实现的效果如…

《Unity着色器和屏幕特效开发秘笈(原书第2版)》一2.9 打包和混合纹理

本节书摘来自华章出版社《Unity着色器和屏幕特效开发秘笈&#xff08;原书第2版&#xff09;》一书中的第2章&#xff0c;第2.9节&#xff0c;作者 [英]艾伦朱科尼&#xff08;Alan Zucconi&#xff09; [美]肯尼斯拉默斯&#xff08;Kenneth Lammers&#xff09;&#xff0c;更…

云计算及应用课程知识整理

文章目录一、云计算云计算概念云计算的服务类型云计算技术体系结构的层次及其功能为什么云计算成本低&#xff1f;二、GFS分布式的文件系统设计需要考虑哪些问题&#xff1f;GFS架构GFS容错机制三、分布式数据处理MapReducemapReduce概念MapReduce适合什么类型数据&#xff1f;…

Android loading进度条使用简单总结

在这里&#xff0c;总结一下loading进度条的使用简单总结一下。 一、说起进度条&#xff0c;必须说说条形进度条&#xff0c;经常都会使用到嘛&#xff0c;特别是下载文件进度等等&#xff0c;还有像腾讯QQ安装进度条一样&#xff0c;有个进度总给人良好的用户体验。 先来找图看…

sublime php语法检查

安装sublimelinter 安装sublimelinter-php 设置sublimelinter 进入SublimeLinter文件夹改动 SublimeLinter.sublime-settings文件 设置php文件夹

lv13 环境搭建SD卡启动

一、制作SD卡启动盘 1.1 方法1&#xff1a;在Linux下制作 一、准备好烧录脚本 cd ~/fs4412 ​ unzip sdfuse_q.zip ​ cd sdfuse_q ​ chmod x *.sh 二、将SD卡插入USB读卡器&#xff0c;并连接到虚拟机 或者 一般识别的sd卡会在dev目录下显示sdb 三、烧录 cp ../u-boot-f…

如何使用c#编写单片机程序

因为个人喜爱想研究单片机&#xff0c;但是不太会c&#xff0c;然后再找资料研究有没有其他的方法发现国外的c# nanoframework 框架可以编写单片机程序&#xff0c;本文我将会用自己踩过的坑来总结一些c#编写单片机的一些经验&#xff0c;希望帮到热爱c#的xd 首先第一步我们需要…

机器学习与数据挖掘——第二章 数据与数据预处理

一、关于数据 什么是数据&#xff1f; 数据是数据对象的集合及其属性 属性的类型 标称标度 nominal scale 标称属性的值是一些符号或实物的名称&#xff0c;每个值代表某种类别、编码或状态&#xff0c;所以标称属性又被看做是分类型的属性&#xff08;categorical&#xff…

《 线性代数及其应用 (原书第4版)》——1.2 行化简与阶梯形矩阵

本节书摘来自华章出版社《 线性代数及其应用 &#xff08;原书第4版&#xff09;》一书中的第1章&#xff0c;第1.2节&#xff0c;作者:&#xff08;美&#xff09;戴维C. 雷&#xff08;David C. Lay&#xff09;马里兰大学帕克学院 著刘深泉 张万芹 陈玉珍 包乐娥 陆 博 译&a…

c#使用FluentFtp实现一行代码实现ftp上传下载等

一:简介FluentFTP 是一个完全托管的 .NET 和 .NET Standard 的 FTP 和 FTPS 库&#xff0c;针对速度进行了优化。它提供了广泛的 FTP 命令、文件上传/下载、SSL/TLS 连接、自动目录列表解析、文件哈希/校验和、文件权限/CHMOD、FTP 代理、FXP 传输、UTF-8 支持、异步/等待支持、…