软件测试(黑皮书)学习一

news2024/12/29 9:05:50

第一部分 软件测试综述

第一章 软件测试背景

1.1软件缺陷(software bug)

软件失败的术语

  • 故障(fault)失败(failure) 缺点(defect) ------严重、危险
  • 异常(anomaly) 事件(incident) 偏差(variance) ------未按预料运行
  • 问题(problem) 错误(error) 缺陷(bug) ------常用
  • 矛盾(inconsistent) 特殊(feature)

满足下列5个条件之一才称发生了一个软件缺陷

  • 软件未实现产品说明书要求的功能
  • 软件出现了产品说明书指明不应该出现的错误
  • 软件实现了产品说明书未提到的功能
  • 产品未实现产品说明书虽未明确提及但应该实现的目标
  • 软件难以理解、不易使用、运行缓慢或者——从测试员的角度看——最终用户会认为不好
    并非所有测试发现的缺陷都要修改

1.2为什么会出现软件缺陷

导致软件缺陷的最大原因是产品说明书
软件缺陷产生的原因
(理解需求、善于沟通、勤于沟通)

1.3软件测试员的目的

软件测试员的目标是尽可能早地找出软件缺陷,并确保其得以修复
注意:“修复”缺陷并非指一定要改正软件。不要在无法达到的完美上纠结和兜圈子。

第二章 软件开发的过程

2.1产品的组成部分

2.1.1软件产品需要多少投入

  • 客户需求
  • 产品说明书
  • 进度表
  • 软件设计文档(程序员)
  • 测试文档(测试员)
测试提交清单
测试计划
测试用例
缺陷报告
测试工具和自动测试
度量、统计和总结

2.1.2软件产品由哪些部分组成

-帮助文件 -用户手册
-样本和示例 -标签和不干胶
-产品支持信息 -图标和标志
-错误信息 -广告和宣传材料
-安装 -说明文件

别忘了测试错误提示信息

2.3软件开发生命周期模式

  • 大爆炸式
  • 边写边改模式
  • 瀑布模式(无法回溯)(无法紧跟市场变化,缺乏灵活性)(测试对象非常明确)
  • 螺旋模式(通过参与最初的设计阶段,可以尽早的影响到产品)

第三章 软件测试的实质

(了解软件测试的作用、影响和责任)

3.1测试的原则

3.1.1完全测试程序是不可能的

不完全测试:
如果觉得某些测试条件是重复的,无必要的,或者为了节省空间,而将其剔除,那么采用的就是不完全测试

主要原因:

  • 输入量太大
  • 输出结果太多
  • 软件执行路径太多
  • 软件说明书是主观的

3.1.2软件测试是有风险的行为

最优测试量
软件测试员要学会的一个关键思想是,如何把数量巨大的可能测试减少到可以控制的范围,以及如何针对风险做出明智的选择,那些测试重要,那些不重要

3.1.3测试无法显示的潜伏的软件缺陷

可以进行测试,发现并报告软件软件缺陷,但是任何情况下都不能保证软件缺陷没有了。唯一的方法继续测试

3.1.4找到的软件缺陷越多,就说明软件缺陷越多

往往发现一个缺陷后,就会发现附近可能也存在一些缺陷

3.1.5杀虫剂怪事

不要总是使用同一个测试方法或测试软件进行测试,因为软件缺陷可能对这种测试方式免疫了

3.1.6并非所有的软件缺陷都要修复

进行良好的判断,搞清楚在什么情况下不能追求完美

  • 没有足够的时间
  • 不算真正的软件缺陷
  • 修复风险大
  • 不值得修复(需要谨慎判断是否值得修复)
    3.1.7什么时候才叫缺陷难以说清
    3.1.8产品说明书从没有最终版
    3.1.9软件测试员在产品小组中不受欢迎
    3.1.10软件测试是一项讲究条例的技术专业

3.2软件测试的术语和介绍

3.2.1精确和准确

在这里插入图片描述

3.2.2 确认和验证

确认是保证软件符合产品说明书的过程;验证是保证软件满足用户要求的过程。

3.2.3 质量和可靠性

