当前位置: 首页 > news >正文

软件测试基础教程学习1

文章目录

  • 软件测试概述
    • 1.1 什么是软件测试
    • 1.2 软件测试的目的
    • 1.3 对软件测试的理解
    • 1.4 软件测试的原则
    • 1.5 测试人员的职责
    • 1.6 测试人员的素质要求

软件测试概述

1.1 什么是软件测试

1)软件测试要发现软件的错误。
2)软件测试最终要以软件满足用户需求为目标。

1.2 软件测试的目的

软件测试最直接的目的是发现软件中的缺陷,包括需求、设计方面的缺陷和程序中包含的缺陷(bug)。

  • 缺陷,它可以指软件功能的错误,也可以指性能低下、易用性差以及其他软件产品中的缺陷等。
    软件测试最终的目的是检查软件是否满足用户的需求,其中包括用户的隐含需求和潜在需求。只有满足用户需求的软件才能成为“好”的软件产品,才能得到用户的认可和好评。

Glen Myers 曾提出关于测试目标的规则:
1)测试是一个为了寻找错误而运行程序的过程。
2)一个好的测试用例是指尽可能找到迄今为止尚未发现的错误的用例。
3)一个成功的测试是指揭示了迄今为止尚未发现的错误的测试。
以上3条规则表明了两种涵义:== 一是软件测试的直接目的,即发现软件中的错误;二是测试工作的职责就是要发现软件中的错误==。

1.3 对软件测试的理解

  1. 软件测试工作要贯穿于整个软件产品的生命周期。
  2. 软件测试本身不能确保软件质量,但它却是保证软件质量的重要而关键的技术手段,因为软件经过测试后,质量一般都有提升。
  3. 软件发布后出现了问题,尤其是遭到用户的抱怨或投诉,测试人员一般负有一定的责任,但是软件测试并不能100%地发现软件中存在的所有缺陷。高质量的软件是开发出来的,并不是测试出来的。
  4. 测试工作具有很高的开拓性和创新性。
  5. 软件测试对软件开发是有建设性意义的。
  6. 软件测试与调试的区别:

1)目的。软件测试的目的是尽可能地发现程序中的错误,而调试的目的是确定错误的原因和位置,并改正错误,调试也被称为纠错。
2)工作性质。测试是测试人员针对被测软件产品执行的检查和确认,属于测试范畴;而调试是开发人员在发现程序中的BUG后开始的发现和改正BUG的工作,属于开发范畴。
3)内容与方法。测试是按照计划执行的,需要测试计划、设计开发、测试执行和测试评估等阶段;而调试只是针对程序中出现BUG的开发工作,是“BUG驱动”类型的工作。

1.4 软件测试的原则

  1. 测试技术和策略方面
  • 测试工作要尽可能地找出关键性的错误,因为这些错误很可能会限制用户使用此件产品完成工作的能力,从而直接影响客户对质量的评价。
  • 100%测试覆盖率。
  • 所有的测试都应追溯到用户需求。
  • 应当尽早地、不断地进行软件测试。
  • 总假定程序是由错误的。
  • 彻底检查和仔细分析每一个测试结果。
  • 不断提高测试策略和技巧。
  1. 测试管理方面
  • 测试必须是有计划、有组织、有准备的,其中包括:确定测试任务、时间、人员职责及分工、资源设备、方法与工具、输入和输出准则等。
  • 严格执行测试计划并及时进行修订。
  • 有效的BUG跟踪和管理。
  • 由独立的第三方来完成测试工作。

好的测试5个属性:

  • 发现错误的可能性很高。
  • 不冗余。
  • 是“最佳品种”。
  • 不会太简单,也不会太复杂。
  • 揭示了迄今为止尚未发现的错误。

1.5 测试人员的职责

  1. 测试经理和测试主管的职责
    1)招聘合适的测试人员。
    2)建立测试技术模型和培训机制。
    3)定期与测试人员进行正式交谈。
    4)对员工工作的充分信任。
    5)以员工期待的方式善待员工。
    6)评价实事求是、以事论事。
    7)规划和开展测试管理工作。
  2. 测试工程师的职责
    1)制定测试计划。
    2)设计与编写测试用例。
    3)实施测试。
    4)BUG跟踪。
    5)测试总结与报告。
    6)其他软件工程活动,包括需求、概要设计的同行评审、项目会议以及相关产品的确认和验证活动。

1.6 测试人员的素质要求

  1. 测试人员的技术素质要求
    1)软件开发技术。
    2)软件测试技术。
    3)软件工程方面的能力。
    4)行业知识。
  2. 测试人员的非技术素质要求
    1)沟通能力。
    2)移情能力。
    3)自信心。
    4)幽默感。
    5)外交能力。
    6)超强的记忆力。
    7)足够的耐心。
    8)怀疑精神。
    9)自我督促。
    10)洞察力。

