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

第一部分 软件测试综述

第一章 软件测试背景

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)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于 Alpine 环境源码构建 alibaba-tengine(阿里巴巴)的 Docker 镜像

About Alpine(简介) Alpine Linux 是一款极其轻量级的 Linux 发行版,基于 busybox,多被当做 Docker 镜像的底包(基础镜像),在使用容器时或多或少都会接触到此系统,本篇文章我们以该镜…

【Go语言】基于Socket编程的P2P通信程序示例

Go语言的Socket编程实现为开发者提供了一种高效且强大的方式来实现网络通信。通过Go语言的并发模型和内置的网络库,如net包,开发者可以轻松地创建基于套接字的通信应用。Go语言的goroutine和channel机制使并发处理变得简单,能够轻松处理多个连…

leetcode 125.验证回文串

⭐️ 题目描述 🌟 leetcode链接:https://leetcode.cn/problems/valid-palindrome/ 思路: 这道题只判断字符串中的字母与数字是否是回文。虽然小写大写字母可以互相转换,但是里面是含有数字字符的,所以先统一&#xff…

排序算法合集

F B I W a r n i n g : \color{red}FBI \qquad Warning: FBIWarning: 本人没有完整的计算机科班的教育经历,但是一直在兢兢业业,努力学习。 这些排序函数都是自己零零散散写的,也没有经过深思熟虑和优化,纯粹是为了自娱自乐。 …

node使用高版本的oracledb导致连接oracle的Error: NJS-138异常

异常信息如下 Error: NJS-138: connections to this database server version are not supported by node-oracledb in Thin mode 我的oracle版本是11g,之前的使用正常,今天却报错了,显示不支持thin模式,后面回退版本就可以了。

AWS复制EC2文件到S3,g4dn.2xlarge没有NVIDIA GPU 驱动问题

1、给instances权限 action > Security > modify IAM role 把提前创建好的role给这个instance即可 2、复制到bucket aws s3 cp gogo.tar.gz s3://ee547finalbucket不需要手动安装GPU驱动 如果要自己安装,参考https://docs.aws.amazon.com/AWSEC2/latest/U…

6-模板初步使用

官网: 中文版: 介绍-Jinja2中文文档 英文版: Template Designer Documentation — Jinja Documentation (2.11.x) 模板语法 1. 模板渲染 (1) app.py 准备数据 import jsonfrom flask import Flask,render_templateimport settingsapp Flask(__name__) app.config.from_obj…

C#详解-Contains、StartsWith、EndsWith、Indexof、lastdexof

目录 简介: 过程: 举例1.1 举例1.2 ​ 总结: 简介: 在C#中Contains、StarsWith和EndWith、IndexOf都是字符串函数。 1.Contains函数用于判断一个字符串是否包含指定的子字符串,返回一个布尔值(True或False)。 2.StartsWith函数用于判断一…

wifi高通驱动之WCNSS_qcom_cfg.ini以及MCS、空间流数的学习和记录

一、WCNSS_qcom_cfg.ini 这个文件说是可以调优wifi的带宽,还有MIMO技术 Android Wi-Fi MIMO/SISO设置方法(基于高通平台)_广凯的博客-CSDN博客 不是太了解,先记录一下,个人感觉MCS和MIMO技术最全的应该是下面的网址…

DataLoader PyTorch 主要参数的含义

定义: DataLoader类是一个用于从数据集(dataset)中加载数据,并以迭代器(iterator)的形式返回数据样本(data samples)的工具。您给出的两个字典(dictionary)分…

%f占位符

介绍: %f ,用来输出实数(包括单双精度),以小数形式输出。 通常情况下,当输入的数值或者打印的数值是float类型数据时,使用%f ,当然在精度更高的double数据类型下,也可以…

记忆正则表达式的基本元件

正则常见的三种功能,它们分别是:校验数据的有效性、查找符合要求的文本以及对文本进行切割和替换等操作。 正则表达式,简单地说就是描述字符串的规则。在正则中,普通字符表示的还是原来的意思,比如字符 a,…

Linux下的Shell编程——正则表达式入门(四)

前言: 正则表达式使用单个字符串来描述、匹配一系列符合某个语法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。 在Linux 中,grep,sed,awk 等文本处理工具都支持…

Spring Clould 服务间通信 - Feign

视频地址:微服务(SpringCloudRabbitMQDockerRedis搜索分布式) Feign-基于Feign远程调用(P30) 先来看我们以前利用RestTemplate发起远程调用的代码: 存在下面的问题: 代码可读性差&#xff0c…

在外SSH远程连接macOS服务器

文章目录 前言1. macOS打开远程登录2. 局域网内测试ssh远程3. 公网ssh远程连接macOS3.1 macOS安装配置cpolar3.2 获取ssh隧道公网地址3.3 测试公网ssh远程连接macOS 4. 配置公网固定TCP地址4.1 保留一个固定TCP端口地址4.2 配置固定TCP端口地址 5. 使用固定TCP端口地址ssh远程 …

PSP - 基于开源框架 OpenFold Multimer 蛋白质复合物的结构预测与BugFix

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/132410296 AlphaFold2-Multimer 是一个基于 AlphaFold2 的神经网络模型,可以预测多链蛋白复合物的结构。该模型在训练和推理时都可以处…

Java将PDF文件转为Word文档

Java将PDF文件转为Word文档 一、创建Springboot Maven项目 二、导入依赖信息 <repositories><repository><id>com.e-iceblue</id><url>https://repo.e-iceblue.cn/repository/maven-public/</url></repository></repositories&g…

POSTGRESQL 如何用系统函数来诊断权限问题

开头还是介绍一下群&#xff0c;如果感兴趣polardb ,mongodb ,mysql ,postgresql ,redis 等有问题&#xff0c;有需求都可以加群群内有各大数据库行业大咖&#xff0c;CTO&#xff0c;可以解决你的问题。加群请联系 liuaustin3 &#xff0c;在新加的朋友会分到2群&#xff08;共…

更改计算机睡眠时间

控制面板–>系统和安全–>电源选项下的更改计算机睡眠时间 如果关闭显示器时间小于使计算机进入睡眠状态时间&#xff0c;时间先到达关闭显示器时间&#xff0c;显示器关闭&#xff0c;这时电脑还在正常工作状态。如果此时敲击键盘显示器出现画面&#xff0c;无需输入密…

opencv 进阶15-检测DoG特征并提取SIFT描述符cv2.SIFT_create()

前面我们已经了解了Harris函数来进行角点检测&#xff0c;因为角点的特性&#xff0c;这些角点在图像旋转的时候也可以被检测到。但是&#xff0c;如果我们放大或缩小图像时&#xff0c;就可能会丢失图像的某些部分&#xff0c;甚至有可能增加角点的质量。这种损失的现象需要一…