您好,我是程序员小羊!
前言
这是一篇功能测试专栏系列《揭秘功能测试的秘密:从初学者到专家的必备指南》本系列将深入探讨了软件测试的基础知识和实用技巧,从手动测试到自动化测试工具的使用,涵盖了测试流程、测试用例设计、测试执行与报告生成等关键内容。无论你是软件测试新手,还是想要提升测试技能的开发者,这篇教程都将为你提供全面的指导,助你掌握软件测试的最佳实践,打造高质量的软件产品。后续内容大概会分三篇文章写完(上、中、下),中级会穿插一些扩展知识(软件测试需要具备的基础知识【功能测试】)感谢大家支持,大家可以先赞后看,养成好喜欢哦!!!!
揭秘功能测试的秘密:测试基础(上)
揭秘功能测试的秘密:功能用例实战(中)
揭秘功能测试的秘密:缺陷管理(下)
正文:
这一章节讲解是软件的缺陷,这是功能测试基础知识的最后一节,结束后后期会做个商场项目的功能测试的项目讲解,希望大家多多支持。
软件缺陷
一、缺陷的定义
软件在使用过程中存在的任何问题(如:错误、异常等),都叫软件的缺陷,简称bug。
软件缺陷的存在会导致软件产品在某种程度上不能满足用户的需求。
二、缺陷的判定标准
- 软件未实现需求(规格)说明书中明确要求的功能–少功能
- 软件出现了需求(规格)说明书中指明不应该出现的错误-功能错误
- 软件实现的功能超出需求(规格)说明书指明的范围-多功能
- 软件未实现需求(规格)说明书中虽未明确指明但应该实现的要求–隐性功能错误
- 软件难以理解,不易使用,运行缓慢,用户体验不好-不易使用
三、缺陷产生的原因
- 需求阶段:需求描述不易理解,有歧义、错误等
- 设计阶段: 设计文档存在错误或者缺陷
- 编码阶段:代码出现错误
- 运行系统:软硬件系统本身故障导致软件缺陷
四、缺陷的生命周期
1、回归测试:
①常规项⽬回归:项⽬本次发布新增2个模块,最基本要测新增模块功能及新增模块关联的旧模块。
②⾮常规项⽬(银⾏、部队、航天):新增功能,必须全部复测。
2、回归bug:上⼀个版本发现的缺陷,开发修复完毕,在下个版本进⾏重新验证。
五、软件缺陷的核心内容
缺陷的标题——描述缺陷的核心问题
例如:后台会员管理输入正确的手机号添加会员添加失败,提示:手机号码有误
缺陷的预置条件——缺陷产生的前提
缺陷的复现步骤——复现缺陷的过程
缺陷的预期结果——希望得到的结果
例如:输入正确的手机号添加会员应该能够成功
缺陷的实际结果——实际得到的结果
例如:输入正确的手机号添加会员提示手机号码有误
缺陷的必要附件——图片、日志等信息(证据)
六、缺陷提交要素
缺陷编号:缺陷的唯一性标志
缺陷状态:表示缺陷当前处于哪个阶段
常见缺陷状态:
- new:新建,表示缺陷刚创建
- open:打开,表示已经指派或者开发认领了bug
- inprogress:进行中,表示开发正在修改中
- fixed:已修复,表示测试可以验证了
- closed:已关闭,表示测试验证通过
- rejected:已拒绝,表示开发拒绝了当前bug
- postpone/delay:已延迟,表示开发延迟修复该bug
缺陷所属模块:缺陷属于哪个被测的模块
缺陷严重程度:该缺陷的破坏程度或者影响程度
- critical
- major
- medium
- minor
- tiny
缺陷优先级:处理该缺陷的优先程度
- urgent priority
- veryhigh priority
- high priority
- medium priority
- low priority
七、缺陷类型
1、功能错误
2、UI⻚⾯错误
3、兼容性
4、数据(数据库)
5、易⽤性
6、建议
7、架构缺陷
工作流程(小结)
设计⽤例->执⾏⽤例(执⾏测试)->缺陷(提交、验证、关闭)
缺陷定义:任何问题(Bug)
缺陷标准:多功能、少功能、错误、缺少隐性功能、易⽤性
描述缺陷重点:缺陷标题、前置条件、复现步骤、预期结果、实际结果、附件备注
提交缺陷信息:指派⼈、缺陷等级、修复优先级、类型、状态(统计缺陷)
八、缺陷管理流程
在使用缺陷管理工具前我们要知道缺陷的跟踪流程
提示:知道测试和开发流程中涉及的⼯作即可。
但是提交要注意的事项:
可重现:缺陷可以复现
唯一性:一个缺陷上报一个问题
规范性:符合公司或者项目要求
准确:描述的信息是正确的
具体:有细节且是真实特定的
避免使用模糊不清的词语,例如:“功能中断,功能不正确,行为不起作用”等
应该使用具体文字说明缺陷的症状;
简洁易懂:描述简单容易理解
次序清晰:描述缺陷过程有条件,有先后顺序
扩展:
⾯试题:发现缺陷后,⾸先回怎么办?--确定Bug可复现、确定是Bug。
提交时,要检查缺陷是否已存在。
九、缺陷管理工具
我们平时使用的用缺陷管理工具一般为两种:
第一种:
1.1 Excel管理缺陷
第二种
2.1项目管理⼯具-管理缺陷 (禅道、JIRA、TFS)
我主要讲禅道为主
2.2禅道的介绍
禅道(ZenTao)是中国一款广泛使用的开源项目管理工具,专门为软件研发团队设计。它集成了项目管理、产品管理、测试管理、以及文档管理等功能,是一个全生命周期的项目管理工具,尤其在敏捷开发和瀑布式开发模式中表现突出。下面将详细介绍和解释禅道的功能、部署方法、以及如何帮助测试人员进行项目管理。
简单的说:
- 国产、免费、开源、简单、轻量级
- 三管融合(产品管理、项目管理、质量管理)
2.3禅道的特点
-
三权分立
产品部门——构想者 研发部门——执行者 测试部门——保证者
- 四角协同
2.4 测试人员使用禅道
管理用例
- 创建用例
- 评审用例
管理缺陷
- 缺陷的创建
操作步骤:
1、登录
2、创建缺陷
3、关闭缺陷
详情见下方禅道系统使用演示软件测试之禅道的使用
十、缺陷标题扩展
十一、禅道的部署方式(扩展)
禅道的部署方式灵活多样,可以根据企业的规模和需求选择不同的部署方式。
本地部署:禅道支持在企业内部服务器上进行本地部署,适合对数据安全性要求较高的企业。禅道提供了详细的安装包和文档,支持Windows、Linux、Docker等多种环境,企业可以根据自己的技术能力选择合适的部署方案。安装完成后,企业IT人员可以根据需要配置禅道的各项功能模块,确保系统满足团队的使用需求。
云端部署:对于不愿意承担服务器维护和管理成本的企业,禅道还提供了云端部署服务。企业可以选择禅道官方提供的云服务,或者在自己的云平台上部署禅道。这种方式的优点是可以快速部署上线,并且禅道官方会定期提供系统升级和安全维护,降低企业的运维成本。
混合部署:部分企业可能会选择将部分功能部署在本地,而将其他功能(如备份、存储等)放在云端。这种混合部署方式既能保证数据的安全性,又能享受云服务的便利。
该方法为本地部署在Linux服务器上
一、安装
禅道软件下载地址:禅道软件包 请根据自己的需要下载对应的版本。
1.1 将安装包直接解压到/opt目录下
cd /opt
wget https://www.zentao.net/dl/zentao/18.5/ZenTaoPMS.18.5.zbox_64.tar.gz
tar xvzf ZenTaoPMS.18.5.zbox_64.tar.gz
特别说明:
- 不要解压到别的目录再拷贝到/opt/,因为这样会导致文件的所有者和读写权限改变
- 不要解压后把整个目录777权限。
1.2 Apache和MySQL常用命令
-
启动所有服务:
/opt/zbox/zbox start
-
停止所有服务:
/opt/zbox/zbox stop
-
重启所有服务:
/opt/zbox/zbox restart
-
通过配置检查服务状态:
/opt/zbox/zbox check 【18.10版本支持】
-
注:如果需要开机自动启动,可以把
/opt/zbox/zbox restart
加到操作系统的自启目录。
1.3 访问和登录禅道
启动Apache和MySQL服务后,浏览器直接访问 http://禅道服务器ip:apache端口
即可访问和登录禅道。
注意:
- 如果网页无法访问,请先关闭禅道所在电脑的防火墙和selinux再刷新网页访问试一下。
- 使用云服务器请注意在安全组中开放apache使用端口
- 禅道默认管理员帐号是
admin
,密码123456
。
登录后,即可使用禅道项目管理功能。具体的使用,请直接参考我们的使用手册文档。
1.4 其他参数
如果不加任何参数执行 /opt/zbox/zbox
会打印输出命令可用参数:
Usage: ./zbox {start|stop|status|check} [--aport=8080] [--mport=3307]
--aport参数
可以修改Apache的端口--mport参数
可以修改Mysql的端口
例如(apache端口改为8080,mysql端口改为3307):
/opt/zbox/zbox --aport 8080 --mport 3307 start
15:49:49 root@mini zbox → /opt/zbox/zbox --aport 8080 --mport 3307 start
15:52:09.54 INFO ==> Starting service with custom port,Apache port=8080, MySQL port=3307...
15:52:09.57 INFO ==> Stopping the apache service...
15:52:10.68 INFO ==> The apache service is stopped.
15:52:10.69 INFO ==> Starting apache service...
15:52:10.76 INFO ==> Stopping the mysql service...
15:52:11.79 INFO ==> MySQL stop successfully.
15:52:11.80 INFO ==> Starting mysql service...
15:52:12.94 WARN ==> XXD is running.
==============================================================
Service Port Status Version Comment
==============================================================
Apache 8080 running 2.4.57
PHP - running 7.4.33 prefork
MySQL 3307 running 10.6.14 MariaDB
XXD 11443 11444 running 7.2.2
==============================================================
Application Version
==============================================================
zentaomax max4.5
adminer 4.8.1
二、如何访问数据库
2.1 网页登录数据库
禅道数据库管理用的是adminer,但是为了安全,访问adminer的时候需要身份验证,需要运行 /opt/zbox/auth/adduser.sh
来添加用户,如下命令:
# 进入脚本目录
cd /opt/zbox/auth
# 执行添加用户的脚本
bash adduser.sh
This tool is used to add user to access adminer
Account: admin # 输入用户名
Password: # 输入密码
Adding password for user admin
打开浏览器,输入 http://禅道服务的ip:apache
端口 点击“数据库管理”:
弹窗验证是输入运行 addusers.sh添加的用户名和密码:
我加的用户名是admin
,密码是admin!@#
。那么授权页面里用户名和密码就填写admin
和admin!@#
。
- 网页直接显示登录界面:
- 系 统:默认选择MySQL。
- 服务器:127.0.0.1:MySQL端口 (MySQL端口启用的是3307,那么就填127.0.0.1:3307。注意:ip只能写127.0.0.1)
- 用户名: root(禅道默认的数据库用户名是root)
- 密 码:123456(禅道默认的数据库密码是123456)
- 数据库:zentao。
导入数据:
2.2 命令行连接数据库
登录数据库:/opt/zbox/bin/mysql -u root -P MySQL端口 -p
(如:/opt/zbox/bin/mysql -u root -P 3306 -p)
导入数据库:/opt/zbox/bin/mysql -u root -P MySQL端口 -p
要导入的库名 < XXXX.sql (如:/opt/zbox/bin/mysql -u root -P 3306 -p zentao < zentao.sql)
三、查看服务状态
执行 /opt/zbox/zbox status
可以查看当前服务状态和版本信息,如下:
/opt/zbox/zbox status
16:06:15.41 INFO ==> Checking service status...
==============================================================
Service Port Status Version Comment
==============================================================
Apache 8080 running 2.4.57
PHP - running 7.4.33 prefork
MySQL 3307 running 10.6.14 MariaDB
XXD 11443 11444 running 7.2.2
==============================================================
Application Version
==============================================================
zentaomax max4.5
adminer 4.8.1
四、其他说明
4.1 日志压缩与清理
Linux一键安装包默认对Apache的访问日志和错误日志按天进行压缩,但不会定期清理,请更加需要添加定时任务,维护压缩的日志文件。
Apache日志压缩的配置参见:/opt/zbox/etc/apache/httpd.conf
4.2 一键安装包目录结构说明
一键安装包的根目录有README
文件,里面详细的介绍了目录结构及功能。
4.3 XXD自动配置
XXD服务会自动与禅道建立联系并启动,如下图:
4.4 配置文件
一键安装包首次启动时,会在根目录创建一个 .env 文件,这个文件中保存了一些初始配置,你可以根据情况更改这些配置,以下是关于配置的说明:
# Apache 主机地址,如果用外部Web服务,需要手动修改,18.10版本新增
export APACHE_HOST=127.0.0.1
# Aapche 端口号,通过--aport参数修改
export APACHE_PORT=80
# MySQL 主机地址,如果用外部MySQL,需要手动修改,18.10版本新增
export MYSQL_HOST=127.0.0.1
# MySQL 端口号,通过--mport参数修改
export MYSQL_PORT=3306
# MySQL 密码,如果手动更改后,需要修改这个配置
export MYSQL_PASS=123456
# 服务的默认用户,不要修改
export DEFAULT_USER="nobody"
# 服务的默认用户组,不要修改
export DEFAULT_GROUP="nogroup"
# 是否启用内置MySQL服务,18.10版本新增
export MYSQL_SERVICE=enabled
# 是否启用内置Apache服务,18.10版本新增
export APACHE_SERVICE=enabled
# 是否启用内置XXD服务,18.10 版本新增
export XXD_SERVICE=enabled
# 是否启用内置Roadrunner服务,18.10版本新增
export ROADRUNNER_SERVICE=enabled
# 设置PATH变量
export PATH=$PATH:/opt/zbox/bin
提示:
从18.10 版本开始,会兼容之前的配置,也就是说,如果用户做了修改,升级后不会覆盖配置,而且还会把新增的配置项添加到已有的配置文件中。
如果在.env中开启(enabled)或者禁用(disabled)了某些服务,需要通过 /opt/zbox/zbox check
使配置立即生效。
到此禅道的部署也就结束了
结尾
这篇文章后面会有上篇文章作业的答案,还有这次的一些案例,这篇文章结束代表这个系列也算结束,下篇文章会讲解作业,大厦之成,非一木之材也;大海之阔,非一流之归也,当然也希望大家能持续关注下,文章从浅到深,也欢迎大佬们的随时指导!!!可能会有人觉得枯燥,但是坚持就是胜利,下篇会继续写干货~
**上篇文章作业答案(作业1) **: