二、测试的基本概念

news2024/9/29 17:36:52

文章目录

  • 一、需求
    • (一)需求的概念
    • (二)用户需求
    • (三)软件需求
  • 二、从软件测试人员角度看需求
    • (一)为什么需求对软件测试人员如此重要
    • (二)如何才可以深入理解被测试软件的需求
  • 三、测试用例
    • (一)定义
  • 四、BUG概念
  • 五、开发模型和测试模型
    • (一)软件的生命周期
    • (二)瀑布模型
    • (三)螺旋模型

一、需求

(一)需求的概念

满足用户期望或正式规定文档(合同、标准、规范)所具有的条件和权能,包含用户需求和软件需求。

(二)用户需求

可以简单理解为甲方提出的需求,如果没有甲方,那么就是终端用户使用产品时必须要完成的任务,该需求一般比较简略。

(三)软件需求

或者叫功能需求,该需求会详细描述开发人员必须实现的软件功能。

大多数公司在进行软件开发的时候会把用户需求转化为软件需求,开发人员和测试人员工作的直接依据就是软件需求
软件需求是测试人员进行测试工作的基本依据。

二、从软件测试人员角度看需求

需求是测试人员开展软件测试工作的依据。
在具体设计测试用例的时候,首先需要搞清楚每一个业务需求对应的多个软件功能需求点,然后分析出每个软件功能需求点对应的多个测试需求点,然后针对每个测试需求点设计测试用例。
过程如下,业务需求—>软件功能需求点—>测试需求点—>测试用例
以“用户登陆”为例,来阐述下整个过程:
在这里插入图片描述

(一)为什么需求对软件测试人员如此重要

  • 从软件功能需求出发,无遗漏的识别出测试需求是至关重要的,这将直接关系到用例的测试覆盖率
  • 对于识别出的每个测试需求点,需要采用具体的设计测试用例的方法来进行测试用例的设计

(二)如何才可以深入理解被测试软件的需求

测试工程师在需求分析和设计阶段就开始介入,因为这个阶段是理解和掌握软件的原始业务需求的最好
时机

只有真正理解了原始业务需求之后,才有可能从业务需求的角度去设计针对性明确,从终端用户的使用
场景到端到端的覆盖率较高的测试用例集。

三、测试用例

(一)定义

测试用例(Test Case)是为了实施测试而向被测试的系统提供的一组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等要素。
测试用例解决了两大问题:测什么,怎么测。
测试过程中可能会遇到以下问题: –不知道是否较全面的测试了所有功能 –测试的覆盖率无法衡量 –对新版本的重复测试很难实施 –存在大量冗余测试影响测试效率
测试用例的产生就是为了解决上述的问题。

四、BUG概念

软件错误的一般定义: 程序与规格说明之前不匹配
注意:以上说法是片面的,准确的来说:当且仅当规格说明是存在的并且正确,程序与规格说明之间的不匹配才是错误
当需求规格说明书没有提到的功能,判断标准以最终用户为准:当程序没有实现其最终用户合理预期的功能要求时,就是软件错误。

五、开发模型和测试模型

(一)软件的生命周期

软件生命周期是指从软件产品的设想开始到软件不再使用而结束的时间。 如果把软件看成是有生命的事物,那么软件的生命周期可以分成6个阶段,即需求分析、计划、、设计、编码、测试、运行维护

(二)瀑布模型

在这里插入图片描述
瀑布模型在软件工程中占有重要地位,是所有其他模型的基础框架。瀑布模型的每一个阶段都只执行一次,因此是线性顺序进行的软件开发模式
优点:

  • 强调开发的阶段性;
  • 强调早期计划及需求调查;
  • 强调产品测试。

缺点:

  • 依赖于早期进行的唯一一次需求调查,不能适应需求的变化;
  • 由于是单一流程,开发中的经验教训不能反馈应用于本产品的过程;
  • 风险往往迟至后期的测试阶段才显露,因而失去及早纠正的机会。

瀑布模型的一个最大缺陷在于,可以运行的产品很迟才能被看到。这会给项目带来很大的风险,尤其是集成的风险。因为如果在需求引入的一个缺陷要到测试阶段甚至更后的阶段才发现,通常会导致前面阶段的工作大面积返工,业界流行的说法是:“集成之日就是爆炸之日”。尽管瀑布模型存在很大的缺陷,例如,在前期阶段未发现的错误会传递并扩散到后面的阶段,而在后面阶段发现这些错误时,可能已经很难回头再修正,从而导致项目的失败。但是目前很多软件企业还是沿用了瀑布模型的线性思想,在这个基础上做出自己的修改。例如细化了各个阶段,在某些重点关注的阶段之间掺入迭代的思想。在瀑布模型中,测试阶段处于软件实现后,这意味着必须在代码完成后有足够的时间预留给测试活动,否则将导致测试不充分,从而把缺陷直接遗留给用户

