软件测试工作内容和职责有哪些

news2024/9/23 4:20:34

目前,在IT行业中测试的职位数量仅次于开发,可以说是第二大技术就业岗位。然而许多人对测试师工作的理解还停留在,只需要像用户一样使用产品,然后发现有问题提交报告就行了。其实这是极其不准确的,软件测试师在测试产品前后通常有很多工作要做。下面我们就一起来看看软件测试师的工作内容以及工作流程。

软件测试工作内容

软件测试岗位具体是做什么的?软件测试就是在测试这个软件是不是能够完全按照需求运行。软件测试岗再简单点说就是找BUG。检查软件产品是否符合用户的需求,检查程序的业务逻辑和代码逻辑,提高产品的易用性。

检查软件产品是否符合用户的需求。如果用户提出的各种功能和需求,产品没有满足的话,也就根本提不上交付产品了,因为根本达不到交付程度,所以测试人员的工作非常必要。

检查程序的业务逻辑和代码逻辑。每个人对一件事的理解不同,同理不同人员对需求的理解可能会存在差异,所以适当的时候要检查下代码是否有业务逻辑错误和代码逻辑错误,当然达不到检测程序的,可以通过手工测试来做。

提高产品的易用性。若是一个软件产品不好用,用户的学习成本太高,那么产品的接受满意度就会下降,更别提产品的市场占有率了。

一些其他的错误。凡是导致软件产品不能正常使用的,功能被阻塞的,都是要提交bug的,让程序员再进行一下修改和完善。

软件测试怎么找bug?

那方法可真是不少,可以分多个维度。按照测试过程中程序执行状态可以分为静态测试和动态测试。静态测试只依靠分析或检查源程序的语句、结构、过程等来检查程序是否有错误。

直白点概括就是:程序不运行,看看面相哪里有毛病。动态测试则是通过运行被测试程序,对得到的运行结果与预期的结果进行比较分析,同时分析运行效率和健壮性等。

而根据具体实现算法细节和系统内部结构的相关情况则分为黑盒测试、白盒测试和灰盒测试。黑盒测试,就是将被测程序当成一个无法打开的黑盒子,测试人员在不考虑内部结构和特性的条件下,检查程序功能是否能够按照规范说明准确无误地运行。

简单来讲就是:这是一道填空题,只看结果,不看过程。白盒测试,与黑盒测试相对,主要是借助程序内部的逻辑和相关信息,通过检测内部动作是否按照设计规格说明书的设定进行,检查每一条通路是否能够正常工作。

该怎么学习软件测试呢?分为这几个部分,学习测试基础(重中之重)、脚本语言(比如Python或其他语言)、软件测试工具、计算机硬件知识、数据库测试,然后就是正式踏入软件测试之前的最后进行项目实战。每一步都不能落下,想要系统学习都是需要花下时间和精力。

软件测试工作流程

1、需求分析阶段

当我们需要确定产品功能的时候,通常是产品经理和开发经理讨论制定需求细节,开发人员和测试人员参与评审。比如要做一个K12在线教育系统,需要具体实现哪些具体功能,和功能的细节需求。功能要一一列出来,比如:直播课程,录播课程,学生老师注册,学生考试等等。每个功能点要不断细化,直到可以给开发人员没有什么疑问,可以着手开发工作。比如学生考试功能,考试功能包括哪些子功能?创建试卷、学生答题、批改方式、结果呈现、数据分析等等。每个子功能还要继续细化。试卷要包含多少题?题目是系统自动选择还是人工挑选?系统自动选择题目的时候,注意根据哪些要素?考完是自动批改吗?

这个阶段测试人员需要做如下事情:评审需求文档,通过评审了解需求,甚至参与需求分析讨论,看看需求有没有错误、矛盾、遗漏的地方。整理测试需求,就是通过需求文档的评审分析(产品、开发人员往往会写的比较乱,不全面),从测试的角度进行需求和场景的分类。其实这是更加具体的、有条理的需求文档。相当于测试用例的提纲,为后续编写测试用例准备测试需求。

