为什么需要这个岗位,软件测试是干什么

news/2024/4/25 4:01:06/文章来源:https://blog.csdn.net/nhb687095/article/details/129200213

目录

一、软件测试概念

二、软件测试目的

三、软件测试基本原则

四、软件测试主要工作内容

五、软件测试方法

六、测试工程师的职责

七、为什么要软件测试这个岗位

一、软件测试概念


软件测试:为了发现软件错误和缺陷(统称bug)而执行程序的一个过程。

软件测试是软件开发过程的重要组成部分,是用来确认一个程序的功能或性能是否符合开发之前所提出的一些要求。软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码的最终复审,是软件质量保证的关键步骤。

二、软件测试目的


最直观的目的肯定是通过对软件系统或程序的测试,发现其中的错误。

软件测试的目的具体如下:

 验证软件需求和功能是否得到了完整的实现

尽可能早的发现软件中的bug

尽可能多的发现软件中的bug

验证软件是否可以发布

对软件的质量、性能、效率做出合理的评估

预防用户使用可能出现的问题

预防下个版本可能出现的问题

三、软件测试基本原则


所有测试的标准都是建立在用户需求之上的,测试的目的在于发现系统是否满足规定的需求;
“尽早地和不断地测试”,越早进行测试,缺陷的修复成本就会越低;
程序员应避免检查自己的程序,由第三方进行测试更客观有效;
穷举测试是不可能的;
充分注意测试中的群集现象,一段程序中一发现的错误数越多,其中存在的错误概率越大,因此对发现错误较多的程序段,应进行更深入的测试;
设计测试用例时应包括合理输入和不合理输入,以及各种边界条件、特殊情况下要制造极端状态和意外状态;
注意回归测试的关联性,往往修改一个错误会引起更多错误;
测试应从“小规模”开始,逐步转向“大规模”;
测试用例式设计出来,不是写出来的,应根据测试的目的,采用相应的方法设计测试用例,从而提高测试的效率,更多的发现错误,提高程序的可靠性;
重视并妥善保存一切测试过程文档(测试计划,测试用例,测试报告等);
对测试错误结果一定要有一个确认的过程

四、软件测试主要工作内容


软件测试主要工作内容是验证和确认,下面分别给出其概念:

1、验证是保证软件正确地实现了一些特定功能的一系列活动,即保证软件做了你所期望的事情。

(1)确定软件生存周期中的一个给定阶段的产品是否达到前阶段确立的需求的过程;

(2)程序正确性的形式证明,即采用形式理论证明程序符号设一计规约规定的过程;

(3)评市、审查、测试、检查、审计等各类活动,或对某些项处理、服务或文件等是否和规定的需求相一致进行判断和提出报告。

2、确认是一系列的活动和过程,目的是想证实在一个给定的外部环境中软件的逻辑正确性。即保证软件以正确的方式来做了这个事件。

(1)静态确认,不在计算机上实际执行程序,通过人工或程序分析来证明软件的正确性;

(2)动态确认,通过执行程序做分析,测试程序的动态行为,以证实软件是否存在问题。

3、软件测试的对象不仅仅是程序测试,软件测试应该包括整个软件开发期问各个阶段所产生的文档,如需求规格说明、概要设计文档、详细设计文档,当然软件测试的主要对象还是源程序。

从不同的角度出发,软件测试可以划分为不同的分类:

(1)从是否关心软件内部结构和具体实现的角度划分

A.白盒测试

B.黑盒测试

C.灰盒测试

(2)从是否执行程序的角度

A.静态测试

B.动态测试。

(3)从软件开发的过程按阶段划分有

A.单元测试

B.集成测试

C.确认测试

D.验收测试

E.系统测试

五、软件测试方法


软件测试一般分为白箱测试和黑箱测试。

1、黑箱测试

  黑箱测试(black-box testing),也称黑盒测试,是软件测试方法,测试应用程序的功能,而不是其内部结构或运作。测试者不需具备应用程序的代码、内部结构和编程语言的专门知识。测试者只需知道什么是系统应该做的事,即当键入一个特定的输入,可得到一定的输出。测试案例是依应用系统应该做的功能,照规范、规格或要求等设计。测试者选择有效输入和无效输入来验证是否正确的输出。

  此测试方法可适合大部分的软件测试,例如单元测试(unit testing)、集成测试(integration testing)以及系统测试(system testing)。

2、白箱测试

  白箱测试(white-box testing,又称透明盒测试glass box testing、结构测试structural testing等)是一个测试软件的方法,测试应用程序的内部结构或运作,而不是测试应用程序的功能(即黑箱测试)。在白箱测试时,以编程语言的角度来设计测试案例。测试者输入数据验证数据流在程序中的流动路径,并确定适当的输出,类似测试电路中的节点。

  白箱测试可以应用于单元测试(unit testing)、集成测试(integration testing)和系统的软件测试流程,可测试在集成过程中每一单元之间的路径,或者主系统跟子系统中的测试。尽管这种测试的方法可以发现许多的错误或问题,它可能无法检测未使用部分的规范。

