初级软件测试入门教程
一、软件测试的基本概念
1、软件测试的定义
就是以发现错误为目的而运行程序的过程。
软件测试员的目标是找到软件缺陷,尽可能早一些,并确保其得以修复。
2、软件测试方法总体分类
试图验证软件是“工作的”(所谓“工作的”就是指软件的功能是按照预先的设计执行的)。
设法证明软件是“不工作的”。
两类方法的优劣对比:
虽然软件测试总的目的是为了软件产品的质量,但很明显这两类测试方法在具体目标、或指导思想上截然相反。由此也决定了它们在思路、过程和测重点上有很大的差别,并各有利弊的。
3、软件测试的组成
软件项目是由文档、数据以及程序组成的,所以软件测试应该是对软件开发中形成的文档、数据及程序进行测试,目前很多人认为软件测试就是对程序的测试。
4、软件质量
ISO9126中定义的软件质量是:软件满足规定和潜在用户需求特性的总和;而2001年的软件国际标准中,把软件质量分成了:“内部质量” 、“外部质量” 、‘使用质量‘三个部分。也就是说:软件满足规定和潜在用户需求的能力,要从软件在内部、外部和使用中的表现来衡量。
内部:单元测试、安全性测试等。
外部:系统功能测试、界面测试等。
使用表现:易用性测试、用户体验性测试等。
软件测试零基础入门教程:2023最牛的软件测试零基础系统入门教程,九大项目实战+源码,挑战一个月学完快速入职_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV19v4y1j7No/?spm_id_from=333.999.0.0
5、软件测试与质量保证的区别(QA与Tester区别)
质量保证(QA)是通过预防、检查和改进来保证软件质量,即全面的质量管理与过程改进来开展质量保证工作;软件测试是执行软件,对开发文档和源代码进行走查,以找出问题,报告质量。
6、软件测试的目的
以最少的人力、物力和时间找出软件中潜在的各种错误与缺陷,通过修正各种错误与缺陷提高软件的质量,回避软件发布后由于软件缺陷和错误造成的隐患所带来的风险。
7、软件测试的原则
1)所有的软件测试应该蒴源到用户的需求
2)尽早的将软件测试贯穿到软件开发的全过程中
3)完全测试是不可能,测试需要中止
4)测试无法保证软件中完全没有缺陷
5)充分注意测试中错误集群现象
6)应避免自己检测自己的程序
7)应避免测试的随意性
8、软件测试的分类
按软件开发阶段划分
1)单元测试:又称模块测试,对程序模块进行检验。
2)集成测试:又称组装测试,检验程序单元的接口关系。
3)确认测试:通过检验和提供客观证据,证实软件是否满足特定的预期的用途要求。
4)系统测试:确认系统是否达到目标要求,对集成的硬件,软件系统进行测试。
5)验收测试:按照项目任务书或合同。供需双方约定的验收依据文档进行的整个系统的测试与评审,决定是否接受或拒绝系统。
按测试的实施组织划分
1)开发方测试:又称验证测试,或α测试
2)用户测试:又称β测试
3)第三方测试:又称独立测试
α测试是由一个用户在开发模式下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的测试。α测试的目的是评价软件产品的FLURPS(即功能、局域化、可使用性、可靠性、性能和支持)。尤其注重产品的界面和特色。α测试可以从软件产品编码结束之时开始,或在模块(子系统)测试完成之后开始,也可以在确认测试过程中产品达到一定的稳定和可靠程度之后再开始。
β测试是指软件开发公司组织各方面的典型用户在日常工作中实际使用β版本,并要求用户报告异常情况、提出批评意见,然后软件开发公司再对β版本进行改错和完善
按测试技术划分
1)白盒测试:对内部结构进行分析,检测寻找问题。
2)黑盒测试:通过软件的外部表现来发现缺陷和错误。
3)灰盒测试:介于白盒与黑盒之间,关注输出对输入的正确性;同时也关注内部表现,只通过一些表征性的现象、事件、标志来判断内部的运行状态。
9、测试类型
1)功能测试
功能测试是一个试图发现程序与其外部规格说明之间存在不一致的过程。外部规格说明是一份从最终用户的角度对程序行为的精确描述。测试时按照科学方法设计的测试用例执行测试,在优先保证测试用例执行完全的前提下,再根据对业务的了解和经验性的判断进行探索性测试。
2)界面测试
界面测试简称UI测试,界面为用户与软件交互最直接的层,所以更注重用户的体验性,主要从用户的感官、交互、浏览、情感和体验出发。具体测试用户界面的功能模块布局是否合理,整体风格是否统一,各个控件的放置位置是否符合客户使用习惯,是否符合操作便捷,导航是否简单易懂,界面中文字是否正确,命名是否统一,页面美观,文字、图片组合是否完美等等。测试时可以按照最终用户具体的需求,以及通用的用户体验原则进行测试list的编写,然后测试人员根据list执行。
3)兼容测试
兼容性测试是指测试软件在特定的硬件平台上、不同的应用软件之间、不同的操纵系统平台上、不同的网络等环境中是否能够很友好的运行的测试。通常兼容性测试为软件在不同浏览器、操作系统和分辨率下的兼容测试。测试时测试人员按照软件的具体兼容性需求进行测试。
4)易用性测试
考察评定软件的易学易用性,各个功能是否易于完成,软件界面是否友好等方面进行测试。测试时可以根据用户需求,以及同类行业软件对易用性的通用原则列出测试list,然后测试人员根据list执行。
5)性能测试
性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。测试分为三个大的步骤进行:一、测试前的准备工作,包括确定用户、业务、系统需求,了解被测系统所属类别(如B/S结构),测试环境构成(系统配置基线清单),测试环境网络拓扑图,实际网络带宽情况,测试服务器及测试机配置清单,系统功能流程图及测试时间;二、测试实施,依次为制定测试计划、编写测试方案,设计测试用例,录制测试脚本,模拟测试场景及运行测试;三、测试结尾,依次为分析测试结果及定位瓶颈,编写性能测试报告,做性能测试总结。
10、系统功能测试方法
功能分解
等价类划分
边界值分析
因果图法
其他测试方法
11、测试过程是依相反顺序安排的自底向上,逐步集成的过程
软件测试零基础入门教程:2023最牛的软件测试零基础系统入门教程,九大项目实战+源码,挑战一个月学完快速入职_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV19v4y1j7No/?spm_id_from=333.999.0.0
二、软件测试的必要性
软件质量对软件的生产成本、上市时间和售后服务都有一定的影响,质量问题已成为影响软件产品流通的重要因素,而软件测试是软件开发过程中一个必不可少的质量检验手段。软件测试就是为了发现被测对象中的错误,避免产品使用中出现重大问题,造成不必要的损失。近些年,由于电子商务的普及应用,软件的复杂程度和交易规模急剧增加,很多软件产品没有经过专业的测试和评估就匆忙发布,从而导致软件产品存在大量问题,对企业造成很多不良的影响,如:
软件存在大量的错误,以至影响软件的正常运行;
软件的开发效率迅速降低,软件需要不断地修改、升级;
产品发布或部署后,质量缺陷的修改成本急剧上升,导致利润下降、甚至亏损;
企业用户在应用存在着大量质量缺陷的软件产品之后,对企业的信息工程失去信心等。
1、尽早测试能进行成本控制
软件缺陷的研究表明:剩余缺陷中,需求分析的缺陷最多占30.87%(0.046/0.149),需求错误是软件质量中的最大隐患。
从成本上看,把编码阶段的成本定量为1,如在需求阶段留下的错误,到了维护支持阶段去修复,其成本将是100-200倍的增加。
三、软件测试现状和要求
1、国外的现状
美国国家标准和技术研究院的调查报告称,美国软件工程项目的成功率仅占16%左右,美国大型专用软件开发的失败率高达70%,目前软件的质量问题仍然十分突出。国外软件开发企业把40%的资源花在软件测试上,软件测试费用占开发费用的30%至50%,一些要求高可靠、高安全的软件,测试费更高,是开发费用的3至5倍,在国际上软件业较发达的国家,绝大多数的软件产品的认定,都有第三方测试的介入,软件测试行业产值几乎占了软件行业总产值的1/3。国外的软件测试已发展成了一门独立的产业,体现在:
1)软件测试在软件企业中占有重要的地位;项目中测试工程师比编码工程师多得多,测试的投入也占项目总投入的2/3左右
2)软件测试理论研究的发展迅速
3)软件测试市场的繁荣。软件测试标准与测试工具的日益成熟
2、国内的现状
与国外形成鲜明对比的是,国内的企业对软件测试环节的重视程度明显不足,国内在测试服务方面,软件测试服务还处于起步和摸索阶段。不过,近两年国内出现了一个好的苗头,上海、北京、各省以及军队纷纷组建了软件测试公共服务平台,各地政府都加大了软件测试的投资力度。
1)互联网企业已开始建立自己独立的软件测试队伍,虽测试人员规模与国外的不能相比,但已有独立测试的意识。
2)2003年人事部与信息产业部职业资格认证中具有“软件评测师”的称号,国家对软件测试足以重视。
3)企业的计算机系统集成资质以及信息系统工程监理资质认证中,企业的软件测试能力被定为企业技术能力的重要指标。
4)2001年信息产业部5号令规定,凡在国内销售的软件必须进行软件登记测试,在信息产业部登记备案。
5)项目验收时,原则上不能以评代测,项目评优时原则上需要第三方公正的测试报告。
6)各级省政府授权成立了第三方公正的、非盈利的公益性软件评测机构。
7)软件测试正在成为软件学院的一门独立课程。
四、软件测试基础与标准
1、软件测试遵循标准
2、软件测试质量控制参数
五、软件测试过程与管理
1、软件测试过程
开发过程中的质量决定了软件的质量,测试过程的质量决定了软件测试的质量和有效性,软件测试过程的管理是保证测试过程的质量,控制测试风险的重要活动。
2、软件评价过程的特性
1)可重复性:同一评价人按同一评测标准对同一产品的评价是同一可以接受的结果。
2)可再现性:有不同评价人按同一评测标准对同一产品的评价是同一可以接受的结果。
3)公正性:评价不偏向任何特殊的结果。
4)客观性:依据客观的事实,不带感情色彩和主观意见。
3、软件测试生命周期
4、软件测试计划
定义测试项目的过程,以便测试项目能被正确的度量和控制:
确定测试需求
评估风险
制定测试策略
确定资源
创建时间表
生成测试计划
确定测试需求 是测试计划活动的开始。测试需求确定测试对象以及测试工作的范围和作用。测试需求还用来确定整个测试工作(如安排时间表、测试设计等)并作为测试覆盖的基础。被确定的测试需求项必须是可核实的。即,它们必须有一个可观察、可评测的结果。无法核实的需求不是测试需求。
测试策略 要使用的测试技术和工具;测试完成标准;影响资源分配的特殊考虑;如测试与外部接口或者模拟物理损坏、安全性威胁。
测试计划主要包括测试需求及优先级、测试进度安排、测试资源情况、测试风险、测试策略(如功能测试、用户界面测试、性能测试等测试策略)、测试输出等内容。
5、软件测试信息流
六、软件测试技术与工具
1、软件缺陷管理工具QC、JIRA、Bugzilla、禅道
2、功能测试工具 QTP、Selenium
3、负载测试工具 LoadRunner、Jemeter、SoapUI、Tsung
4、测试管理工具 QC、JIRA
5、安全测试工具 APPScan
软件测试零基础入门教程:2023最牛的软件测试零基础系统入门教程,九大项目实战+源码,挑战一个月学完快速入职_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV19v4y1j7No/?spm_id_from=333.999.0.0
相关文章:

