【软件测试】概述

news2024/11/15 21:23:35

《软件缺陷》

  • 定义
  • (从产品内部看)软件产品开发或维护过程中存在的错误、毛病等各种问题
  • (从产品外部看)系统所需要实现的某种功能的失效或违背
  • 表现形式
  • (1) 软件没有实现产品规格说明所要求的功能模块
  • (2) 软件中出现了产品规格说明指明不应该出现的错误
  • (3) 软件实现了产品规格说明没有提到的功能模块
  • (4) 软件没有实现虽然产品规格说明没有明确提及但应该实现的目标
  • (5) 软件难以理解,不容易使用,运行缓慢,或从测试员的角度看,最终用户会认为不好
  • 等级
  • 致命级:系统崩溃、死机、死循环,导致数据库数据丢失,与数据库连接错误,主要功能丧失,基本模块缺失等
  • 严重级:系统主要功能部分丧失,数据库调用错误,用户数据丢失,以及功能菜单不能使用但是不影响其他功能的测试。功能设计与需求严重不符,模块无法启动或调用,程序重启,自动退出,关联程序间调用冲突,安全问题,稳定性,等等
  • 一般级:功能没有完全实现但不影响使用,如次要功能丧失、提示信息不准确、用户界面差、操作时间长等
  • 建议级:处理测试人员提出对产品特性改进的各种建议或质疑,这类问题不影响操作功能的执行。如界面格式不规范、描述不清楚、提示语丢失、文字排列不整齐、光标位置不正确、用户体验感受不好等。

《软件测试基本概念》

  • 软件测试就是为了发现错误而执行程序或系统的过程
  • 软件测试的最终目的是检验实际的软件系统是否符合用户的需求
  • 软件包括程序、数据和文档
  • 软件测试贯穿于整个软件生命周期中
  • 需求分析 ——> 需求规格说明(检查要点:不可修改性、充分性、相似性;完整性不属于)
  • 概要设计 ——> 概要设计规格说明
  • 详细设计 ——> 详细设计规格说明
  • 程序编码 ——> 源程序

《软件测试原则》

  • 不可能进行完全测试
  • 软件测试具有风险的行为
  • 测试无法显示潜伏的软件缺陷
  • 充分注意软件缺陷的群集现象
  • 要避免软件测试的杀虫剂现象(必须不断编写不同的新测试程序,对程序的不同部分进行测试)
  • 并非所有的软件缺陷都能修复(根据风险决定修复与不修复)
  • 尽早地和不断地进行软件测试(需求分析和设计占64%,代码编写错误占36%)

《软件测试过程模型》

  • 常见的:V模型(最具代表意义)、W模型、H模型、X模型
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

《软件测试分类》

  • 按开发阶段划分
  • 单元测试(模块测试):对软件中最小可测试单元进行检查
  • 集成测试(组装测试)
  • 系统测试
  • 目的:对最终软件系统进行全面的测试,确保最终软件系统满足产品需求并且遵循系统设计
  • 在系统测试中,测试人员主要根据需求规格说明书设计测试用例
  • 验收测试:由用户参加,在开发环境下进行的测试
  • 按测试技术划分
  • 白盒测试(结构性测试 / 逻辑驱动测试):确定测试数据应根据程序的内部逻辑和指定的覆盖标准
  • 黑盒测试(功能性测试 / 数据驱动测试):通过分析软件的功能 / 需求来设计测试用例的
  • 灰盒测试
  • 区分白盒测试和黑盒测试的依据:是否能看到被测试源程序
  • 按被测软件是否实际运行划分
  • 静态测试(代码检查、静态结构分析、代码质量度量)
  • 动态测试(输入测试):贯穿于软件产品开发过程及生命周期的每个阶段
  • 按测试实施组织划分
  • 开发方测试(验证测试 / α测试 / alpha测试):由用户参加,在开发环境下进行的测试
  • 用户测试(β测试 / beta测试):用户的使用性测试;在用户的环境下,用户参与的测试
  • 第三方测试(独立测试):介于软件开发和用户方之间的测试组织的测试