(三)螺旋模型

一般在软件开发初期阶段需求不是很明确时,采用渐进式的开发模式。螺旋模型是渐进式开发模型的代表之一。这对于那些规模庞大、复杂度高、风险大的项目尤其适合。这种迭代开发的模式给软件测试带来了新的要求,它不允许有一段独立的测试时间和阶段,测试必须跟随开发的迭代而迭代。因此,回归测试的重要性就不言而喻了。在这里插入图片描述
优点:

  • 强调严格的全过程风险管理。
  • 强调各开发阶段的质量。
  • 提供机会检讨项目是否有价值继续下去。

缺点:

  • 引入非常严格的风险识别、风险分析和风险控制,这对风险管理的技能水平提出了很高的要求。这需要人员、资金和时间的投入

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

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

相关文章

【论文速读】| ARVO: 开源软件可重现漏洞的全景图

本次分享论文:ARVO: Atlas of Reproducible Vulnerabilities for Open Source Software 基本信息 原文作者:Xiang Mei, Pulkit Singh Singaria, Jordi Del Castillo, Haoran Xi, Abdelouahab (Habs) Benchikh, Tiffany Bao, Ruoyu Wang, Yan Shoshitai…

Java Email发送:如何配置SMTP服务器发信?

Java Email发送性能如何优化?怎么实现Java发信功能? Java Email发送功能使得开发者能够轻松集成邮件服务到他们的应用程序中。通过配置SMTP服务器,Java Email发送可以实现高效、可靠的邮件传递。AokSend将详细介绍如何配置SMTP服务器以进行J…

10、ollama启动LLama_Factory微调大模型(llama.cpp)

在前面章节中介绍了如何使用LLama_Factory微调大模型,并将微调后的模型文件合并导出,本节我们我们看下如何使用ollama进行调用。 1、llama.cpp LLama_Factory训练好的模型,ollama不能直接使用,需要转换一下格式,我们…

Java面试——Spring

优质博文:IT-BLOG-CN 一、Spring Bean 作用域 【1】singleton:该属性在 IOC容器仅创建一个 Bean实例(单例),IOC容器每次返回的是同一个 Bean实例。 【2】prototype:该属性在 IOC容器可以创建多个 Bean实例…

MT3608L 2.5A,高效率1.2MHz电流模式升压转换器芯片IC

一般描述 MT3608L是一款恒频、6针SOT23电流模式升压转换器,适用于小型、低功率应用。MT3608L开关频率为1.2 MHz,允许使用高度小于2mm的微型、低成本电容器和电感器。内部软启动可产生小浪涌电流,延长电池寿命。 MT3608L具有在…

事半功倍:利用增强现实提高工作效率

人们通常认为增强现实只是游戏中的一个强大的功能,然而,研究表明,增强现实在提高工厂的效率和生产力方面也发挥着重要作用。不管增强现实、虚拟现实还是混合现实都能很好地模拟工厂的工作场景,这对于培训、运营、安全和研发方面的…

ip地址暴露有什么危害?怎么隐藏ip地址

在数字化时代,‌IP地址作为网络世界的“门牌号”,‌扮演着连接用户与互联网的重要角色。‌然而,‌随着网络环境的日益复杂,‌IP地址的暴露可能成为个人隐私泄露和网络攻击的风向标。‌本文将深入探讨IP地址暴露的危害,…

【pgAdmin4】Windows 上安装 PostgreSQL(图文详情)

目录 0.背景 1.简介 2.安装步骤 1)下载地址 2)双击安装包进行下载【请以管理员身份打开并安装】 3)安装步骤 4)安装中 5)安装完成 0.背景 最近在学习大数据规模处理的相关课程,需要安装这个数据库以…

快速安全部署 Tomcat

主机环境 IP域名用途172.25.254.10tomcat1.orgTomcat172.25.254.20tomcat2.orgTomcat172.25.254.30nginx-server.orgNginx 负载均衡 Tomcat 安装 172.25.254.10 # 安装JAVA [roottomcat1 ~]# yum install java-1.8.0-openjdk.x86_64 -y # 下载Tomcat,推荐在Windows主机下载…