初级软件测试入门教程
一、软件测试的基本概念 1、软件测试的定义 就是以发现错误为目的而运行程序的过程。 软件测试员的目标是找到软件缺陷,尽可能早一些,并确保其得以修复。 2、软件测试方法总体分类 试图验证软件是“工作的”(所谓“工作的”就是指软件的…...

4项简化IT服务台任务的ChatGPT功能
近几个月,随着人工智能聊天机器人 ChatGPT 风靡全球,用户可以通过它生成脚本、文章、运动计划表等。同时,这项技术在各行各业都能够进行无穷无尽的应用,在本文中,我们将探讨这项现代技术如何帮助ITSM团队提升服务交付和…...

idea创建同级项目-纠结是SB
idea创建同级项目-纠结是SB 创建方法:...

任正非:天空足够大,世界会越来越兴盛
近日,华为公司创始人任正非与南开大学新闻与传播学院院长、科技日报原总编辑刘亚东今年7月7日在深圳一间咖啡厅的对话最新曝光。 在对话过程中,任正非以“拉法尔喷管”来描述华为的研发体系: “喇叭口”吸收宇宙能量,经过理论研究࿰…...

SMOKE-CMAQ实践技术应用
大气污染物排放是空气污染的源头,气象因素是影响污染程度的重要因素,因此空气质量模式要求气象资料和污染物排放清单作为输入,其中由于大气污染源复杂性、数据滞后性、动态变化、规律性不明显等特点,使得大气污染源排放清单输入准…...

电脑提示vcruntime140.dll缺失重新安装的修复方法
电脑出现 vcruntime140.dll 丢失的情况,通常是由于系统缺失了 Microsoft Visual C Redistributable 的运行库文件。这个文件是许多应用程序在运行时所需的依赖库,如果丢失了该文件,可能会导致某些软件无法正常运行。 下面是关于 vcruntime140…...

Vue实现Hello World
<div id"aa"> <p>{{h}}</p> </div> <script src"https://cdn.jsdelivr.net/npm/vue2/dist/vue.js"></script> <script> const hello new Vue({ el:#aa, data:{ h : Hello World } }) </script>...
Android---Bitmap 与 String 互转
1. Bitmap 转 String /*** 图片转字符串* param bitmap 要转换的图片* return 图片转换后的字符串*/public static String imageToBase64(Bitmap bitmap){ByteArrayOutputStream byteArrayOutputStream new ByteArrayOutputStream();bitmap.compress(Bitmap.CompressFormat.J…...

python播放声音库playsound以及获取路径以及修改库源码
用python播放声音文件,使用了库playsound。 说一下本机环境:win10 64位,python3.10.4 ,python2.7.13 最近一直用python3,所以首先进入python3的路径,运行pip3 install playsound 和pip3 install playsound2…...

山西电力市场日前价格预测【2023-09-27】
日前价格预测 预测说明: 如上图所示,预测明日(2023-09-27)山西电力市场全天平均日前电价为342.48元/MWh。其中,最高日前电价为454.24元/MWh,预计出现在18: 30。最低日前电价为171.32元/MWh,预计…...

laravel框架 - 事件与监听器
一,绑定事件与监听器 在app\Providers下的EventServiceProvider.php中添加我们定义的事件与监听器 protected $listen [Registered::class > [SendEmailVerificationNotification::class,],App\ebvent\RegisterMessage>[//事件App\listeners\SendMessage//监…...

Android存储权限完美适配(Android11及以上适配)
一、Bug简述 一个很普通的需求,需要下载图片到本地,我的三个测试机(荣耀Android10,红米 11 和小米Android 13都没有问题)。 然后,主角登场了,测试的三星Android 13 死活拉不起存储权限弹窗。 …...

国产手机芯片4G方案_紫光展锐安卓核心板虎贲4G智能模块方案定制
元器件清单即BOM物料清单,不同行业领域的BOM表侧重点不一样。安卓主板的BOM表则侧重点在于元器件物料的清单,也就是安卓电路板的PCBA清单,精密的安卓板有上千个物料,可以帮助我们估算物料成本,建立生产计划,…...

异步通讯技术之RabbitMQ
前言: 📕作者简介:热爱编程的小七,致力于C、Java、Python等多编程语言,热爱编程和长板的运动少年! 📘相关专栏Java基础语法,JavaEE初阶,数据库,数据结构和算法系列等,大家有兴趣的可以看一看。 😇😇😇有兴趣的话关注博主一起学习,一起进步吧! 一、初识MQ …...

tcp/ip协议2实现的插图,数据结构
(1)以上是插图第2章和3章 的 mbuf 与 ifnet 与 ifaddr 与 le_softc 与 sockaddr_dl结构体 (2) 以下是 二章mbuf的宏和函数和三章函数下 (3) 以下是 三章接口层的宏和函数上 (4)4 四章1:以太网接…...

Redis学习 - 了解Redis(三)
1. 什么是缓存击穿、缓存穿透、缓存雪崩? 1.1 缓存穿透问题 先来看一个常见的缓存使用方式:读请求来了,先查下缓存,缓存有值命中,就直接返回;缓存没命中,就去查数据库,然后把数据库…...

API接口自动化测试框架
前言 接口自动化逐渐成为各大公司投入产出最高的测试技术。但是如何在版本迅速迭代过程中提高接口自动化的测试效率,仍然是大部分公司需要解决的问题。 框架定位 数据驱动设计模式,无需写测试代码脚本即可实现自动化等价类非等价类覆盖, E2E…...

MySQL学习笔记1
任务背景: 将原来的数据库从原来的MySQL-5.5 升级到现在的MySQL-5.7,并保证数据完整。 1)不同版本MySQL的安装;yum glibc、源码安装,是企业100%要用到的。 2)MySQL数据库版本升级;(…...

基于PYQT5的GUI开发系列教程【一】框架安装和基础环境配置
目录 本文概述 作者介绍 一、安装相关的库 二、在Pycharm上添加外部工具QtDesigner和PyGUI 三、测试QtDesigner和P有GUI 尾言 本文概述 PYQT5是一个基于python的可视化GUI开发框架,具有容易上手,界面美观,多平台部署等优点,…...

【漏洞复现】Jeecg-Boot SQL注入漏洞(CVE-2023-34659)
漏洞描述 jeecgBoot是一款基于BPM的低代码平台!前后端分离架构 SpringBoot 2.x,SpringCloud,Ant Design&Vue,Mybatis-plus,Shiro,JWT,支持微服务。强大的代码生成器让前后端代码一键生成,实现低代码开发!JeecgBoot引领新低代码开发模式 OnlineCoding-> 代码生…...

51c自动驾驶~合集58
我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留,CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制(CCA-Attention),…...
Linux简单的操作
ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...
基于Uniapp开发HarmonyOS 5.0旅游应用技术实践
一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架,支持"一次开发,多端部署",可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务,为旅游应用带来…...
Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器
第一章 引言:语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域,文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量,支撑着搜索引擎、推荐系统、…...
【git】把本地更改提交远程新分支feature_g
创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...

HarmonyOS运动开发:如何用mpchart绘制运动配速图表
##鸿蒙核心技术##运动开发##Sensor Service Kit(传感器服务)# 前言 在运动类应用中,运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据,如配速、距离、卡路里消耗等,用户可以更清晰…...

安宝特方案丨船舶智造的“AR+AI+作业标准化管理解决方案”(装配)
船舶制造装配管理现状:装配工作依赖人工经验,装配工人凭借长期实践积累的操作技巧完成零部件组装。企业通常制定了装配作业指导书,但在实际执行中,工人对指导书的理解和遵循程度参差不齐。 船舶装配过程中的挑战与需求 挑战 (1…...

初探Service服务发现机制
1.Service简介 Service是将运行在一组Pod上的应用程序发布为网络服务的抽象方法。 主要功能:服务发现和负载均衡。 Service类型的包括ClusterIP类型、NodePort类型、LoadBalancer类型、ExternalName类型 2.Endpoints简介 Endpoints是一种Kubernetes资源…...
Web中间件--tomcat学习
Web中间件–tomcat Java虚拟机详解 什么是JAVA虚拟机 Java虚拟机是一个抽象的计算机,它可以执行Java字节码。Java虚拟机是Java平台的一部分,Java平台由Java语言、Java API和Java虚拟机组成。Java虚拟机的主要作用是将Java字节码转换为机器代码&#x…...

Ubuntu系统复制(U盘-电脑硬盘)
所需环境 电脑自带硬盘:1块 (1T) U盘1:Ubuntu系统引导盘(用于“U盘2”复制到“电脑自带硬盘”) U盘2:Ubuntu系统盘(1T,用于被复制) !!!建议“电脑…...