一、学过的课程?
1、bug 管理与追踪、bug定义
2、测试用例设计
3、数据库(SQLserver、mysql)
4、linux操作系统
5、http协议 => 抓包(fiddler、开发者工具、charles)、接口测试(jmeter、postman)
6、python
7、禅道、testlink
二、为什么要学这些课程?
看群里面图<br />
三、测试基础
1、bug的定义?
2、bug的管理工具?
3、bug的生命周期?
打回 -> 提交 -> 处理中<br /> 1、打开 -> 处理中 -> 验证中 -> 关闭<br /> 重新打开 -> 处理中 -> 验证中 -> 关闭 ->重新打开...
4、bug描述:
项目名称、分类、创建时间、报告员、分配给
优先级、严重程度、概述
描述:
前置条件:
数据准备
操作步骤:
1、重现bug的步骤
预期结果:
1、符合prd上要求功能点
实际结果:
1、实际测试出来的结果
5、测试用例设计?
1、设计方法:
1、边界值 2、等价类划分 3、场景法(主流程、备选流) 4、判定表<br /> <br /> a和b<br /> a:对的 b:错误<br /> <br /> 5、错误推测法 6、因果图 <br /> 6、公司的角色?
1、产品经理: 输出 prd文档、召开产品评审会议等
2、项目经理(pmo):管理整个项目的生命周期
3、开发:
java开发(后端开发):开发接口<br /> 前端开发:html、css、js(js利用ajax请求)<br /> 安卓和ios开发(app):移动端开发
4、测试:
1、功能测试:pc端测试、移动端测试<br /> 2、自动化测试:1、UI自动化(pc端和移动端) 2、接口自动化<br /> 3、性能测试<br /> 4、安全测试(银行比较多)<br /> 5、测试开发(前后端)<br /> 6、配置管理(环境搭建、持续集成的工具提供等等)
5、UI设计:提供UI图片和页面设计
6、运营: 电商的运营=>促销方案等等
7、DBA: database admin 数据库管理员
8、运维:staging环境和生产环境
7、项目模型?
1、瀑布模型、v模型、W模型、X模型
2、敏捷模型:小步快跑
项目的版本(0.1)会在 5-6个月完成 (x模型、v模型等)<br /> 敏捷模型: 2-3星期迭代<br /> 迭代内容:1、修复上一个迭代bug 2、新增需求(story) 3、完善某个功能
二、数据库
1、数据分类:
关系型数据: mysql、oracle、sqlserver、db2等
非关系型数据:redis、mongdb、memcached等
区别:
1、关系型数据的数据是存放在:磁盘(持久化)
2、非关系型数据库:
1、redis:半持久化(既存在内存又存在磁盘,如不需要持久化,需要在redis配置文件中设置重启)
2、mongdb: 直接持久化(主要是用在消息队列)
3、memcached:无持久化,数据直接放到内存里面。
表与表之前关系?
1、一对多
2、一对一
3、多对多
主外键?
1、主键是一张表id,id示只能递增且不可重复
2、外键:
1对多
1对1
两张表
多对多
三张表
1.1对多情况
stu表 course表(1个学生只能选一门课,一个课程被多个学生选)
stu course
name course_id id name
zhangsan 1 1 语文
lisi 1 2 数学
wanger 2
2、1对1 (1个学生只能选一门课,一门只能被一选)
stu course
name course_id id name
zhangsan 1 1 语文
lisi 2 2 数学
3、多对多(1个学生可以选多门课程,1个课程可以被多个学生选)
stu stu_course course
id name stu_id course_id id name
1 zhangsa 1 1 1 语文
2 lisi 1 2 2 数学
2 1
2、sql(结构化查询语句)语句
1、对表结构操作或者是 库操作
1、创建表或者库<br /> create table/database table_name/db_name<br /> <br /> 2、删除表或者库<br /> drop table/database table_name/db_name<br /> <br /> 3、更改表结构<br /> alter table table_name ...<br />
2、对表数据的操作
1、基础语法<br /> 增、删、改、查<br /> 1、增<br /> insert into table_name(字段名) values(值)<br /> 2、删<br /> delete from table_name where age=22 and name="shuaigaogao"<br /> 3、改<br /> update table_name set age=18,name="sb" where ..<br /> 4、查<br /> select * from table_name where age=22 and name="shuaigaogao"<br /> <br /> *:代表的是所有字段或者所有列,当delete数据的时候,是以行为单位,所以不能再delete后面 加 *<br /> from:当从表中读取数据或者 删除数据的时候,使用from,<br /> 往表中写(update、insert)数据的时候,不需要from。<br /> 更新(update) 表(table_name) set 更新数据 where 条件。<br /> 操作表数据的时候,不需要加关键 table。<br /> 删除数据之前,必须先要查询一下,然后把where后面 条件,加在delete 后面<br />
2、链接查询
1、内连接和外链接
1、内连接:(inner) join .... on...<br /> 只有匹配满足 on 后面条件数据
2、外链接:
1、左联接:<br /> left join....on....<br /> 以左表为基准,与右表不匹配,显示null<br /> 2、右链接:<br /> right join...on...<br /> 以右表为基准,与左表不匹配,显示null<br /> 左表:from后面的表称为左表<br /> 右表:join后面的表称为右表<br /> <br /> <br /> 题目:score_table<br /> name course score <br /> 张三 语文 73<br /> 张三 数学 83<br /> 张三 外语 93<br /> 李四 语文 74<br /> 李四 数学 84<br /> 李四 外语 94<br /> <br /> 效果:<br /> name course score course score course score<br /> 张三 语文 73 数学 83 外语 93<br /> 李四 语文 74 数学 84 外语 94<br /> <br /> 1、提取 语文 信息<br /> select * from score_table where course = "语文"<br /> 查询结果:<br /> name course score <br /> 张三 语文 73<br /> 李四 语文 74<br /> <br /> 2、提取数学信息 <br /> select * from score_table where course = "数学"<br /> 查询结果:<br /> name course score <br /> 张三 数学 83<br /> 李四 数学 84<br /> <br /> 2、提取外语信息 <br /> select * from score_table where course = "外语"<br /> 查询结果:<br /> name course score <br /> 张三 外语 93<br /> 李四 外语 94<br /> <br /> 答案:<br /> select c.name,c.course,c.score,m.course,m.score,y.course,y.score from <br /> (select * from score_table where course = "语文") c<br /> join (select * from score_table where course = "数学") m<br /> on c.name = m.name<br /> join (select * from score_table where course = "外语") y<br /> on c.name = y.name<br /> <br /> 3、子查询<br /> <br /> stu(学生表) course(课程表) 班级表<br /> id id(主键)1 id(主键)<br /> name name(总复习) class_name(37期)<br /> age class_id(班级表的外键)<br /> course_id(课程表的外键)1<br /> <br /> 1、查询选的课程名为总复习的 学生信息?<br /> select * from stu where course_id = <br /> (select id from course where name="总复习")<br /> id = 1<br /> <br /> 结果:<br /> id<br /> 1<br /> select * from stu where course_id in<br /> (select id from course where name in("总复习","数据库"))<br /> <br /> 结果:<br /> id<br /> 1<br /> 2<br /> <br /> 1、查询选的课程名为总复习的且班级为37期的 学生信息?<br /> select * from stu where course_id = <br /> (select id from course where name="总复习" and class_id in <br /> (select id from class where class_name = "37期"))<br /> <br /> 4、题目:<br /> 知识:链接查询 + 子查询 + 嵌套<br /> <br /> 菜单表:menu<br /> id name father_id<br /> 1 家用电器 -1<br /> 2 电视 1<br /> 3 空调 1<br /> 4 空调挂机 3<br /> 5 超薄电视 2<br /> 6 工业品 -1<br /> 7 工具 6<br /> 8 手工工具 7<br /> <br /> <br /> 商品表:product<br /> <br /> id name menu_id<br /> <br /> <br /> 请查询 出:<br /> 一级菜单 二级菜单 三级菜单 商品名<br /> <br /> <br /> 1、一级菜单<br /> select * from menu where father_id=-1<br /> <br /> 2、二级菜单 <br /> select * from menu where father_id in (select id from menu where father_id=-1)<br /> <br /> 3、三级菜单<br /> select * from menu where father_id in <br /> (select id from menu where father_id in (select id from menu where father_id=-1))<br /> <br /> <br /> 4、链接查询<br /> select * from (select * from menu where father_id=-1) first_menu<br /> left join <br /> (select * from menu where father_id in <br /> (select id from menu where father_id=-1)) as second_menu<br /> on first_menu.id = second_menu.father_id<br /> left join (select * from menu where father_id in <br /> (select id from menu where father_id in <br /> (select id from menu where father_id=-1))) as t<br /> on t.father_id = second_menu.id<br /> join product p on p.menu_id = t.id<br /> <br /> 总结:<br /> 1、select:后面永远是字段<br /> 2、from:后面永远是表(真实表、虚拟表)<br /> 3、where:后面永远是条件<br /> <br /> 遵循的原则:一切皆表<br />
5、分组查询:
group by 条件:配合 having子句<br /> 使用 分组查询一般是配合聚合函数使用。<br /> 聚合函数:count,sum,min,max,avg。<br /> <br /> 题目:score_table<br /> name course score <br /> 张三 语文 73<br /> 张三 数学 83<br /> 张三 外语 93<br /> 李四 语文 74<br /> 李四 数学 84<br /> 李四 外语 94<br /> <br /> <br /> select name,sum(score) from course group by name。<br /> <br /> <br /> 题目:user表<br /> id username phone age address ...<br /> <br /> 要去查询出 手机号相同的 username ?<br /> select username from user where phone in (<br /> select phone,count(1) from user group by phone having count(1) > 1)<br />
6、排序
select * from stu order by age ASC(默认升序) DESC(降序)<br /> <br /> 先年龄升序,再按姓名降序,再按照 sex 降序<br /> select * from stu order by age asc,name desc,sex desc。<br />
7、条数的限制
1、sqlserver 前10条 top 10<br /> select top 10 * from stu order by age asc,name desc,sex desc<br /> <br /> 2、mysql的写法:<br /> select * from stu order by age asc,name desc,sex desc limit 10<br /> 分页<br /> select * from stu order by age asc,name desc,sex desc limit 0,10<br /> select * from stu order by age asc,name desc,sex desc limit 10,10<br /> <br /> 3、一张的倒数10行<br /> select * from stu order by id desc limit 10