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

本文涉及的产品
日志服务 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模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
11天前
|
机器学习/深度学习 前端开发 测试技术
探索软件测试中的自动化测试框架选择与优化策略####
本文深入探讨了在当前软件开发生命周期中,自动化测试框架的选择对于提升测试效率、保障产品质量的重要性。通过分析市场上主流的自动化测试工具,如Selenium、Appium、Jest等,结合具体项目需求,提出了一套系统化的选型与优化策略。文章首先概述了自动化测试的基本原理及其在现代软件开发中的角色变迁,随后详细对比了各主流框架的功能特点、适用场景及优缺点,最后基于实际案例,阐述了如何根据项目特性量身定制自动化测试解决方案,并给出了持续集成/持续部署(CI/CD)环境下的最佳实践建议。 --- ####
|
15天前
|
测试技术 开发者 UED
探索软件测试的深度:从单元测试到自动化测试
【10月更文挑战第30天】在软件开发的世界中,测试是确保产品质量和用户满意度的关键步骤。本文将深入探讨软件测试的不同层次,从基本的单元测试到复杂的自动化测试,揭示它们如何共同构建一个坚实的质量保证体系。我们将通过实际代码示例,展示如何在开发过程中实施有效的测试策略,以确保软件的稳定性和可靠性。无论你是新手还是经验丰富的开发者,这篇文章都将为你提供宝贵的见解和实用技巧。
|
13天前
|
jenkins 测试技术 持续交付
软件测试中的自动化测试策略
在当今快速发展的软件行业中,自动化测试已成为确保软件质量和效率的关键工具。本文将探讨自动化测试的重要性、实施策略以及面临的挑战,旨在为软件开发团队提供实用的指导和建议。
|
22天前
|
测试技术
探索软件测试中的“思维侧翼”——如何以创新思维引领测试策略###
本文旨在探讨软件测试领域中,如何通过培养与运用创新思维,提升测试策略的有效性与效率。不同于传统的技术解析或理论阐述,本文将以“思维侧翼”为喻,启发读者从不同维度审视软件测试,寻找突破常规的思路与方法。我们相信,在快速迭代的软件开发周期中,灵活多变且富有创造力的测试思维,是发现潜在缺陷、保障产品质量的关键。 ###
|
23天前
|
测试技术 定位技术 UED
软件测试的艺术:探索性测试的深度与广度
【10月更文挑战第22天】在软件开发的广阔舞台上,测试扮演着不可或缺的角色。本文将带领读者深入理解探索性测试(Exploratory Testing)的精髓,揭示其在现代软件质量保证中的价值。我们将通过实际案例、生动比喻和具体步骤,展现如何像艺术家一样进行软件测试,确保产品质量的同时,提升测试的效率和乐趣。文章不仅适合初学者建立测试基础,也能帮助资深测试人员深化对探索性测试的理解和应用。
|
21天前
|
监控 安全 jenkins
探索软件测试的奥秘:自动化测试框架的搭建与实践
【10月更文挑战第24天】在软件开发的海洋里,测试是确保航行安全的灯塔。本文将带领读者揭开软件测试的神秘面纱,深入探讨如何从零开始搭建一个自动化测试框架,并配以代码示例。我们将一起航行在自动化测试的浪潮之上,体验从理论到实践的转变,最终达到提高测试效率和质量的彼岸。
|
12天前
|
测试技术 持续交付
软件测试中的自动化测试策略与最佳实践
【10月更文挑战第31天】 在当今快速迭代的软件开发环境中,自动化测试成为确保软件质量和加速产品上市的关键。本文探讨了自动化测试的重要性、实施策略以及一些最佳实践。通过分析不同类型的自动化测试工具和框架,本文旨在为软件开发团队提供一套实用的指导方案,以提高测试效率和质量。
|
1月前
|
监控 数据可视化 测试技术
软件测试中的自动化测试实践指南
【10月更文挑战第7天】 在软件开发的生命周期中,测试是确保产品质量的重要环节。随着技术的进步和应用的复杂性增加,自动化测试逐渐成为提升测试效率和覆盖范围的关键手段。本文将深入探讨自动化测试的基本概念、实施步骤及其在不同应用场景中的最佳实践。通过对自动化测试框架的选择、脚本开发、执行及维护的详细解析,帮助读者更好地理解和应用自动化测试技术,从而优化测试流程,提高软件质量。
43 2
|
1月前
|
Java 测试技术 程序员
「测试线排查的一些经验-上篇」&& 后端工程师
「测试线排查的一些经验-上篇」&& 后端工程师
16 1
|
27天前
|
测试技术 开发者
探索软件测试中的自动化测试框架
在软件开发的世界中,质量是至关重要的。为了确保软件产品的质量,软件测试扮演着不可或缺的角色。本文将深入探讨自动化测试框架的概念、重要性以及如何有效地实施它们来提高软件测试的效率和效果。我们将从自动化测试的基本概念开始,逐步深入到不同类型的自动化测试工具和框架,最后探讨如何在实际项目中选择合适的自动化测试策略。