2、设计阶段

开发工程师不是一上来就编码的,需求阶段只是做了高层需求的设计,完成这个高层需求,还需要开发人员进行系统设计、子系统设计、接口设计等。比如,要开发Web网站,需要开发人员根据需求文档,设计系统的前端和后端的信息交互接口等。通常也要设计文档,这些是开发编码的依据。

这个阶段,测试人员根据开发人员的设计文档,和开发人员多交流,得知产品的细节功能。包括系统的细节功能、界面原型,这些是写测试用例的依据。有条件的,甚至应该了解系统内部设计,比如分为一个大的子系统,之间接口,如何通讯。这对写出更有针对性的测试用例非常有帮助。流程比较细致的企业,测试人员也会参与设计文档的评审,甚至代码评审。搞清楚产品设计细节(甚至一部分实现细节)后,测试团队就应该制定写测试计划,编写测试用例。

3、开发阶段

开发阶段当然就是开发工程师(码农们)加班加点、没日没夜的根据设计开发了。这时,测试工程师不要闲着,有些事情可以做。比如下面的工作流程:

(1)评审测试用例;

(2)准备测试工具、学习使用测试工具;

(3)准备测试环境;

(4)和开发人员保持沟通,因为开发过程中开发人员随时可能推翻原来的设计,修改功能,你要相应改变测试用例。

4、发布测试版本阶段

到了终于发布测试版本的阶段,软件测试师的主要工作,当然就是根据前面写的测试用例进行测试了。测试发现的问题(bug)提交的问题跟踪系统,比如:BugZilla、JIRA之类。当一轮测试结束后,会发现一批bug,当然开发人员需要修改这些bug。并不是所有的bug都会立刻修改,根据发现bug的严重程度和出现几率,开发人员确定优先级,修复一批bug。修改后会发布一个新的测试版本。测试人员需要根据这个新的测试版本进行测试,这次测试有两个目的,一是验证开发工程师修复的bug正确修复了,二是确保在修复的过程中没有引入其他bug。

5、自动化测试阶段

一个复杂的产品,要经过很多轮的回归测试,才能最终发布。每轮回归都有大量的测试用例需要重测,防止修复bug的过程中引入新的bug。这样的反复测试,非常耗费测试工程师的精力。一盒经典的解决方法,就是使用自动化测试系统,代替人工测试。有经验的测试经理会在合适的时机,组件自动化团队,开发自动化系统。并且合理的分批次挑选用例,进行自动化,从而有效的提高测试效率。

以上就是软件测试师的具体工作流程介绍,在产品需求分析、设计、开发、上线运营各个阶段,软件测试师都有相应的工作要做。而一个合格的软件测试师,首先要理解产品各个阶段的总体目标,然后明白自己各阶段应该做什么,这样才能做好本职工作。

随着信息产业的迅猛发展,IT行业已经赶超金融业成为中国平均薪水最高的行业,并且以每年20%的速度递增。

测试行业作为IT公司内部必不可少的重要组成部分,是推动软件质量提升的关键环节,甚至被誉为是软件质量把关的最后的一道生命防线,因此这一岗位也越来越受到企业的重视。

随着软件测试人才缺口的扩大,其岗位的薪资待遇和发展前景也处于上升空间。

根据第三方数据平台统计,北京软件测试工程师平均月薪14.3K,其中拿 10K-15K 工资的占比最多,达 35.2% 。

软件测试人员遍布于数字化转型中的各行各业:

在这里插入图片描述

△ 数据来源于网络,如侵删

并且,软件测试岗位的平均薪资,也是年年上涨

在北京,软件测试工程师的平均薪资高达16.4k,持续精进技术的话,更是可以达到50k!并且软件测试相关的薪资,即使是在疫情期间,也是年年上涨!

