软件测试之【软件测试初级工程师技能点全解】

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 软件测试之【软件测试初级工程师技能点全解】

🔥前言

做为一名初级测试工程师,我们需要掌握哪些知识技能呢?请看下面的思维导图:

详细内容见下文,尽情期待吧!!!

🚀初级测试工程师技能点

👉测试理论基础

软件测试是软件工程中,研发流程里的一个重要环节。

软件测试概念

1️⃣软件测试是一个过程,贯穿软件研发流程^[x项目计划、需求分析、软件设计(概要设计、详细设计)、编码、软件测试、运行维护

]的始终,而不仅仅是单一的一个环节,其中一系列测试准备工作

测试计划---->测试设计------>测试实行(实现+执行)

2️⃣软件测试不仅仅是找软件的bug,还需要验证软件是否符合预期的工作,并进行相应的软件系统预防。

3️⃣软件测试的考察方面包括:性能表现、功能表现、兼容表现、安全表现、易用表现、可移植表现、可维护表现等。软件测试技术有:手工测试、自动化测试,静态测试、动态测试,黑盒测试、白盒测试。

🔥(IEEE官方定义)使用人工和自动手段来运行测试某个系统的过程;其目的是在于检验软件是否满足规定的需求或是弄清预期结果与实际结果之间的差别。

测试的目的

证明---->检测---->预防

1️⃣证明软件能的正确工作;

2️⃣发现软件的错误,找到潜在的问题;

3️⃣全面质量的管理,软件测试贯彻软件的整个生命周期。

👉测试相关流程

软件测试的基本流程图

软件测试基本流程

1️⃣单元测试(UT:Unit Testing):

👉测试概念:针对软件系统的最基本单位(函数、类、表)做测试,也称作组件测试;

👉测试依据:详细设计文档(LLD);

👉测试方法:白盒测试方法为主(透明的、开放的、打开的盒子—能够看到里面的细节)

👉考察基准:逻辑覆盖率(判定覆盖;语句覆盖;条件覆盖…)

2️⃣集成测试(IT:Intergration Testing):

👉测试概念:将完成单元测试的各个函数、各个类和表进行层层组装,检查在组装的过程中接口问题,数据传递的正确性,也称作组装测试、联合测试;

👉测试依据:概要设计文档(HLD)

👉测试方法:白盒方法+黑盒方法(灰盒方法);

👉考察基准:接口覆盖率

3️⃣系统测试(ST:System Testing):

👉测试概念:将组装完成的软件系统作为一个元素与其他软硬件和一些外设做整体的测试,检查软件系统的外部表现;

👉测试依据:软件需求规格说明书(SRS);

👉测试方法:黑盒测试方法为主;

👉考察基准:功能需求覆盖率;

4️⃣验收测试:

👉测试概念:用户按照用户手册、验收合同对软件进行接受检查;根据验收结果决定是否接收;

👉测试依据:验收合同、用户手册

👉测试方法:黑盒测试方法

👉考察基准:达到实际的需求

PS:验收测试类型

🅰️Alpha验收测试(内测):在指定的环境(开发环境),有开发人员在现场,测试过程可控;

🅱️Beta验收测试(公测):在真实复杂的环境下,由潜在的用户进行测试,没有开发人员在现场,测试过程不可控;

👉测试具体操作

目前的软件测试采取双V模型进行测试:

一、测试计划

测试计划与分析设计方案

熟悉测试系统,撰写测试计划

测试计划

角色:测试经理(测试组长);

职责:确定测试范围;识别测试工作中会遇到的风险;安排测试进度;制定测试的目标;估算工作量,分配工作;

产出:系统测试计划,集成测试计划,单元测试计划。

功能测试方案、性能测试方案、兼容测试方案、安全测试方案、可靠性测试方案

测试分析设计方案

角色:测试架构师(测试分析设计师);

职责:根据测试计划去思考如何让这个工作按时、按质量交付与完成;具体如何使用各种测试工具、如何编写测试用例、脚本、需要几套环境、这些环境怎么部署、缺陷如何提交和跟踪、测试数据如何准备----从技术上指导后续的一系列测试工作如何开展;测试数据如何准备----从技术上指导后续的一系列测试工作如何开展;

产出:系统测试方案,集成测试方案,单元测试方案。

二、测试实现

测试实现主要是设计测试用例

测试实现

角色:测试工程师

职责:根据计划中任务分配按照方案中的用例设计方法的指导、用例格式写作要求测试代码的编写指导完成用例和脚本; 系统测试用例、脚本、规程

产出:集成测试用例、脚本、规程单元测试用例、脚本、规程

🅰️说明1:测试脚本是测试用例的一种(用编程语言写出的用例)