相关文章:

软件测试基础教程学习1

文章目录 软件测试概述1.1 什么是软件测试1.2 软件测试的目的1.3 对软件测试的理解1.4 软件测试的原则1.5 测试人员的职责1.6 测试人员的素质要求 软件测试概述 1.1 什么是软件测试 1)软件测试要发现软件的错误。 2)软件测试最终要以软件满足用户需求为…...

浅谈一下@Async和SpringSecurityContext可能会遇到的问题和解决方案

Async和SpringSecurityContext 场景回溯 在执行一个用时较长的批量插入业务的时候,我尝试使用Async异步对业务进行优化,但是却给我报了空指针的错误,定位之后发现 此处我是基于SpringSecurity来获取用户的 是currentUserService获取到的当前登陆用户为空导致的,但是当前确实是…...

VUE常见面试题

1.为什么要使用Vue? 答:Vue是一款优秀的前端框架,它可以帮助我们快速构建高效、可复用、易维护的Web应用程序,并提供了丰富的API和生态系统。 2. Vue有哪些生命周期钩子函数? 答:Vue有8个生命周期钩子函…...

字符串匹配算法--KMP算法--BM算法

该算法解决的是字符串匹配问题,即查看字符串中是否含有完整的匹配字符串。如在java的string的contains方法匹配问题最简单的就是暴力破解了。在java的contains也是这么实现的,效率是低一点的。如果想要更快的速度可以自己写KMP算法。 代码实现体验 Knut…...

swagger的简单介绍

目录 swagger是什么? swagger有什么用? Swagger包含的工具集: swagger的使用步骤: swagger的相关注解: Docket的源码 了解swagger的作用和概念了解前后端分离在SpringBoot中集成Swagger swagger是什么?…...

HNU-电路与电子学-小班3

第三次讨论 1 、直接用晶体管而不是逻辑门实现异或门,并解释这个电路是如何工作的。 (6个 MOS 管构成) 2 、通信双方约定采用 7 位海明码进行数据传输。请为发送方设计海明码校验位 生成电路,采用功能块和逻辑门为接收方设计海…...

[机缘参悟-98] :层次不同、维度不同、视角不同、结论不同

目录 全局VS具备, 总体V部分 认知的六个认知层次: 认知的六个立体化维度: 0、维空间,点思维 1、一维空间,直线思维 2、二维空间,平面思维 3、三维空间:立体思维。 4、四维空间&#xff…...

chatgpt-web发布之docker打包流程

docker打包流程 1、使用docker前置准备: 电脑下载docker桌面版,以及开启虚拟机步骤:https://blog.csdn.net/qq_34905631/article/details/126573826下载docker桌面版 :https://docs.docker.com/desktop/install/windows-install…...

动态优化会议地点

前言 在现在快节奏的工作节奏下,大家的活动范围越来越广,但是出行成本也相应提高。在集体会面的时候,如何选择合适的地点成为了一个棘手的问题。本文将介绍如何通过动态优化选择会议地点,以达到平均交通成本最低的目标。 动态优化…...

Golang每日一练(leetDay0076) 第k大元素、组合总和III

目录 215. 数组中的第K个最大元素 Kth-largest-element-in-an-array 🌟🌟 216. 组合总和 III Combination Sum iii 🌟🌟 🌟 每日一练刷题专栏 🌟 Rust每日一练 专栏 Golang每日一练 专栏 Python每日…...

可节省60% MCU开发成本的NV080D-S8,单片机语音芯片在恒温碗上的应用

社会在不断进步,科技在不断发展,如今的恒温碗不仅带有温度显示功能,更附带有语音播报,能更好地知晓当前饭菜,变凉或过烫的情况,有效避免伤害宝宝脆弱的肠胃; 广州九芯电子推出了一款&#xff0c…...

Java并发常见面试题

参考:javauide、程序员大斌、面试宝典 1.并发与并行的区别 并发:两个及两个以上的作业在同一 时间段 内执行。并行:两个及两个以上的作业在同一 时刻 执行。2.同步和异步的区别 同步:发出一个调用之后,在没有得到结果之前, 该调用就不可以返回,一直等待。异步:调用在发…...

基于vue3+pinia2仿ChatGPT聊天实例|vite4.x仿chatgpt界面

使用vue3pinia2开发仿制chatgpt界面聊天实例Vue3-Chatgpt 基于Vue3.xPinia2VueRouterVue3-Markdown等技术构建仿ChatGPT网页端聊天程序。支持经典分栏界面布局、light/dark模式、全屏半屏显示、Markdown语法解析、侧边栏隐藏等功能。 技术框架 编辑工具:Cursor框架…...

JDK动态代理和CGLIB动态代理