在这里插入图片描述

  1. 什么是软件测试?软件测试的目的是什么?

软件测试是一种评估系统或系统组件的过程,目的是找出是否满足指定的需求。软件测试的目的是发现软件中的错误,以便在软件发布之前修复这些错误

  1. 软件测试的基本原则是有哪些?

测试应该开始于软件生命周期的早期;
测试应该是独立的;
测试是有风险的行为;
测试应该计划和控制;
测试的目的是发现错误等

  1. 软件测试有什么局限性?

测试不能保证软件完全没有错误;
测试只能检查已经实现的功能,不能检查未实现的功能;
测试是一种有风险的行为,需要根据风险进行管理等

  1. .常见的软件测试过程模型有哪些?

瀑布模型、V模型、W模型、H模型、X模型、螺旋模型等

  1. 谈谈你对软件测试重要性的理解

软件测试的重要性在于:它可以帮助我们发现软件中的错误,提高软件的质量,降低软件的风险,提高用户的满意度

  1. 软件测试与软件质量的关系

软件测试与软件质量的关系:软件测试是评估和提高软件质量的重要手段。通过软件测试,我们可以发现和修复软件中的错误,从而提高软件的质量

  1. 基本测试过程有哪些步骤

需求分析 ——> 编写测试计划 ——> 提取测试需求 ——> 设计测试用例 ——> 执行测试

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

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

相关文章

[ffmpeg系列 03] 文件、流地址(视频)解码为YUV

一 代码 ffmpeg版本5.1.2,dll是:ffmpeg-5.1.2-full_build-shared。x64的。 文件、流地址对使用者来说是一样。 流地址(RTMP、HTTP-FLV、RTSP等):信令完成后,才进行音视频传输。信令包括音视频格式、参数等协商。 接流的在实际…

day10 用栈实现队列 用队列实现栈

题目1:232 用栈实现队列 题目链接:232 用栈实现队列 题意 用两个栈实现先入先出队列(一个入栈,一个出栈),实现如下功能: 1)push:将元素x推到队列末尾 2)…

MyBatisPlus-基本配置与常见应用

MyBatisPlus 一、快速入门 MyBatis Plus是基于MyBatis的增强工具,提供了更简单、更便捷的方式来操作数据库。它是一个功能丰富的ORM(对象关系映射)框架,可以帮助开发人员更快速地进行数据库操作。 MyBatis Plus的主要特点如下&…

【知识点】:ECMAScript简介及特性

一.简介 什么是ECMAScript? ECMAScript是由网景的布兰登艾奇开发的一种脚本语言的标准化规范;最初命名为Mocha,后来改名为LiveScript,最后重命名为JavaScript。1995年12月,升阳与网景联合发表了JavaScript。1996年11月…

华为HarmonyOS 创建第一个鸿蒙应用 运行Hello World

使用DevEco Studio创建第一个项目 Hello World 1.创建项目 创建第一个项目,命名为HelloWorld,点击Finish 选择Empty Ability模板,点击Next Hello World 项目已经成功创建,接来下看看效果 2.预览 Hello World 点击右侧的预…

K8s-应用数据

应用数据 1 应用数据解析 k8s应用数据类型和步骤解析 k8s如何使用数据功能 k8s使用各种数据类型的配置 2 应用数据实践 emptyDir实践 资源对象文件内容 apiVersion: v1 kind: Pod metadata:name: sswang-emptydir spec:containers:- name: nginx-webimage: kubernetes-reg…

操作系统内存碎片

大家好,我叫徐锦桐,个人博客地址为www.xujintong.com,github地址为https://github.com/jintongxu。平时记录一下学习计算机过程中获取的知识,还有日常折腾的经验,欢迎大家访问。 一、前言 内存碎片是指无法被利用的内…

C# 关于反射的简单示例

写在前面 在日常开发中,我们经常使用反射来动态获取关于类的信息,或者是动态给类实例成员赋值;反射提供了封装程序集、模块和类型的对象(Type 类型)。可以使用反射动态创建类型的实例,将类型绑定到现有对象…

关闭stp环路的实验演示

