软件测试来喽~这看这博主写的多是一件美事呀

目录

开篇

软件测试模型

V模型

W 模型

X模型

H模型

测试方法

白盒测试

黑盒测试

灰盒测试

 黑盒测试方法种类

等价类划分

等价类测试的分类

边界值方法

边界值分析测试方法

决策表方法

决策表的测试方法


开篇

哈喽!大家好,这篇我们来看看软件测试。

首先什么是软件测试呢?软件测试的目的是啥?

软件测试技术是对软件产品进行验证和确认的活动过程,其目的是尽快尽早发现软件产品中存在的诸问题,包括错误、缺陷以及用户预先定义需求的不一致性等。
 

软件测试的生命周期有哪些呢?

问题定义-需求分析-系统设计-编码实现-软件测试-运行维护
软件测试用时间占开发阶段的百分之45%。

 

软件测试模型

V模型

在软件测试方面,V模显示最广为人知的模型。如图所示。V模型的过程从左到右,描述了基本的开发过程和测试行为。V模型的价值在于它非常明确的标明了测试过程中存在不同的级别,并且清楚地描述了这些测试阶段和开发过程间间各个阶段的对应关系。

W 模型

W 模型的模型由 Evolutif 公司提出,相对于V模型,W模型更科学。W模型强调的是测试,伴随着整个软件开发的周期。而测试对象不仅仅是程序需求、功能和设计同样也要测试,测试与开发是同步进行的,从而有利于更早的发现问题。如图所示。

X模型

X模型也是对V模型的改进。X模型针对提出对单独的程序片段进行互相分离。编码和测试此后通过频繁的交接,通过集成最终合成可执行的程序。

H模型

H模型中软件测试过程活动完全独立,贯穿于整个产品的周期与其他流程并发进行。某个测试点准备就绪时,就可以从测试准备阶段进行到测试执行阶段。软件测试可以尽早进行,并且可以根据被测试物的不同而分层次进行。

H模型揭示了一个原理,软件测试是一独立的流程,贯穿与产品的整个生命周期,与其他流程并发。运行模型,指出软件测试要尽早的准备,尽早的执行。

测试用例 = 输入 + 输出 + 测试环境。

测试方法

按照测试方法划分为:白盒测试、黑盒测试、灰盒测试

白盒测试

白盒测试也称结构测试或逻辑驱动测试。白盒测试是指一个应用代码的内部逻辑知识。既要覆盖全部的代码,分支、路径、条件的测试,也要检验程序中每条通路是否能够按照预定的要求正确工作。保护它的功能,白盒测试的主要方法有逻辑驱动、基路测试等

黑盒测试

黑盒测试通常理解为我不需要了解程序代码如何实现,我只需要知道。程序出错在哪个地方?站在用户的角度上。黑盒测试着重于程序外部结构,不考虑内部逻辑结构,主要针对于软件界面和软件功能进行测试。

灰盒测试

灰盒测试是介于白盒测试和黑盒和测试之间的测试,灰盒测试关注与输出对于输入的正确性。灰盒测试结合了白盒测试和黑盒测试的要素。它考虑了用户端、特定的系统知识和操作环境。

黑盒测试流程如图所示。

 黑盒测试方法种类

等价类划分

等价类划分,把程序输入与划分成若干个不相交的子集,称之为等价类。所谓等价类是指输入域的某个子集合,所有等价类的并集便是整个输入域。

等价类分为两种情况,有效等价类(是有意义的,合理的输入数据所构成的集合)和无效等价类(是不合理或无意义的输入数据所构成的集合)。

举一个例子:

一个学生允许选修5 ~ 8门课。而5 ~ 8门就是有效等价类。小于五门或者是超过八门则是无效等价类。

等价类测试的分类

弱组合形式测试用例仅需满足有效等价类的完全覆盖。

在这里假设f实现一个程序。输入变量 X1 和 X2 的边界以及边界内的区间。

