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

本文涉及的产品
日志服务 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数据表的查询操作等。需要具体知识点查看的友友可进入我的主页查看系列具体知识技能文章。

相关实践学习
日志服务之数据清洗与入湖
本教程介绍如何使用日志服务接入NGINX模拟数据,通过数据加工对数据进行清洗并归档至OSS中进行存储。
目录
相关文章
|
3天前
|
机器学习/深度学习 人工智能 自然语言处理
探索自动化测试的前沿:AI与软件测试的融合
在数字化浪潮中,软件测试作为确保产品质量的关键步骤,正迎来一场革命。本文将深入探讨人工智能(AI)如何革新传统软件测试流程,通过具体案例分析,揭示AI技术在提高测试效率、减少人为错误以及预测潜在缺陷方面的潜力。我们将一窥AI在自动化测试中的应用现状,并展望其对未来软件质量保障的影响。
|
15天前
|
敏捷开发 测试技术 持续交付
软件测试中的探索性测试方法
【6月更文挑战第30天】本文旨在深入探讨探索性测试(ET)方法在软件测试领域的应用及其带来的变革。通过分析ET的核心原则、实施过程和面临的挑战,文章揭示了ET如何提高测试效率,增强问题发现能力,并促进测试人员与开发人员之间的协作。同时,讨论了ET在敏捷开发环境中的适用性,以及它如何帮助企业构建更加灵活和响应迅速的测试策略。
|
13天前
|
敏捷开发 监控 测试技术
软件测试中的敏捷实践:如何有效整合测试与开发
【7月更文挑战第3天】在软件开发的快速迭代周期中,敏捷测试成为确保产品质量的关键。本文将探讨如何在敏捷开发环境中整合测试与开发工作,包括持续集成、测试自动化和跨功能团队协作的策略,旨在提升软件交付的速度和质量。
|
17天前
|
消息中间件 缓存 中间件
【赠书活动 - 第1期】- 测试工程师Python开发实战(异步图书出品)| 文末送书
【赠书活动 - 第1期】- 测试工程师Python开发实战(异步图书出品)| 文末送书
|
19天前
|
测试技术 Android开发 流计算
软件测试之 单元测试
软件测试之 单元测试
16 2
|
19天前
|
测试技术 Windows
软件测试之 性能测试 性能测试基础指标 Loadrunner、Jmeter等工具(下)
软件测试之 性能测试 性能测试基础指标 Loadrunner、Jmeter等工具(下)
20 2
|
6天前
|
机器学习/深度学习 人工智能 自然语言处理
探索软件测试的新篇章:AI驱动的测试自动化
【7月更文挑战第10天】随着人工智能技术的蓬勃发展,软件测试领域迎来了革命性的变革。本文将深入探讨AI技术如何重塑软件测试流程,提升测试效率和准确性。从AI在测试用例生成、缺陷预测、测试执行以及结果分析的应用出发,我们将揭示AI技术如何使测试更加智能化、精准化,并展望AI在软件测试领域的未来发展趋势。
|
10天前
|
敏捷开发 监控 Devops
探索自动化测试的利剑:持续集成与持续部署(CI/CD)在软件测试中的应用
在软件开发的快速迭代中,传统的手动测试方法已经无法满足效率和质量的双重需求。本文将深入探讨如何通过实施持续集成(CI)和持续部署(CD)来优化自动化测试流程,提升软件交付速度及质量保证水平。我们将分析CI/CD在测试中的关键作用,并通过实际案例数据展示其对提高测试覆盖率、缩短反馈周期和增强开发协作的积极影响。
30 0
|
11天前
|
敏捷开发 jenkins 测试技术
软件测试中的敏捷实践:持续集成与自动化测试的融合之道
在软件开发领域,敏捷实践已成为提升项目响应速度和质量保证的重要手段。本文深入探讨了持续集成(CI)与自动化测试如何相辅相成,共同构建起一套高效、可靠的软件测试体系。通过实例分析,揭示了将敏捷原则应用于软件测试过程中的关键策略,并提出了实现这一目标的可行路径。文章旨在为软件测试专业人员提供一套结合敏捷理念的实用方法论,以应对快速迭代的软件项目需求。
|
13天前
|
敏捷开发 jenkins 测试技术
软件测试中的敏捷实践:持续集成与自动化测试的融合
在软件开发领域,敏捷方法论的兴起带来了开发流程的重大变革。特别是持续集成(CI)和自动化测试的结合使用,为提升软件质量和开发效率提供了强有力的支持。本文将探讨持续集成环境下自动化测试的实施策略、优势以及面临的挑战,并借助实证数据和案例分析,揭示这一组合如何促进敏捷团队高效地应对快速变化的需求与代码库。
21 0