🅱️说明2:规程是对测试用例的执行顺讯做说明的一份文档

测试用例格式

八大要素:用例编号、测试项目、用例标题、重要级别、预置条件、测试输入、操作步骤、预期结果。

测试设计方法思维导图

三、测试执行

测试执行,主要包括搭建测试环境、执行测试用例、提交缺陷报告、回归测试、编写测试报告。

测试执行

角色:测试工程师

职责:根据计划的任务分配;测试方案关于环境(硬件环境;软件环境—系统环境;中间件软件;应用软件环境;数据)的部署的指导;按照测试规程的用例执行顺序的安排完成各种测试用例、脚本的执行,记录测试用例执行结果(通过;失败;阻塞(不可用););提交缺陷报告;跟踪缺陷报告;回归测试; 系统测试缺陷报告、阶段总结报告

产出:集成测试缺陷报告、阶段总结报告

单元测试缺陷报告、阶段总结报告

说明:总结报告是由测试经理(测试组长完成)

搭建测试环境

测试环境的搭建,主要是对Linux操作、docker操作、git仓库操作。

被测软件的环境部署

1️⃣Linux操作系统,因为日志文件等时我们测试人员主要在服务器端操作,所以需要学习Linux系统的相关操作与部署

🔥文件/目录操作命令

ls # 展示目录包含的内容
cd # 进入指定目录命令
find #查找文件路径
mkdir #创建新目录
rmdir #删除目录
mv #移动文件/重命名文件
cp #复制文件

🔥查看日志操作命令

tail #显示日志文件的尾行
head #显示日志文件的首行
less/more #按页显示
cat #查看日志文件

🔥修改配置文件操作命令

touch #创建空白文件
vi #进入配置文件
i #插入操作
# esc键退出进入命令界面
q!# 强制退出
wq #保存退出
chmod #变更修改文件权限

🔥安装相关软件操作命令

# 有网安装
yum/apt # 下载安装命令
# 无网安装
tar #命令,该命令即是打包压缩的命令,也有导包安装的功能。

🔥查看服务器性能与进程操作命令

top #查看进程情况
free #查看空闲的内存
ps # 查看进程号
df # 磁盘的使用情况

🔥网络操作

ifconfig #查看io地址
netstat #显示网络状况、是否有端口占用
ping #显示网络连接情况

2️⃣docker容器相关操作

docker 三要素:仓库、镜像、容器相关操作如下:

docker仓库相关操作

systemctl start docker #启动docker
systemctl stop docker  #停止docker
systemctl restart docker #重启docker

docker镜像相关操作

docker search # 搜索镜像
docker pull #拉取镜像下载
docker images #查看本地镜像
docker rmi #删除镜像

docker容器操作

docker run  # 运行容器
docker ps # 查看容器
docker start# 启动容器
docker stop # 停止容器
docker restart #重启容器
docker exec #进入容器
docker rm #删除容器
被测软件的获取

git部署,git仓库的操作

git init #创建本地仓库
# 本地仓库管理
git branch #创建分支
git add #文件进入暂存区
git commit #文件进入本地仓库
git clone #克隆远程仓库
# 远程仓库操作
git pull #下载远程仓库的文件
git push #推送文件到远程仓库
执行测试用例

软件测试初级阶段主要是手工执行测试用例,并涉及到一下知识技能点

1️⃣冒烟测试:基本功能与基本业务跑一遍,即前面的证明软件能运行阶段

2️⃣输入测试数据,检查数据库

数据库基本操作

🅰️Mysql数据库思维导图

库操作

表操作

🅱️MongoDB操作语句思维导图

3️⃣检查界面

查看软件使用界面是否有具体的错误,如错别字,图片错误等。

5️⃣查看日志

Linux操作调取日志。

提交缺陷报告及回归测试和编写测试报告

缺陷报告元素:缺陷ID、缺陷标题、缺陷属性部分(所属模块、严重程度、优先级、重现频度、状态)、缺陷详细描述(缺陷环境、操作步骤、预期结果、实际结果、进一步分析、备注(截图、录屏))

回归测试:选择性回归测试、完全回归测试

编写测试报告

⭐️⭐️⭐️总结

本文是对软件测试初级阶段的一个技能总结,其中主要包括:测试用例的撰写、缺陷报告的撰写、被测软件的操作:Linux环境部署、docker网站部署操作、git远程仓库文件的获取、mysql数据表的查询操作等。需要具体知识点查看的友友可进入我的主页查看系列具体知识技能文章。