六、测试工程师的职责


1、参与软件项目的需求分析,关注项目需求的可测性,并能预先评估项目的风险;

2、负责软件项目的测试方案制定,设计测试数据和测试用例,并进行相互评审;

3、实施软件测试,完成对产品的集成测试与系统测试,对产品的功能、性能及其他方面的测试负责;

4、对项目总的问题进行跟踪分析和报告,推动测试中发现问题及时合理地解决;

5、汇总测试执行情况,编制相关报告。

七、为什么要软件测试这个岗位


1、现在软件系统越来越复杂,一个软件系统可能由几个几十个人一起开发的,单个开发可能只熟悉他所有编写的模块,对于其他有影响的模块不熟悉,容易产生错误

2、开发自己写的代码自己不容易检查出错误,开发也有可能遗漏需求功能或者缺失异常处理,需要测试来帮助他们检查软件是否有bug ,是否符合产品设计,是否符合用户习惯,异常是否都已经处理, 

3 、现在市场竞争激烈,对软件开发的周期和质量要求越来越高, 如果没有测试,开发很难再短时间内开发出客户满意的系统,导致软件的经济效益不好

总之一句话, 如果没有测试,软件的质量很难得到保证!

既然看到这里,在收藏的同时,也请不吝啬的点个赞呗!期待 ~

绵薄之力【资源分享】
最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接
拿走:

 

文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方进群自行领取即可,拿走不谢。
 

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

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

相关文章

浅谈liunx init.d 和 rc.local 两种起动方式

浅谈liunx init.d 和 rc.local 两种起动方式 以rabbitmq 举例 (一).init.d 方式 开机自动重启设置 1.在/etc/init.d 目录下新建一个 rabbitmq [rootlocalhost init.d]# vi rabbitmq具体脚本如下所示: #!/bin/bash # # chkconfig: 2345 …

全球智慧能源解决方案服务商「雄韬股份」牵手企企通,谱写采购数字化变革之路

近日,全球知名智慧能源解决方案服务商「深圳市雄韬电源科技股份有限公司」(以下简称“雄韬股份”)与企企通达成合作。本次合作,企企通将为雄韬股份提供专业的采购数字化解决方案,推动企业采购更加智能、高效、透明&…

计算机网络(2)从十六进制的ip数据报中得到详细字段信息

本博文介绍如何将十六进制的ip报文拆分出具体的字段信息。社会计算机网络和网络协议分析的初学者参考(今天看了网络协议分析期末复习重点的最后一个大题,竟然一头雾水,然后快马加鞭翻阅各种资料,然后差不多学会 了)wir…

浏览器输入www.baidu.com后执行的全部过程

日升时奋斗&#xff0c;日落时自省 <1>URL输入 URL称为 : 统一资源定位符,用于定位互联网上的资源,也就是平常提起的"网址" 地址栏输入网址之后按下回车,浏览器会对输入的信息进行评判 (1)检查输入的内容是否是是一个合法的网址连接(非法地址不行) (2)合法的…

Python Unittest框架

1、unittest简介 unittest是Python自带的单元测试框架,具备编写用例、组织用例、执行用例、输出报告等自动化框架的条件,主要适用于单元测试,可以用来作自动化测试框架的用例组织执行框架。 2、unittest框架的特性: 提供用例组织与执行:当测试用例只有几条的时候可以不考虑…

Nginx 02篇——Nginx基本配置与参数说明篇

Nginx 02篇——Nginx基本配置与参数说明篇前言-默认配置文件1. 前言——关于nginx1.1 关于nginx1. 2 Nginx 01篇——Nginx安装2. Nginx 配置文件结构2.1 Nginx 安装后的默认文件2.2 Nginx 的三大组成部分3. 配置参说明-1——整个配置3.1 配置说明3.2 参考4. 配置说明-2—详细说…

postgres 源码解析51 LWLock轻量锁--2

本篇将着重讲解LWLock涉及的主要API工作流程与实现原理&#xff0c;相关基础知识见回顾&#xff1a;postgres 源码解析50 LWLock轻量锁–1 API介绍 函数API功能CreateLWLocks分配LWLocks所需的内存并进行初始化LWLockNewTrancheId分配新的Tranche ID,供用户使用Extension模块…

结构效度分析流程

结构效度分析流程如下图 一、结构效度的意义 效度分析在学术研究中非常常见&#xff0c;结构效度是为了分析“从量表获得的结果与设计该量表时所假定的理论之间的符合程度”。简单来讲&#xff0c;在研究者设计量表之初&#xff0c;一般会预设好几个维度&#xff0c;在经过因子…

kafka入门到精通

