1.bug管理流程
提单:测试人员提交bug的详细信息给到测试经理进行审核
规范审核:测试经理对提交的bug进行审核,看提交的bug是否清晰是否有重复的每个bug都是自己的编号 #12791
仲裁:一般是指公司有话语权的大佬(测试经理,开发经理,项目,产品经理等等)、
推迟:优先级高的bug先处理,优先级低的bug可以推迟处理
多名测试人员提交bug给至测试经理进行规范审核,审核不通过则直接给到测试人员进行重复提交,审核通过则查看与其他测试人员提交的bug是否有重复,如重复则直接丢弃,如不重复则提交至开发经理,然后由开发经理对bug进行分配给到具体的开发人员,开发人员根据项目的进度,项目的情况,对于优先级高的bug优先处理,对于优先级低的bug可以延迟处理, 开发对所有的bug进行修复之后提交至测试经理,测试经理把已修复的bug分配给到测试人员,(由开发人员把bug直接给到bug的发起人)由测试人员回归测试,测试通过则把bug关闭,回归测试不通过则重新打开bug。
2.bug的状态
(1)New(新的):
当你发现一个bug的时候,需要与项目负责人或者你的leader沟通以确认发现的确实是一个bug,如果被确认是一个bug后,就可以将其记录下来,并将bug的状态设为New。
(2)Assigned(被指派的):
当一个bug被指认为New之后,将其指派给开发人员,开发人员将确认这是否是一个bug,如果是,开发组的负责人就将这个bug指定给某位开发人员处理,并将bug的状态设定为Assigned
(3)Pending Reject(拒绝中):
如果测试人员传递到开发组的bug被开发人员认为是正常行为而不是bug时,这种情况下开发人员可以拒绝,并将bug的状态设置为“Pending Reject”
(4)Open(打开):
一旦开发人员开始处理bug的时候,他就将这个bug的状态设置为Open,这表示开发人员正在处理这个bug
(5)Fixed(开发认为已修复):
当开发人员进行处理(并认为已经解决)之后,他(她)就可以将这个bug的状态设置为Fixed并将其提交给开发组的负责人,然后开发组的负责人将这个bug返还给测试组
(6)Closed(关闭):
如果测试人员经过再次测试之后确认bug已经被解决之后,就将bug的状态设置为Closed
(7)Reopen(重新打开):
如果经过再次测试发现bug(指bug本身而不是包括因修复而引发的新bug)仍然存在的话,测试人员将bug再次传递给开发组,并将bug的状态设置为“Reopen”
(8)Postponed(延期):
有些时候,对于一些特殊的bug的测试需要搁置一段时间,事实上有很多原因可能导致这种情况的发生,比如无效的测试数据,一些特殊的无效的功能等等,在这种情况下,bug的状态就被设置为“Postponed”
3.bug的级别
致命 L1-level
严重 L2
一般 L3
建议 L4
4.一条bug应该包含哪些信息
bug编号
bug标题
bug重现步骤
bug的所属模块
bug的严重程度
bug的优先级
bug的出现概率(偶现,必现)
bug的发起人(创建者)
bug的所属版本
bug的所属项目
bug的预期结果
bug的实际结果
bug的错误类型(代码设计缺陷,UI界面,数据库导致,环境相关的bug)
bug的日志
5.常用的bug管理工具有哪些?各有哪些特点?
testlink --用例管理工具
项目管理、bug管理、用例管理 --集成在一个系统当中
禅道:项目管理工具、用例管理和bug管理工具
JIRA
BUGFREE
QC
Bugzilla
Jira:管理项目,跟踪任务及bug,通过Jira的邮件通知功能进行协作通知,
在实际工作中使工作效率提高,其安全性、可扩展性方面发挥到了极致。
它不仅仅是一个缺陷跟踪系统,通过Jira可以整合客户、开发人员、测试人员,
各人各司其职,信息很快得到交流反馈。
Mantis:一款基于Web的Php+Mysql的开源bug管理系统,简单实用,有截图功能,报表功能比较强大
EasyBUG:基于Web的在线的,不用配置;界面很漂亮,操作容易上手,基本上只要是会上网的人一看就会用;区别其它工具且最实用的一点是截图功能强大,且是以图片的形式直接存在,而不是以附件的形式存在;BUG解决流程也有记录在案;丰富的统计报表,一目了然。
BugFree:基于Web的,配置安装简单,只需到网上获取安装包,再配下PHP通用的环境即可;纯功能型的界面就无所谓美观;没有直接的截图功能但是可以以附件的形式存在;也有简单的报表统计功能。
Bugzilla:基于Web方式,免费的开源的一款功能强大的Bug管理系统,比如强大的检索功能,强大的后端数据库支持, 丰富多样的配置设定。
6、禅道工具的组织结构?
组织:部门-添加下级部门、用户-添加产品经理,项目经理,开发经理,
测试经理,测试和开发
产品:产品-添加产品、模块-维护子模块、计划-创建计划、
需求-提需求(不评审)
项目:项目-添加项目、团队-团队管理、版本-创建版本、
任务-建任务、需求-关联需求
测试:版本-提交测试、用例-导出模板上传用例、bug-提交bug
后台:后台-发信配置邮件发送
7、你负责的模块当中找到了多少个bug? 你认为最有意义的1个bug是什么?你是怎么找到这个bug的?找bug你是怎么去定位分析的?
ZenTaoPMS.8.2.5
禅道:
8.2.5 --版本号
PMS -- project management system
项目管理系统
xampp
a - apache
m - mysql
p - php
p - perl
oracle 甲骨文公司 DBA进Oracle
http://127.0.0.1/index.php
http://127.0.0.1 --本机的IP地址
localhost -- 也是指的本机
index - 首页
易软天创项目管理系统 -这个公司开发的
产品经理
项目经理
测试经理
开发经理
测试
开发
面试问题:
用例的八大要素:
禅道导出的路径在:C:\Users\Administrator\Downloads
在计算机中输入:C:\Users\Administrator\Downloads
就可以看到导出的csv格式的文件
bug标题描述:实际情况是什么就写什么。
禅道文档:用户操作手册 需求文档 产品说明文档
8.
内网 代码=钱
区块链 blockchain bitcoin --不可篡改 分布式记账系统
云计算
大数据
人工智能
容器
数据库分为:
关系型数据库:MySQL Oracle(Oracle公司的) SQL server(微软)
非关系型数据库:mongodb Redis nosql
9.卸载mysql
1: rpm -aq |grep -i mysql 查看是否有mysql数据库
*****.i686
2: service mysqld status(查询状态)/stop(停止)/start(运行)/restart(重启)
3:yum erase *****.i686 在线卸载
5:find / -name mysql
6:rm –rf 删除所有“mysql”文件 (my.cnf*数据配置文件)(在WINDOWS上,my.ini)
7:find / -name mysql 无数据,已手动清除
8:退出MySQL:quit或exit
10.安装:yum 在线安装mysql_5.1
1:yum install mysql
按2次‘y’,直至出现“Complete!”表示安装成功
2:service mysqld status (mysqld是mysql的守护进程)
mysqld: unrecognized service
3:yum install mysql-server
按1次‘y’,直至出现“Complete!”表示安装成功
或NAT网络配置地址转换,service network restart 重启网卡
4:service mysqld start 启动mysql服务
5:安装成功后,可以有2种方式访问:
1)无密码访问(默认的root用户密码为空)mysql -u root -p 回车后,再回车,出现如下字样,表示访问mysql服务器成功:mysql>
2)有密码访问(给root用户设置密码:mysqladmin -u root password ”123456” 回车后,重启数据库;访问时:mysql -u root -p 回车后,输入密码,在回车
3)修改密码: MySQL> update mysql.user set password=PASSWORD('newpassword') where User='root’;
ERROR 1045 (28000): Access denied for user
'root'@'localhost' (using password: NO) --密码输入错误报错
ERROR 2002 (HY000): Can't connect to local
MySQL server through socket '/var/lib/mysql
/mysql.sock' (2) --没有启动数据库输入service mysqld start
SQL操作学习思路:
第一部分:
11:库的操作
1.show databases; //注意别忘记database后面的“s”
2.create database dcs_21; //注意数据库名的命名尽量使用下划线
3.drop database dcs_21;
1.mysql> show databases; 查询数据库
+--------------------+
| Database |
+--------------------+
| information_schema |
| wzq |
| mysql |
| performance_schema |
| test |
+--------------------+
5 rows in set
2. mysql> create database wzq; 创建数据库
Query OK, 1 row affected
3. mysql> drop database wzq; 删除数据库
Query OK, 1 row affected
二:表结构的操作
1. mysql> use wzq; 进入“wzq”的库
Database changed
2. mysql> show tables; 查询该库的表
+---------------------------+
| Tables_in_mysql |
+---------------------------+
| columns_priv |
| db |
| event |
| func |
| general_log |
3. mysql> create table wzq_student(id int(4) primary key,name varchar(20) not null,sex int(2),age int(3),mobilephone_number int(12));
Query OK, 0 rows affected //创建“wzq_student”表
注:建表的要点:字段名,数据类型,数据长度及字段约束:
在 MySQL 中,有三种主要的类型:文本、数字和日期/时间类型。
常见数据类型:
数字类number类型:
Int/ bigint: 当整数值超过int数据范围时才使用bigint 1,2,3,4,100
Float :单精度浮点型 比如:1.2 3.3
文本类 text类型:
Char/varchar :字符型 char:固定长度 varchar:可变长度
(一定要用单引号或者双引号不然会报错, )
Char/varchar 的区别:
char(10)可能占用了10个字节 编码格式:ASCII UNICODE UTF-8 GBK
varchar(10)可能只占了6个字节,把其余的4个字节留给了下一个字符
所以varchar比char更加的节省空间
一个汉字占多少长度与编码有关:
UTF-8:一个汉字=3个字节
GBK:一个汉字=2个字节
日期类 date类型:
date 建表的时候在日期的后面接 date,并且加引号
常见约束:(为了保证数据的完整性而实现的一套机制)
主码/键约束:primary key:具有唯一性,不能重复
默认值约束:default 1 (只对数字有反应,默认为null空,但是可以自己设置数字)
非空约束:not null (约束后字段里面内容不能为空)
外码/键约束:foreign key 作用:数据单一化,避免造成表中数据出现冗余;
4. mysql> desc wzq_student; 查询表结构
+--------------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------------+-------------+------+-----+---------+-------+
| id | int(4) | NO | PRI | NULL | |
| name | varchar(20) | NO | | NULL | |
| sex | int(2) | YES | | NULL | |
| age | int(3) | YES | | NULL | |
| mobilephone_number | int(12) | YES | | NULL | |
+--------------------+-------------+------+-----+---------+-------+
5 rows in set
5. mysql> alter table wzq_student rename wzq_student1;
Query OK, 0 rows affected //修改表名
6. mysql> alter table wzq_student change id s_id int(20);
Query OK, 0 rows affected //修改表字段
7. mysql> alter table wzq_student1 add class int(3) not null first;//在第一个字段前加一个‘class’字段
Query OK, 0 rows affected
Records: 0 Duplicates: 0 Warnings: 0
8. mysql> alter table wzq_student1 add class int(3) not null after age; //增加表字段class在age后
9. alter table dcs add (English int(4),Chinese int(4));同时增加俩个字段
10. alter table dcs modify id int(8) first ;可以实现调整表字段的位置;这是将‘id’字段放在最前面
11. mysql> alter table wzq_student1 drop class; //删除‘class’字段
Query OK, 0 rows affected
Records: 0 Duplicates: 0 Warnings: 0
12. mysql> alter table wzq_student change stu_id id int(12) auto_increment; //将主码id设为自增长。
Query OK, 0 rows affected
Records: 0 Duplicates: 0 Warnings: 0
13. drop table 表名; //删除基本表 (将表结构删除)
14. 删除数据
delete from 表名 //删除表中数据
delete from 表名 where 条件 //’where’可以指定删除对象
15.truncate 表名; //快速删除大量表数据,truncate后面直接接表名,比delete删除速度要快
truncate cxl:删除表中的数据,也会影响自增长的
delete from cxl: -- 1)只能删除表中的数据,不能影响表中的自增长约束
-- 2)使用delete删除的数据,通过事务可以回滚。
-- 3)后面带条件
16.delete from wzq_student where id=5 or id=7:删除指定的内容
注:TRUNCATE,DELETE,DROP放在一起比较:
TRUNCATE TABLE:删除内容、释放空间但不删除定义。
DELETE TABLE:删除内容不删除定义,不释放空间。
DROP TABLE:删除内容和定义,释放空间。