a <= X1 <= d ,区间为[a, b), [b, c), [c, d]

e <= X2 <= g,区间为[e, f], [f, g]

那么X1的有效等价类:[a, b), [b, c), [c, d]

那么X1的无效等价类:(负无穷, a), (d , 正无穷)

那么X2的有效等价类:[e, f], [f, g]

那么X2的有效等价类:(负无穷, e), (g , 正无穷)

那么弱一般等价类的测试。至少需要三个测试用例,即可以满足等价类的测试要求。如图所示。

强组合形式:测试用例不仅满足对有下列完全覆盖,而且应覆盖所有等价类的组合。

强表示测试用例需要覆盖两个输入所有效的加类可能的组合。X一有三个有效等价类,xa有两个有效等价类,因此至少需要六个等价测试类才能满足强一般等价类的测试要求,即3×2。

一般等价类测试只考虑有效等价类。

健壮等价类测试考虑有效、无效等价类

在这里我们举个例子,这里举一个三角形问题

三角形问题的等价类。如图:

覆盖无效等价类测试用例,如图:

边界值方法

边界值我们可以理解为某一个条件下接近于边缘的规则。举一个例子。一个文本与允许输入1~255字符。那么1和255个字符是属于合法期间。也是边界值。也可以加入254个字符作为合法测试。

但如果输入0个字符和256个字符。那么就是非法区间。

再举个例子。在C语言里面有一个十个元素的数组。那么赋值的时候用for循环输入“ for(int i = 1; i <= 10; i ++) ”来赋值的话,那么很明显下标超限。这就是典型的边界值问题(越界)。

边界值分析测试方法

我们这里有两个变量,X1和X2二程序,其中X1属于a、b区间,X2属于c、d区间,那么边界值分析利用输入变量的最小值、稍大于最小值,区间任意值、最大值和稍最大值。那么两个变量程序的输入空间和两个程序的边界值分析程序的用例图如下。

那么两个变量程序的健壮性测试用例。

决策表方法

什么决策表?

决策表,也叫判定表。在所有的功能性测试方法中,基于决策表的测试方法被认为是最严格的,因为决策表具有逻辑严格性。

决策表通常由四部分组成。条件桩(列出了问题的所有条件。除了问题的先后次序有特定的要求以外,通常在这里列出的条件先后次序都无关。)条件项针对乔建庄给出的条件列出的所有可能取值。)动作桩给出问题规定可能取得操作,这些操作排列顺序一般没什么约束,但为了便于阅读,也可以适当的进行排序。)动作项和条件装紧密相关,在条件中的各种曲子情况下应采取的动作)

表中有两条或者多条规则具有相同的动作,并且在条件下之间存在着极为相似关系即可。设法将其合并。

如图所示,两条规则合并成一条。

决策表的测试方法

首先还是三角形问题

1. 列出所有的条件和动作桩

条件桩

C1: a, b, c 构成三角形

C2:a = b?

C3:a = c?

C4:b = c?

动作桩

A1:非三角形

A2:不等边三角形

A3:等腰三角形

A4:等边三角形

A5:不可能

2. 确定规则的个数

3. 列出所有的条件桩和动作桩

4. 填入条件项

5. 填入动作项

6. 简化决策表

如图所示。

这里很明显看出决策比较最突出的优点是它能把复杂的问题按照各个可能的情况一一列出。简明和理解,同时可以避免遗漏。

(求关注)持续更新中……

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

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

相关文章

努力打卡 每天学习 不浪费每一天 Day76

白天学数据结构刷题 晚上学Javaweb 备考蓝桥杯 <1> Scanner 可能会超时 改用StreamTokenizer StreamTokenizer scannew StreamTokenizer(new BufferedReader(new InputStreamReader(System.in))); Window <script>//弹窗/*window.alert("123");alert(…

知识星球喊你来交作业了