文章目录一、kafka概述&#xff1f;1.定义1.2消息队列1.2.1 传统消息队列的使用场景1.2.2 消息队列好处1.2.3 消息队列两种模式1.3 kafka基础架构二、kafka快速入门1.1使用docker-compose安装kafka1.2测试访问kafka-manager1.3 查看kafka版本号1.4 查看zookeeper版本号1.5 扩展…

python学习之OpenCV-Python模块的部分应用示例(生成素描图和动漫图)

文章目录前言一、图片转灰度二、对图片进行二值化处理三、对图片去除噪点四、调整图片透明度五、生成素描滤镜效果图&#xff08;方法结合应用&#xff09;六、生成动漫卡通滤镜效果图&#xff08;方法结合应用&#xff09;总结前言 OpenCV 是一个图像和视频处理库&#xff0c…

掌握饮食健康:了解你的宏量营养素摄入

谷禾健康 // 俗话说“病从口入”&#xff0c;我们的健康状况很大一部分取决于饮食。而食物基本上是由各种营养素构成的。 宏量营养素是人体大量需要的必需营养成分。宏量营养素指的是“三大”营养素&#xff1a;蛋白质、脂肪和碳水化合物&#xff0c;它们是我们饮食中的关键。 …

【JavaScript】基本语法大全

前言&#xff1a; 大家好&#xff0c;我是程序猿爱打拳。在学习C和Java这样的后端编程语言后&#xff0c;我们大概率会学习一些关于前端的语言如HTMLJavaScript。又因为前后端基本语法有些许不同&#xff0c;因此我整理出来。今天给大家讲解的是JS中的数据类型、运算符、选择结…

【华为OD机试模拟题】用 C++ 实现 - 最低位排序(2023.Q1)

最近更新的博客 【华为OD机试模拟题】用 C++ 实现 - 货币单位换算(2023.Q1) 【华为OD机试模拟题】用 C++ 实现 - 选座位(2023.Q1) 【华为OD机试模拟题】用 C++ 实现 - 停车场最大距离(2023.Q1) 【华为OD机试模拟题】用 C++ 实现 - 重组字符串(2023.Q1) 【华为OD机试模…

Eth-trunk :LACP模式链路聚合实战

Eth-trunk : LACP模式链路聚合实战 需求描述 PC1和PC3数据vlan10 &#xff0c;网段为192.168.10.0 /24PC2和PC4数据vlan20 &#xff0c;网段为192.168.20.0 /24确保设备之间互联互通&#xff0c;使用最大互联带宽并没有环路确保相同网段的PC可以互通判断交换机之间的每个端口…

ros下用kinectv2运行orbslam2

目录 前提 创建工作空间 orbslam2源码配置、测试&#xff1a; 配置usb_cam ROS功能包 配置kinect 前提 vim 、 cmake 、 git 、 gcc 、 g 这些一般都装了 主要是Pangolin 、 OpenCV 、 Eigen的安装 18.04建议Pangolin0.5 创建工作空间 我们在主目录下创建一个catkin_…

Node 10.0.8.6:9003 is unknown to cluster

解决方案解决方案一解决方案一 ① 概念介绍 公网ip&#xff1a;就是任意两台连接了互联网的电脑可以互相ping ip,能够通的ip 内网ip&#xff1a;只是在内网中使用无法与外网连接的ip ②问题背景 在腾讯云上搭建的一个redis集群&#xff0c;集群启动后 可以看到启动节点…

TX Text Control .NET Server for ASP.NET 31.0 SP2 CRK

用于 ASP.NET 31.0 SP2 的 TX 文本控件 .NET 服务器 用于 ASP.NET 的 TX 文本控件 .NET 服务器 TX Text Control Server for ASP.NET 是用于 Web 应用程序或服务的服务器端组件。它是一个完全可编程的 ASP.NET 文字处理器引擎&#xff0c;提供了广泛的文字处理功能。使用 TX Te…

C++中的内存管理

文章目录前言1.C中内存空间的划分2.C内存管理方式1.对内置类型的处理2.对自定义类型的处理3.new和delete实现原理4.定位new3.总结1. malloc/free和new/delete的区别2. 内存泄漏前言 C中的内存空间划分和C语言是很像的&#xff0c;基本上区别不大。但是因C中&#xff0c;引入了…

davis2016评估教程

DAVIS 2016是VOS任务中的一个经典的benchmark&#xff0c;但是一些VOT的算法有时候也可以预测mask&#xff0c;所以也会在上面测一测性能&#xff0c;本次就随手记录一下自己评测的过程&#xff0c;有需要的小伙伴可以往下看。 DAVIS 2016数据集官方项目网站&#xff1a;https:…

TCP四次挥手

TCP 四次挥手过程是怎样的&#xff1f; TCP 断开连接是通过四次挥手方式。 双方都可以主动断开连接&#xff0c;断开连接后主机中的「资源」将被释放&#xff0c;四次挥手的过程如下图&#xff1a; 客户端打算关闭连接&#xff0c;此时会发送一个 TCP 首部 FIN 标志位被置为 1…