在这里插入图片描述
想要入行软件测试的小伙伴们,此时正是好时机~

软件测试学习路线图详细介绍

第一阶段 功能测试

学前导读:学习本阶段内容,可全流程功能测试解决方案、Web自动化测试解决方案、数据分离解决方案、自动化测试报告解决方案、日志收集解决方案。

1.2022全网首发、最适合新手的软件测入门到实战教程上线啦!

真正的从入门到精通,包含了基础+项目实战,所有案例实战操作均图文并茂,真正实现一套全通关!

软件测试2022最新视频教程,软件测试基础入门到项目实战(涵盖软件测试基础+黑马头条项目实战)

2.软件测试入门到精通

软件测试是一种实际输出与预期输出之间的审核或者比较过程。软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。本课程共5天,针对零基础小白录制。零基础入门的必学课。

软件测试从入门到精通_软件测试基础教程

3. Linux系统2天快速入门

本视频包含Linux操作系统介绍、Linux的常用命令、vi编辑器。学习掌握本阶段内容,可具备Linux项目搭建能力。

Linux系统操作教程2天快速入门linux项目搭建

4. 软件测试MySQL数据库知识精讲+项目实战

本视频包含数据安装,数据表操作、数据操作-增删改查、条件查询、排序、聚合函数、分组、分页、连接查询、自关联、子查询、子查询演练。学习本课程内容,可具备数据库校验能力;还可以快速、规范的掌握数据库增删改查操作。

软件测试工程师必备MySQL数据库,mysql系统精讲+课后练习

第二阶段 Python编程

学前导读:学习本阶段内容,可掌握Python语法, 具备编程能力; 能建立编程思维以及面向对象程序设计思想; 能掌握UnitTest框架管理测试用例。

10天玩转Python软件测试

学习本阶段内容,可掌握Python语法, 具备编程能力; 能建立编程思维以及面向对象程序设计思想; 能掌握UnitTest框架管理测试用例。

Python自动测试教程,python从基础到UnitTest框架管理测试用例

第三阶段 UI自动化

学前导读:ui自动化大体分为web自动化和App自动化,在自动化测试领域中占比很大,经常使用。

1. 软件测试web自动化测试精讲与实战

本课程将教会大家搭建Web自动化和移动自动化测试环境;掌握Web自动化测试流程和脚本编写;掌握移动自动化测试中元素的定位方法、元素操作和手势操作;熟练掌握ADB工具的使用; 掌握PO模式的设计思想,并能够对页面进行封装;掌握数据驱动的实现方式; 能够在实际项目灵活运用自动化的相关技术。

软件测试web自动化测试,Web自动化流程精讲和移动自动化测试环境

2.零基础入门移动自动化——Appium框架

本课程会详细讲解Appium框架,Appium是一个开源的、跨平台的自动化测试框架,该框架适用于Native Application、Mobile Web Application或Hybrid Application的自动化测试。

零基础入门移动自动化测试——Appium框架

3. 轻松教你使用Appium进行IOS真机自动化测试

本套课程,将环境安装的步骤和注意事项呈现给学员,模拟器到真机实操,都进行演示讲解。内容丰富,生动形象,学完即可完成IOS端环境安装及实操。

轻松教你使用Appium进行IOS真机自动化测试

第四阶段 接口自动化

学前导读:接口测试是所有自动化测试应用频率最高部分。此阶段共分成14个部分进行详讲。

接口测试精讲+传智健康实战教程

本教程会涉及HTTP,Postman,Pymysql,requests库,集成UnitTes,Dubbo等诸多工具,最后用传智健康项目进行本阶段项目实战。

4天玩转接口测试,接口重点全解析+传智健康项目实战(包含requests库,集成UnitTes,Dubbo等诸多工具)

第五阶段 性能测试

学前导读:性能测试属于高级测试范畴,对于薪资的提升帮助很大,本阶段视频讲解性能测试环境搭建,JMeter工具的使用,性能测试监控、分析和调优方法。