各位小伙伴,晚上好,忙碌的一周,不知不觉又周末了,提前祝大家周末愉快! 入驻知识星球已经快两周的时间,已有63位朋友加入进来 有些朋友看了看星球,哇,付费的,然后就望而却步,但我们从来不是为了收费而收费的,因为之前的一系列微信群举措并没有多大效果,不希望微信群…

应老师要求发布作业博客

冒泡排序—— 原理&#xff1a;通过外层for循环 i 遍历一遍数组&#xff0c;内层循环 j 实现比较次数&#xff0c;if 判断来使数与后面的数进行比较和交换位置&#xff0c;比较次数逐渐减少&#xff0c;用数组长度来减去外层循环 i 实现比较次数减少的作用&#xff0c;最后输出…

卡塔尔世界杯终局之战,阿根廷VS法国,是老将加冕还是新王登基?

【世界杯】阿根廷VS法国 不知不觉&#xff0c;世界杯已经走到最后的尾声&#xff0c;此前经历的28天&#xff0c;63场比赛皆是铺垫&#xff0c;卢赛尔体育场将会迎来2022卡塔尔世界杯最终的决赛&#xff0c;究竟是梅西球王加冕还是法国卫冕世界杯冠军&#xff0c;今晚23&#x…

Apple Developer:Verify your identity and review the updated license agreement.

第一步&#xff1a; 确保你的iOS系统是最新的、或者iPad OS系统是最新的&#xff0c;打开iOS、iPad OS 的App Store&#xff0c;搜索Apple Developer&#xff0c;下载最新版本&#xff0c;或者更新为最新版本&#xff01; 第二步&#xff1a; 打开Apple Developer&#xff0…

【小程序云开发】不用后端也能构建完整的微信小程序

文章目录 人工智能福利文章什么是微信小程序云函数云数据库HTTP 云函数定时触发云函数总结写在最后 ✍创作者&#xff1a;全栈弄潮儿 &#x1f3e1; 个人主页&#xff1a; 全栈弄潮儿的个人主页 &#x1f3d9;️ 个人社区&#xff0c;欢迎你的加入&#xff1a;全栈弄潮儿的个人…

Input搜索框与搜索图标对齐解决方法

出现的情况 有些网站需要在搜索框旁写一个紧挨着的放大镜图标框。这时候可能就牵涉到对齐问题。 例如小米商城搜索框&#xff1a; 可以简单写一下这两个框&#xff1a; <div class"header-search"><input class"first" type"text" pl…

全力备战,迎接客户联络深度智能化的“质变时刻”

‍数据智能产业创新服务媒体 ——聚焦数智 改变商业 自2022年6月30日在香港联交所主板上市以来&#xff0c;天润融通不断加大在AI方面的研发投入&#xff0c;并确立了以“AI原生”思维重构客户联络系统和流程的产品发展目标。过去的一年中&#xff0c;天润融通推出了多项创新的…

重磅发布!百分点科技正式发布数据科学基础平台DeepMatrix

‍数据智能产业创新服务媒体 ——聚焦数智 改变商业 3月30日&#xff0c;由百分点科技主办的“2023数据科学峰会”在北京金隅智造工场科技秀场成功召开。此次大会以“数据进阶”为主题&#xff0c;邀请权威专家学者以科学视角和全球视野解读数据科学、数字政府建设及数字化业务…

2022全球社交电商趋势策略报告

导读&#xff1a; 《报告》显示,后疫情时代,口碑营销和熟人种草已成为社交购物的主要趋势;消费者对购物体验要求提升,AR(增强现实)技术将颠覆传统购物体验。店匠科技与 Snapchat 将基于此趋势,围绕独立站 SaaS、社交电商营销一站式解决方案,助力品牌企业探索建立合适的社交电商…

AI首次挑战DevOps全流程 - AI加持的黑马冠军团队有多厉害?丨IDCF