在日常的网络规划设计中,为了提高网络的可靠性,通常会采取链路冗余,但是会导致网络中形成环路。有的小伙伴就会发问了,明明增加了链路,网络的可靠性不仅没有提高,怎么反而导致了通信异常呢? 拓…

如何使用csdn中的c知道进行学习?

1.c知道 猜测是通过chatgpt训练链接到CSDN内部的文章内容等,进行生成的一款应用。 2.如何使用呢 打比方说,我想学习下多目标跟踪中的ukf,那么就可以输入这个关键字。 那既然是学习,就要进一步深究,有三种方式&#…

nacos server控制台打开页面空白

总结一下最近遇到的一个纠结很久的坑;通过docker的方式部署nacos server在服务器,部署启动一切正常,然后通过safari浏览器打开控制台的时候页面空白,只有一个标题;打开控制台报错:Failed to load resource:…

纳什议价解

纳什议价解 局中人在网络中所处的位置决定了他们的议价权,并最终导致不同的局中人在博弈中所获得的收益大小不同。下图给出了A、B、 C、D 四人参加网络交换博弈的一个稳定结局,其中粗线相连的节点之间达成交换,交换所得效益标记在了节点上方…

docker 安装elasticsearch、kibana、cerebro、logstash

安装步骤 第一步安装 docker 第二步 拉取elasticsearch、kibana、cerebro、logstash 镜像 docker pull docker.elastic.co/elasticsearch/elasticsearch:7.10.2 docker pull docker.elastic.co/kibana/kibana:7.10.2 docker pull lmenezes/cerebro:latest docker pull l…

【SpringCloud Alibaba笔记】(2)Sentinel实现熔断与限流

Sentinel 概述 官网:https://github.com/alibaba/Sentinel 中文文档:https://sentinelguard.io/zh-cn/docs/introduction.html 类似Hystrix,以流量为切入点,从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热…

JVM中虚拟机栈和本地方法栈等

jvm Java虚拟机栈本地方法栈 Java虚拟机栈 Java虚拟机栈(VM Stack) ​ 虚拟机栈是线程执行Java程序时,处理Java方法中内容的内存区域。虚拟机栈也是线程私有的区域,每个Java方法被调用的时候,都会在虚拟机栈中创建出…

实战-docker方式给自己网站部署prometheus监控ecs资源使用情况-2024.1.7(测试成功)

title: 实战-docker方式给自己网站部署prometheus监控ecs资源使用情况-2024.1.7(测试成功) date: 2024-1-7 categories: linux tags: promtheues summary: prometheusgrafana 更新于:2024年1月7日 实战-docker方式给自己网站部署prometheus监控ecs资源使用情况-2024…

二叉树与堆的深度解析:数据结构中的关键概念及应用

. 个人主页:晓风飞 专栏:数据结构|Linux|C语言 路漫漫其修远兮,吾将上下而求索 文章目录 前言树概念注意: 树的基本概念及术语基本概念及术语以家谱为例 树的表示孩子兄弟表示法简介优势应用示例 树在实际中的运用文件系统的目录树…

【Maven笔记3】Maven基础入门案例

本篇通过一个最基础的入门案例,熟悉一下maven最基础的使用方法。 编写POM maven项目的核心是pom.xml文件,pom定义了项目的基本信息,用于描述项目如何构建,声明项目依赖等等。 这里我们新建一个maven-demo-hello项目,…

VS Code结合Live Server插件快速搭建小游戏并发布至公网可随时远程访问

文章目录 前言1. 编写MENJA小游戏2. 安装cpolar内网穿透3. 配置MENJA小游戏公网访问地址4. 实现公网访问MENJA小游戏5. 固定MENJA小游戏公网地址 前言 本篇教程,我们将通过VS Code实现远程开发MENJA小游戏,并通过cpolar内网穿透发布到公网,分…

黑莓系统的安全性如何?

黑莓系统的安全性非常高! 在过去很长一段时间里,都被认为是手机市场上最安全的操作系统。这主要得益于黑莓在安全性方面的重视和投入。 (在世界上最安全的 6 款手机排名中,iPhone未能入围) 世界上最安全的 6 款手机&…