4天快速入门性能测试

本视频通过性能测试基础理论及JMeter工具的学习;通过轻商城项目实战,带学员掌握性能测试需求分析、性能测试计划、测试用例设计、测试脚本开发、性能监控、性能分析和调优、性能测试报告总结。

性能测试全套教程,4天快速入门性能测试+项目商城实战(含JMeter工具等)

第六阶段 综合项目强化

学前导读:通过微信小程序、金融项目两个实战项目综合强化功能测试、接口测试、性能测试。

1. 微信小程序自动化测试实战

本视频涵盖:微信小程序基础介绍、Ego微商项目介绍、Ego微商项目部署、Ego微商小程序计划篇、Ego微商小程序设计篇、Ego微商小程序执行总结篇、Ego微商小程序接口测试篇、持续集成。

软件测试微信小程序自动化测试实战

2. 软件测试4天搞定金融项目

本视频讲解金融项目功能测试解决方案、真实项目测试体验解决方案、复杂业务接口测试解决方案 接口加解密测试解决方案、数据分离解决方案 持续集成解决方案、自动化测试报告解决方案、高并发测试解决方案。

软件测试4天快速搞定金融项目功能测试实战教程

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

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

相关文章

通过Dnspy调试解决powershell使用Install-module指定的转换无效的问题

之前运行Install-module -Name NtObjectManager出现以下错误: PackageManagement\Install-Package : Package NtObjectManager failed to be installed because: 指定的转换无效。 At C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\1.0.0.1\PSModule.…

Shell编程之排序

目录 一、冒泡排序 二、选择排序 三、插入排序 基本思想: 四、反转排序 基本思想: 五、睡眠排序 六、希尔排序 基本思想: 举例 一、冒泡排序 冒泡排序,该排序的命名非常形象,即一个个将气泡冒出。冒泡排序一…

ChatDOC工具——使用ChatGPT高效阅读技术科研论文

ChatDOC是一款功能强大的人工智能阅读辅助工具,专为帮助用户快速理解论文内容而设计。使用ChatDOC,您可以通过上传PDF版论文文献,利用先进的ChatGPT技术,只需三个简单步骤,便可以高效地阅读论文,提高阅读效…

TypeScript初识

目录 介绍 定义 优点 类型声明 ts文件编译选项 自动编译 编译选项的各个属性 include compilerOptions 介绍 定义 TS(TypeScript)是一种由微软开发的编程语言,它是 JavaScript 的一个超集,提供了静态类型检查、类、接…

Linux系统编程——多线程[中]:互斥与同步

0.关注博主有更多知识 操作系统入门知识合集 目录 1.并发过程中的问题 2.互斥 2.1互斥锁 2.2如何看待互斥锁 2.3加锁和解锁的本质 2.4对锁做一个封装 2.5可重入函数与线程安全 2.6死锁 3.同步 3.1条件变量 1.并发过程中的问题 我们知道,同一个进程中的…

【SpringBoot】过滤器,监听器,拦截器介绍

文章目录 一、简介1、过滤器2、拦截器3、监听器 二、如何创建1、过滤器2、监听器3、拦截器 三、总结 一、简介 通过两幅图我们可以理解拦截器和过滤器的特点 1、过滤器 过滤器是在请求进入tomcat容器后,但请求进入servlet之前进行预处理的。请求结束返回也是&…

模拟IC与数字IC设计该怎么选?哪个岗位薪资高?

很多同学想要入行IC,但不知道数字和模拟方向怎么选? 如果没有亲身体会过模拟设计,并有发自内心的自信或者兴趣,一般不看好纯小白去学模拟电路设计。 模拟设计想做好,没有数学功底,没有电路分析的功底&…

面试题30天打卡-day24

1、Redis 为什么快? Redis 之所以快,主要是因为它具有以下特点: 纯内存操作:Redis 的数据存储在内存中,因此读写速度非常快,而无需像传统数据库一样从硬盘读取和写入数据。与此同时,Redis 支持…