一. 报名初衷 IDCF 黑客马拉松活动第40场活动&#xff0c;加入了AI元素以后&#xff0c;各个环节明显提效&#xff0c;输出质量更高。IDCF的AI黑马挑战赛&#xff0c;一个汇集了众多DevOps爱好者、开发者的平台&#xff0c;希望能在这个沙龙中探求前沿技术、广交志同道合的朋友…

chatgpt赋能python:Python实现输入法-让你的输入更方便

Python实现输入法-让你的输入更方便 介绍 输入法是我们日常使用电脑必不可少的工具之一&#xff0c;能够帮助我们更快捷、便利地输入文字。而Python作为目前非常流行的编程语言之一&#xff0c;也可以实现输入法的功能。 Python实现输入法可以带来很多好处&#xff0c;比如&…

基于GPT搭建私有知识库聊天机器人(六)仿chatGPT打字机效果

文章链接&#xff1a; 基于GPT搭建私有知识库聊天机器人&#xff08;一&#xff09;实现原理 基于GPT搭建私有知识库聊天机器人&#xff08;二&#xff09;环境安装 基于GPT搭建私有知识库聊天机器人&#xff08;三&#xff09;向量数据训练 基于GPT搭建私有知识库聊天机器…

Js 如何实现一个类似 chatGPT 打字机效果

在使用chatGPT的时候,会有一个打字机的效果,以下是分别使用原生Js和Vue实现 原生 JS 实现 如下是示例代码 <!DOCTYPE html> <html><head><meta charset"utf-8"><title>Printer 打字机效果</title><style>* {margin: 0;bor…

自然语言大模型介绍

1 简介 最近一直被大语言模型刷屏。本文是周末技术分享会的提纲&#xff0c;总结了一些自然语言模型相关的重要技术&#xff0c;以及各个主流公司的研究方向和进展&#xff0c;和大家共同学习。 2 Transformer 目前的大模型基本都是Transformer及其变种。本部分将介绍Transf…

chatgpt赋能python:Python中怎么打开图片

Python中怎么打开图片 在Python中&#xff0c;打开并处理图片是常见的任务。本文将介绍如何使用Python打开和显示图像文件&#xff0c;以及一些其他关于处理图像的有用技巧。 打开图片 Python提供了许多库来处理图片。其中最流行的是Pillow和OpenCV&#xff0c;但是还有其他…

chatgpt赋能python:使用Python修改照片属性:让你的照片更美丽

使用Python修改照片属性&#xff1a;让你的照片更美丽 介绍 随着数字摄影的发展&#xff0c;人们不再满足于只是拍照&#xff0c;更追求照片的美感和创意。虽然相机和手机等设备都已经默认提供了各种滤镜和编辑功能&#xff0c;但有时它们并不能满足我们的要求。那么&#xf…

独家 | Scikit-LLM:Sklearn邂逅大语言模型

作者&#xff1a;Fareed Khan翻译&#xff1a;陈之炎 校对&#xff1a;赵茹萱本文约2600字&#xff0c;建议阅读8分钟 本文为您介绍文本分析的工具包Scikit-LLM。 标签&#xff1a;LLM Scikit-LLM是文本分析的游戏规则改变者&#xff0c;它将功能强大的ChatGPT语言模型和scikit…

LLM应用的技术栈与设计模式详解

大型语言模型是构建软件的强大新原语。 但由于它们是如此新&#xff0c;并且其行为与普通计算资源如此不同&#xff0c;因此如何使用它们并不总是显而易见的。 在这篇文章中&#xff0c;我们将分享新兴 LLM 应用程序的参考架构。 它展示了我们所见过的人工智能初创公司和先进科…

GPT模型微调教程:打造您专属的ChatGPT模型

一、前言 通过前面对大语言模型的介绍&#xff0c;我们了解到&#xff0c;其实像目前已经发布的一些主流大语言模型如OpenAI公司发布的的GPT-3.5、GPT-4、Google发布的Bard和PaLM 2多模态模型、Anthropic最近推出的Claude 2、亦或是国内清华大学联合智普AI发布的ChatGLM 2等都…