初级软件测试入门教程

news2024/11/25 0:20:56

一、软件测试的基本概念

1、软件测试的定义

就是以发现错误为目的而运行程序的过程。

软件测试员的目标是找到软件缺陷,尽可能早一些,并确保其得以修复。

2、软件测试方法总体分类

试图验证软件是“工作的”(所谓“工作的”就是指软件的功能是按照预先的设计执行的)。

设法证明软件是“不工作的”。

两类方法的优劣对比:

虽然软件测试总的目的是为了软件产品的质量,但很明显这两类测试方法在具体目标、或指导思想上截然相反。由此也决定了它们在思路、过程和测重点上有很大的差别,并各有利弊的。

3、软件测试的组成

软件项目是由文档、数据以及程序组成的,所以软件测试应该是对软件开发中形成的文档、数据及程序进行测试,目前很多人认为软件测试就是对程序的测试。

4、软件质量

ISO9126中定义的软件质量是:软件满足规定和潜在用户需求特性的总和;而2001年的软件国际标准中,把软件质量分成了:“内部质量” 、“外部质量” 、‘使用质量‘三个部分。也就是说:软件满足规定和潜在用户需求的能力,要从软件在内部、外部和使用中的表现来衡量。

内部:单元测试、安全性测试等。

外部:系统功能测试、界面测试等。

使用表现:易用性测试、用户体验性测试等。

软件测试零基础入门教程:2023最牛的软件测试零基础系统入门教程,九大项目实战+源码,挑战一个月学完快速入职_哔哩哔哩_bilibiliicon-default.png?t=N7T8https://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最牛的软件测试零基础系统入门教程,九大项目实战+源码,挑战一个月学完快速入职_哔哩哔哩_bilibiliicon-default.png?t=N7T8https://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最牛的软件测试零基础系统入门教程,九大项目实战+源码,挑战一个月学完快速入职_哔哩哔哩_bilibiliicon-default.png?t=N7T8https://www.bilibili.com/video/BV19v4y1j7No/?spm_id_from=333.999.0.0

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

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

相关文章

linux应用层静态链接和动态链接(.a .so)

1、介绍 即使一个非常简单的程序,也需要依赖C标准库和系统库,链接其实就是把其他第三方库和自己源代码生成的二进制目标文件融合在一起的过程。经过链接之后,那些第三方库中定义的函数就能被调用执行了。早期的一些操作系统一般使用静态链接…

代码随想录算法训练营第23期day7| 454.四数相加II 、383. 赎金信 、15. 三数之和、18. 四数之和