【算法】动态规划算法求(编辑距离)

目录 编辑距离: 举例: 代码如下 调试: 核心代码: 画图演示上述代码: 编辑距离: 是一种计算两个自符串之间差异程度的方法,它通过比较两个字符串之间的插入,删除和 替换操作的数…

深度神经网络模型部署——Docker学习

容器技术中有三个核心概念:容器(Container)、镜像(Image),以及镜像仓库(Registry) 从本质上来说,容器属于虚拟化技术的一种,和虚拟机(Virtual Mac…

CentOS7安装vsftpd

CentOS7安装vsftpd 最近又用到ftp了,摸索了一下终于安装成功,记录下安装过程,本次使用的操作系统为 CentOS7,ftp使用vsftpd。 安装vsftpd yum install -y vsftpd配置vsftpd vsftpd的配置文件路径为:/etc/vsftpd/vs…

软件测试基础面试题大全(上)

1. 软件生命周期是什么? 软件生命周期:需求调研(可行性研究)、需求分析(需求规格说明书)、设计(系统架构、模块设计、表结构设计、接口设计等,产出概要设计文档和详细设计文档&…

表达式求值问题-双栈模板化实现

好久不见,真的很久都没有更新博客了,最近很多事情,所以比较忙碌,没有时间每天都学算法,但是我会挤时间尽量做到,每两三天就更新博客,我会努力的,加油~ 前言:计算器都见过…

加码本地生活、成为“万能入口”,抖音完成了百度曾经的梦想

文|螳螂观察 作者| 小别 前有美团点评,后有阿里巴巴,本地生活服务从来就不平静。 并没有在最好的时间出发的抖音,还是顺着短视频的内容优势,从团购、本地游、外卖再到近期推出商城频道,逐步完善了本地生活服务的布局…

浅谈jmeter性能测试步骤入门

一、Jmeter简介 1 概述 jmeter是一个软件,使负载测试或业绩为导向的业务(功能)测试不同的协议或技术。 它是 Apache 软件基金会的Stefano Mazzocchi JMeter 最初开发的。 它主要对 Apache JServ(现在称为如 Apache Tomca…

linux命令文本命令之~~~ sort ~~ tr ~~cut ~~ uniq

目录 一. sort命令二. uniq 命令三. tr命令四. cut命令 一. sort命令 以行为单位对文件内容进行排序,也将他根据不同的数据类型来排序 比较原则是从首字符向后,依次按ASCII码进行比较,最后按照升序输出排序 语法格式: sort 【选…

Web自动化测试:selenium的使用以及关于driver=webdriver.Firefox()无驱动报错问题

Selenium 1.什么是Selenium? Selenium是一个用于Web应用程序测试的工具。 主流的自动化测试工具有: web自动化测试:selenium、robot frameworkApp端自动化测试:Appium、Monkeyrunner、UIautomationPC客户端(win32&…

打印机错误0x00000bc4,Win11系统找不到打印机怎么办

近期,又有不少小伙伴更新了Win11系统后,出现了打印机提示错误代码0x00000bc4,出现错误后,可能导致打印机无法正常工作,打印任务无法完成,或者打印机无法连接到电脑等问题。驱动人生就为大家带来打印机错误0…

使用docker部署wiki.js

安装docker这些就不讲了,教程一堆,相关的安装教程可以去官网看,只是没那么详细,尤其是有关数据库的配置:Docker 部署 Wiki.js pull wiki镜像: docker pull ghcr.io/requarks/wiki 如果是arm的机器&#xf…

Oracle存储过程~封神之作

简介 Oracle 存储过程是 Oracle 数据库中的一种数据处理对象,它可以在数据库中定义一组预定义的 SQL 语句,用于完成特定的数据库操作。存储过程可以被授权的用户调用,并且可以执行多个语句,这些语句可以被视为一个单独的操作&…