可靠性仅仅是质量的一个方面。
软件使用者心目中的质量可能包括:软件功能的多少、在自己的旧PC上运行的能力、软件公司的服务电话好不好打以及软件的价格。产品的可靠性或者产品多长时间崩溃的问题也许重要,但常常不被考虑到。

3.2.4 测试和质量保证(Quality Assurance,QA)

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

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

相关文章

STEP/STP模型文件在线查看【3D CAD】

STEP 文件(正式称为 ISO 10303)是 3D 模型的流行文件格式。 该格式名称中的字母代表“产品数据交换标准”。 这种文件格式是由 ISO 自动化系统和集成技术委员会(称为 TC 184)于 20 世纪 80 年代中期开发的。STEP 格式的创建是为了…

java.lang.Long cannot be cast to java.lang.Integer解决

出错代码:接收泛型指定是Integer 但是在接测试中 频频抛出java.lang.Long cannot be cast to java.lang.Integer异常,debug 发现Map中的参数确实是Long类型的。 解决办法: 使用父类的Number接收,在使用intValue()方法转成int 原因分析&#…

恒运资本:机构持仓比例多少是重仓?

组织投资者关于股票商场的影响越来越大,其持股份额已成为点评一只股票好坏的重要目标之一。但组织持仓份额究竟多少才算是重仓呢?这涉及到许多要素,让我们从多个视点进行剖析。 1.不同组织的界说不同 首要需求注意的是,不同的组织…

OpenCV-Python中的图像处理-图像特征

OpenCV-Python中的图像处理-图像特征 图像特征Harris角点检测亚像素级精度的角点检测Shi-Tomasi角点检测SIFT(Scale-Invariant Feature Transfrom)SURF(Speeded-Up Robust Features)FAST算法BRIEF(Binary Robust Independent Elementary Features)算法ORB (Oriented FAST and R…

网络综合布线实训室建设方案

一、网络综合布线系统概述 网络综合布线系统是为了满足数据通信需求而设计和建立的一套基础设施。它提供了数据传输、信号传输和电力供应的基础结构,支持各种网络设备和终端设备之间的连接。 网络综合布线系统通常包括以下组成部分: 1) 数据…

Element:input输入框远程搜索返回输入建议的代码详解

文章目录 1 原始代码2 代码详解3 添加注释后的代码&#xff1a;4 createStateFilter方法中0代表什么&#xff1f;5 包含即返回建议值 1 原始代码 官网链接&#xff1a;https://element.eleme.cn/#/zh-CN/component/input 官网代码&#xff1a; <template><el-autoc…

Betty核心源码解析(二)--ServerBootstrap启动过程

serverbootstrap用于建立netty服务端&#xff0c;核心逻辑-- 设置线程池-- bossGroup和workGroup设置accept连接handler定义服务器的色弱v儿serversocketchannel实现设置IO读写的业务逻辑相关childHanlder绑定监听端口-- 创建serversocketchannel对象初始化serversocketchanne…

​ Spring Clould 配置中心 - Nacos

视频地址&#xff1a;微服务&#xff08;SpringCloudRabbitMQDockerRedis搜索分布式&#xff09; Nacos配置管理-Nacos实现配置管理&#xff08;P24、P25&#xff09; Nacos除了可以做注册中心&#xff0c;同样可以做配置管理来使用。 当微服务部署的实例越来越多&#xff0c…

java练习4.快速查找