目录 一、(leetode 454)四数相加II 二、(leetcode 383)赎金信 暴力解法 哈希法 三、(leetcode 15)三数之和 四、(leetcode 18)四数之和 一、(leetode 454&#xf…

git 分支管理进阶

1. merge 命令:git merge A 作用:把 A 分支 合并到当前分支 (此时当前分支新增了一次提交,指着指向该提交) 初始状态: git merge bugFix 后: 此外,如果再把 main 分支合并到 bug…

Unigram,Bigram,N-gram介绍

Unigram,Bigram,N-gram介绍 Unigram,Bigram,N-gram这三个概念,在学习自然语言的过程中大家可能会遇到。 Unigram,Bigram,N-gram在自然语言内容中的语言模型部分中大家可能会碰到。语言模型有很多种,在上一篇介绍一个…

三层交换机与防火墙对接上网如何配置

环境: 1.三层交换机 H3C S6520 version 7.1.070, Release 6530P02 2.防火墙 深信服 8.0.75 AF-2000-FH2130B-SC 问题描述: 三层交换机与防火墙对接上网如何配置 公司有多个部门且位于不同网段,各部门均有访问Internet的需求。现要求用户通过三层交换机和防火墙访问…

MySQL 事务的操作指南(事务篇 二)

基本操作 事务的提交方式:自动提交(autocommit1)和手动提交(autocommit0) 查询和修改事务提交方式: -- 查看事务提交方式(标识表示这是个系统变量) select autocommit ;-- 修改事务提交方式为自动提交 …

Zorin OS 16.3 发布:无缝升级和卓越改进

导读Zorin OS 团队自豪地宣布了备受期待的 Zorin OS 16.3 版本的发布,这是这个受欢迎的 Linux 发行版的一个里程碑版本。自首次发布以来不到两年时间,Zorin OS 已经获得了庞大的用户群体,截至目前已经有 530 万次下载,而 16.3 版本…

网工内推 | 网络工程师,熟悉H3C设备,有华三认证优先

01 苏州市蓝皓计算机科技有限公司 招聘岗位:网络工程师 职责描述: 1、网络架构方案的规划、设计; 2、网络设备的配置以及网络环境的管理、配置、排错、维护; 3、网络项目的实施、协调、管理; 4、完成部门主管要求的各…

N 皇后问题

N 皇后问题研究的是如何将 N 个皇后放置在 N x N 的棋牌上,并且使皇后彼此之间不能相互攻击。 国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子 解决思路是:剪枝 回溯方法 解决问题 (1).使用二维数组创建棋牌格子 g…

Spring MVC 和 Spring Boot 的区别

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…

连接组学中的机器学习:从表征学习到模型拟合

前言 机器学习(ML)由于其高自动化程度、高灵敏度和特异性优势,在医学影像领域取得了巨大的成功。由于具备这些优势,机器学习已被广泛应用于神经成像数据,目的是提取与感兴趣变量(如疾病状态)相关的特征。这使我们能够形成关于不同条件下大脑…

Python之xToolkit库

文章目录 一、xToolkit是什么?二、准备工作1.引入库2.导入数据 三、使用时间模块-xdatetime判断时间格式是否正确get方法获取时间戳获取年月日时分秒时间推移计算时间替换时间扩展两个时间的差值开始与结束时间时间是否在指定区间中 字符串模块-xstring字符串格式校…

前端任意修改地图风格颜色

在做地图相关应用时,常常遇到地图风格与UI界面不搭配的问题,如果在制图时就制作多种风格的地图,耗时耗力,超出成本控制。这里推荐一种快捷的方法,可在前端快速更改地图成任意风格,使色调与UI搭配。 先上一张…

软件项目费用计算方法

计算软件项目的费用是项目管理的关键组成部分之一。费用计算方法可以帮助您确定项目的总成本,包括开发、测试、维护和其他相关费用。以下是一些常见的软件项目费用计算方法,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发…

【51单片机】8-按键

1.按键相关知识 在按键未被按下之前,电路中默认为高电平【1】; 按键被按下后,电路中默认为低电平【0】 1.按键工作原理 1.内部机械结构 内部是没有电路的,电路在引脚上,看着4个引脚,实际上里面两个引脚相互…

暗猝灭剂BHQ-1 NHS,916753-61-2,BHQ-1 SE

产品简介:黑洞猝灭剂-1(BHQ-1)被归类为暗猝灭剂(一种非荧光发色团),被广泛用作各种荧光共振、能量转移(FRET)和DNA检测探针中,此类探针主要用于核酸分析及核酸结构研究。…

Docker export导出容器,重新运行导出的容器

需求 在部署程序时,程序内的人脸识别组件第一次运行需要去下载第三方软件包,下载好之后就不需要再进行下载了。由于程序最终部署在不能连接外网的服务器上,所以需要在能连接外网的服务器上先部署运行并下载相关组件。因此需要对容器进行导出&…

2023年【司钻(钻井)】考试题库及司钻(钻井)考试报名

题库来源:安全生产模拟考试一点通公众号小程序 司钻(钻井)考试题库考前必练!安全生产模拟考试一点通每个月更新司钻(钻井)考试报名题目及答案!多做几遍,其实通过司钻(钻…

Linux- 网络编程初探

原始套接字(Raw Socket) 原始套接字(Raw Socket)是一种提供较低级别网络访问的套接字。通过使用原始套接字,应用程序可以直接发送或接收网络层如IP的数据包,或者传输层如TCP、UDP的段,而无需通…

hive数据库操作,hive函数,FineBI可视化操作

1、数据库操作 1.1、创建数据库 create database if not exists myhive;use myhive;1.2、查看数据库详细信息 desc database myhive;数据库本质上就是在HDFS之上的文件夹。 默认数据库的存放路径是HDFS的:/user/hive/warehouse内 1.3、创建数据库并指定hdfs存…