EE trade:贵金属包括哪些

贵金属, 顾名思义, 是指价值贵重的金属, 它们因其独特的性质和稀缺性, 在人类历史上扮演着重要的角色。 从古代的装饰品到现代的工业材料, 贵金属一直受到人们的追捧。 一、 八大贵金属: 稀有珍贵&#xf…

首批河南省“人工智能+高等教育” 典型应用场景公布

河南省在推进高等教育与人工智能技术融合方面迈出了重要步伐。 近期,河南省教育厅公布了首批“人工智能高等教育”典型应用场景案例认定名单,此举标志着省级教育部门对高校在AI应用方面的积极探索和实践给予了高度认可和支持。 经过严格的申报审核、会…

夜深了,赶紧根据软件系统建模建设一个房屋租赁服务系统,坐上收租大佬宝座,走上人生巅峰

目录 案例 【题目】 【问题 1】(12 分) 【问题 2】(5 分) 【问题 3】(8 分) 【答案】 【问题 1】答案 【问题 2】答案 【问题 3】答案 相关推荐 案例 阅读以下关于软件系统建模的叙述,在答题纸上回答问题 1 至问题 3。 【题目】 某公司欲建设一个房屋租赁服务…

图像去模糊技术分享

图像去模糊是图像处理领域中的一个技术过程,旨在恢复或提高模糊图像的清晰度,减少因各种原因(如运动、焦点不准等)导致的图像模糊。图像去模糊技术对于提高图像质量,增强视觉效果,以及在诸如医疗成像、卫星…

鸿蒙( Beta5.0版)开发实战:自定义TabBar页签

介绍 本示例主要介绍了TabBar中间页面如何实现有一圈圆弧外轮廓以及TabBar页签被点击之后会改变图标显示,并有一小段动画效果。 效果图预览 使用说明: 依次点击tabBar页面,除了社区图标之外,其它图标往上移动一小段距离。 实现…

内网穿透的应用-如何使用跨平台终端Tabby结合内网穿透工具异地远程ssh访问Ubuntu系统

文章目录 前言1. Tabby下载安装2. Tabby相关配置3. Tabby简单操作4. ssh连接Linux4.1 ubuntu系统安装ssh4.2 Tabby远程ssh连接ubuntu 5. 安装内网穿透工具5.1 创建公网地址5.2 使用公网地址远程ssh连接 6. 配置固定公网地址 前言 今天和大家分享一下如何在Windows系统使用Tabb…

友元成员函数怎么用?

友元破坏了类的封装性&#xff0c;能够让友元的类或函数访问到类的私有数据&#xff0c;既然它有这个特性那就看看怎么使用吧&#xff0c;这里看个友元成员函数的使用。 #include <stdlib.h> #include <stdio.h> #include <malloc.h>class CDate; class CTi…

脑电图(学习自用)(1-4课)

文章目录 第一课&#xff1a;电极的安放位置和测量安放前的准备放置操作导联设置 第二课&#xff1a;脑电图一般判读原则判断正常的脑电图睡眠期的脑电图正常成分慢波的说明 正常脑电图的变异弥漫性慢波 第三课&#xff1a;脑电图波的分析和识别波幅的分布 位相波形-单型波正弦…

C#预处理器指令

预处理器指令(Preprocessor Directives)指导编译器在实际编译开始之前对信息进行预处理. 通过这些指令,可以控制编译器如何编译文件或编译哪些部分.常见的预处理器指令包括条件编译,宏定义等. 所有的预处理器指令都是以#开始,且在一行上,只有空白字符可以出现在预处理器指令之…

领夹麦克风哪种好,领夹麦克风哪种好用又实惠,无线麦克风推荐

​对于追求高品质视频内容的创作者来说&#xff0c;优质的录音设备是不可或缺的。今天&#xff0c;我将分享几款性价比极高的无线领夹麦克风&#xff0c;它们将帮助你在各种拍摄环境中获得清晰、专业的音频&#xff0c;让你的作品声音部分无可挑剔吧&#xff01; 一、无线领夹麦…

网易易盾携手雷斧科技,打造公平竞技环境

这是一个充满复古像素风格的游戏世界&#xff0c;玩家们控制着自己的像素角色&#xff0c;手持着各种像素化武器&#xff0c;时而酣畅对战&#xff0c;时而自由创作地图、武器和皮肤。 《像素射击》是由雷斧科技开发的一款集生存、对战、沙盒创造于一体的像素风格的3D多人在线…