题目: 数组 arr[6,1,3,7,9,8,5,4,2],用快速排序进行升序排序. import java.util.Random;public class recursionDemo {public static void main(String[] args) {/*快速排序:* 第一轮:以0索引为基准数,确定基准数在数组正确的位置,* 比基准数小的放到左边,比基准数大的放在右边…

Python数据分析实战-*和**实现可变多参数的传入或变量的拆解(附源码和实现效果)

实现功能 *和**实现多参数的传入或变量的拆解 实现代码 # 1、实现多参数的传入 def one(a,*b):"""a是一个普通传入参数&#xff0c;*b是一个非关键字星号参数"""print(b) one(1,2,3,4,5,6) 其中&#xff0c;第一个的输入可以理解为&#xff1a…

记一次微信小游戏渗透测试

本文转载于&#xff1a;https://www.freebuf.com/vuls/371936.html 准备工作 因为目标站点只能用微信打开&#xff0c;微信又不能调试看代码。这里推荐可以使用pc端旧版微信3.2.1&#xff0c;具体方法放链接里&#xff1a; https://blog.csdn.net/qq_45863248/article/details/…

(7)(7.3) 自动任务中的相机控制

文章目录 前言 7.3.1 概述 7.3.2 自动任务类型 7.3.3 创建合成图像 前言 本文介绍 ArduPilot 的相机和云台命令&#xff0c;并说明如何在 Mission Planner 中使用这些命令来定义相机勘测任务。这些说明假定已经连接并配置了相机触发器和云台(camera trigger and gimbal hav…

批量爬虫采集大数据的技巧和策略分享

作为一名专业的爬虫程序员&#xff0c;今天主要要和大家分享一些技巧和策略&#xff0c;帮助你在批量爬虫采集大数据时更高效、更顺利。批量爬虫采集大数据可能会遇到一些挑战&#xff0c;但只要我们掌握一些技巧&#xff0c;制定一些有效的策略&#xff0c;我们就能在数据采集…

【设计模式】订单状态流传中的状态机与状态模式

文章目录 1. 前言2.状态模式2.1.订单状态流转案例2.1.1.状态枚举定义2.1.2.状态接口与实现2.1.3.状态机2.1.4.测试 2.2.退款状态的拓展2.2.1.代码拓展2.2.2.测试 2.3.小结 3.总结 1. 前言 状态模式一般是用在对象内部的状态流转场景中&#xff0c;用来实现状态机。 什么是状态…

Lnton羚通关于PyTorch的保存和加载模型基础知识

SAVE AND LOAD THE MODEL (保存和加载模型) PyTorch 模型存储学习到的参数在内部状态字典中&#xff0c;称为 state_dict, 他们的持久化通过 torch.save 方法。 model models.shufflenet_v2_x0_5(pretrainedTrue) torch.save(model, "../../data/ShuffleNetV2_X0.5.pth…

如何在前端实现WebSocket发送和接收TCP消息(多线程模式)

目录 第一步&#xff1a;创建WebSocket连接第二步&#xff1a;监听WebSocket事件第三步&#xff1a;发送消息第四步&#xff1a;后端处理函数说明 当在前端实现WebSocket发送和接收TCP消息时&#xff0c;可以使用以下步骤来实现多线程模式。本文将详细介绍如何在前端实现WebSoc…

DDT数据驱动+Pytest+Allure+自定义代码封装

DDT数据驱动PytestAllure自定义代码封装 CASE --判断运行--单文件去进行运行 CASE --判断 运行–单文件去进行运行 一次性运行多个case——Pytest 1.前置条件&#xff1a; pip install pytest 2.Pytest——脚手架——可以站在它的身上做一系列的事情 3.规则的遵守 4.test_开头…

传感网应用开发实训室建设方案

传感网应用开发实训室概述 物联网是我国战略性新兴产业的重要组成部分&#xff0c;《物联网“十二五”发展规划》圈定了10大领域重点示范工程&#xff0c;第一个关键技术创新工程提出“充分发挥企业主体作用&#xff0c;积极利用高校和研究所实验室的现有研究成果&#xff0c;在…

springBoot 配置文件引入 redis 的相关参数说明

在Spring Boot应用中使用Redis作为缓存或数据存储时&#xff0c;可以在应用的配置文件中配置相关参数。下面是常用的Redis配置参数及其说明&#xff1a; spring.redis.host: Redis服务器主机地址&#xff0c;默认为localhost。spring.redis.port: Redis服务器端口&#xff0c;…

游戏工作室如何使用代理服务器防封

嘿&#xff0c;各位游戏工作室的小伙伴们&#xff01;作为一名专业的程序员&#xff0c;我今天要和大家分享一个有关代理服务器的技巧&#xff0c;这个技巧可以帮助你们解决封号和封禁的问题。 首先&#xff0c;我们得明白为什么要使用代理服务器来解决封号和封禁的问题。在我们…