JDK动态代理和CGLIB动态代理 JDK动态代理和CGLIB动态代理 JDK动态代理和CGLIB动态代理 ① JDK动态代理只提供接口的代理,不支持类的代理,要求被代理类实现接口。JDK动态代理的核心是InvocationHandler接口和Proxy类,在获取代理对象时&#x…...

Jetpack Hilt 框架的基本使用

什么是 Hilt? Hilt 是一个功能强大、用法简单的依赖注入框架,于 2020 年加入到 Jetpack 家族中。它是 Android 团队联系了 Dagger2 团队,一起开发出来的一个专门面向 Android 的依赖注入框架。相比于 Dagger2,Hilt 最明显的特征就…...

exec()在不同namespace执行结果的区别

记录一个很tricky的问题,下面这段code在执行func1时会出现NameError: name List is not defined,但执行func2时一切正常。 import typescontent """ from typing import Listclass GeneratedData:qna: List"""def func1…...

人工智能革命中的22个隐藏职业:推动科技行业的变革

作者 | Manas Sadangi 随着人工智能技术的不断发展,它正在创造一系列前所未有的就业机会。虽然数据科学家、机器学习工程师和人工智能研究人员等传统的人工智能角色得到了广泛认可,但在推动科技行业变革方面,还有一些鲜为人知的职业同样重要。…...

算法题3 — 求字符串中的最长子串

文章目录 题目示例示例1示例2示例3 解题解法1解法2 leetcode 题目 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 示例 示例1 输入: s “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。 示例…...

【FreeRTOS】——中断优先级设置中断相关寄存器临界段代码保护调度器挂起与恢复

目录 前言: 一、中断优先级设置 二、中断相关寄存器(STM32-Cortex M3) 三、临界段代码保护 四、任务调度器的挂起和恢复 总结: 前言: 博客笔记根据正点原子视频教程编辑,仅供学习交流使用&#xff0…...

1.2 什么是eBPF?(下)

四,eBPF的优势 4.1 eBPF程序的动态加载 eBPF程序可以动态地加载到内核中,或从内核中删除。这个要与内核模块的加载与卸载区分开来。这里顺便讨论下eBPF程序与内核模块的区别,如下: 而Linux内核模块是面向内核API编程的,可以直接运行在内核当中。eBPF程序是面向BPF体系结构…...

中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试

作者:Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位:中南大学地球科学与信息物理学院论文标题:BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接:https://arxiv.…...

【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表

1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...

DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI

前一阵子在百度 AI 开发者大会上,看到基于小智 AI DIY 玩具的演示,感觉有点意思,想着自己也来试试。 如果只是想烧录现成的固件,乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外,还提供了基于网页版的 ESP LA…...

管理学院权限管理系统开发总结

文章目录 🎓 管理学院权限管理系统开发总结 - 现代化Web应用实践之路📝 项目概述🏗️ 技术架构设计后端技术栈前端技术栈 💡 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 🗄️ 数据库设…...

网站指纹识别

网站指纹识别 网站的最基本组成:服务器(操作系统)、中间件(web容器)、脚本语言、数据厍 为什么要了解这些?举个例子:发现了一个文件读取漏洞,我们需要读/etc/passwd,如…...

打手机检测算法AI智能分析网关V4守护公共/工业/医疗等多场景安全应用

一、方案背景​ 在现代生产与生活场景中,如工厂高危作业区、医院手术室、公共场景等,人员违规打手机的行为潜藏着巨大风险。传统依靠人工巡查的监管方式,存在效率低、覆盖面不足、判断主观性强等问题,难以满足对人员打手机行为精…...

作为测试我们应该关注redis哪些方面

1、功能测试 数据结构操作:验证字符串、列表、哈希、集合和有序的基本操作是否正确 持久化:测试aof和aof持久化机制,确保数据在开启后正确恢复。 事务:检查事务的原子性和回滚机制。 发布订阅:确保消息正确传递。 2、性…...

python爬虫——气象数据爬取

一、导入库与全局配置 python 运行 import json import datetime import time import requests from sqlalchemy import create_engine import csv import pandas as pd作用: 引入数据解析、网络请求、时间处理、数据库操作等所需库。requests:发送 …...

Ubuntu Cursor升级成v1.0

0. 当前版本低 使用当前 Cursor v0.50时 GitHub Copilot Chat 打不开,快捷键也不好用,当看到 Cursor 升级后,还是蛮高兴的 1. 下载 Cursor 下载地址:https://www.cursor.com/cn/downloads 点击下载 Linux (x64) ,…...

OCR MLLM Evaluation

为什么需要评测体系?——背景与矛盾 ​​ 能干的事:​​ 看清楚发票、身份证上的字(准确率>90%),速度飞快(眨眼间完成)。​​干不了的事:​​ 碰到复杂表格(合并单元…...