相关实践学习
通过日志服务实现云资源OSS的安全审计
本实验介绍如何通过日志服务实现云资源OSS的安全审计。
目录
相关文章
|
10月前
|
人工智能 搜索推荐 数据管理
探索软件测试中的自动化测试框架选择与优化策略
本文深入探讨了在现代软件开发流程中,如何根据项目特性、团队技能和长期维护需求,精准选择合适的自动化测试框架。
410 11
|
8天前
|
人工智能 自然语言处理 测试技术
让AI帮你跑用例-重复执行,不该成为测试工程师的主旋律
测试不该止步于重复执行。测吧科技推出用例自动执行智能体,通过AI理解自然语言用例,动态规划路径、自主操作工具、自动重试并生成报告,让测试工程师从“点点点”中解放,专注质量思考与创新,提升效率3倍以上,节约人力超50%,重构测试生产力。
|
2月前
|
算法 测试技术 API
从自学到实战:一位测试工程师的成长之路
在技术快速发展的今天,自动化测试已成为提升职场竞争力的关键技能。本文讲述了一位测试工程师从自学到实战的成长之路,分享他在学习UI、APP和API自动化过程中遇到的挑战,以及如何通过实际项目磨炼技术、突破瓶颈。他从最初自学的迷茫,到实战中发现问题、解决问题,再到得到导师指导,逐步掌握测试开发的核心思维,并向测试平台建设方向迈进。文章总结了他从理论到实践、从执行到思考的转变经验,强调了实战、导师指导和技术服务于业务的重要性。最后,邀请读者分享自己的技术突破故事,共同交流成长。
|
2月前
|
Prometheus 监控 Cloud Native
测试开发工程师的必备法宝:性能监控与分析工具全面指南
在软件开发高速迭代的今天,性能问题直接决定着产品质量和用户体验。作为测试开发工程师,熟练运用专业的性能监控与剖析工具,不仅能精准定位系统瓶颈,更能为优化决策提供可靠依据。本文将系统解析当前主流的性能监控与剖析工具及其应用场景。
|
3月前
|
人工智能 Java 测试技术
Java or Python?测试开发工程师如何选择合适的编程语言?
测试工程师如何选择编程语言?Java 还是 Python?多位资深专家分享建议:Python 入门简单、开发效率高,适合新手及自动化测试;Java 生态成熟,适合大型项目和平台开发。建议结合公司技术栈、个人基础及发展方向选择。长远来看,两者兼通更佳,同时关注 Go 等新兴语言。快速学习与实践才是关键。
|
10月前
|
测试技术 持续交付
探索软件测试中的自动化测试策略
随着软件开发周期的加速和市场需求的不断增长,传统的手动软件测试方法已难以满足现代软件开发的高效性和准确性要求。本文旨在探讨自动化测试在软件测试中的重要性、实施策略及其对提高软件质量的影响。通过分析自动化测试的优势与挑战,以及提供实用的自动化测试工具和框架选择指南,旨在帮助读者理解并应用自动化测试以提升软件开发效率和产品质量。
|
6月前
|
人工智能 自然语言处理 JavaScript
测试工程师要失业?Magnitude:开源AI Agent驱动的端到端测试框架,让Web测试更智能,自动完善测试用例!
Magnitude是一个基于视觉AI代理的开源端到端测试框架,通过自然语言构建测试用例,结合推理代理和视觉代理实现智能化的Web应用测试,支持本地运行和CI/CD集成。
807 15
测试工程师要失业?Magnitude:开源AI Agent驱动的端到端测试框架,让Web测试更智能,自动完善测试用例!
|
10月前
|
机器学习/深度学习 人工智能 监控
软件测试中的自动化测试策略与最佳实践##
在当今快速发展的软件行业中,自动化测试已成为确保软件质量和加速产品上市的关键工具。本文将探讨自动化测试的重要性,分析不同类型的自动化测试工具和框架,并深入讨论实施自动化测试的最佳实践。通过案例研究和数据分析,我们将揭示如何有效整合自动化测试到软件开发生命周期中,以及它如何帮助团队提高测试效率和覆盖率。 ##
173 1
|
8月前
|
存储 数据可视化 测试技术
一个测试工程师的实战笔记:我是如何在Postman和Apipost之间做出选择的?
优秀的API测试工具应该具备: 分层设计:既有可视化操作,也开放代码层深度定制 场景感知:自动识别加密需求推荐处理方案 协议包容:不强迫开发者为了不同协议切换工具 数据主权:允许自主选择数据存储位置
224 7
|
10月前
|
Java 测试技术 API
探索软件测试中的自动化测试框架
本文深入探讨了自动化测试在软件开发中的重要性,并详细介绍了几种流行的自动化测试框架。通过比较它们的优缺点和适用场景,旨在为读者提供选择合适自动化测试工具的参考依据。