测试基础知识

常规的测试技术:
测试流程:
需求讨论–整理测试需求–作出测试计划–设计初步测试用例–第一轮测试
测试案例 测试手段 测试技术
Mysql面试必备:

软件测试分类
1、 从测试阶段分类:
单元测试,集成测试,确认测试,系统测试,验收测试
2、 从代码可见度分类:
黑盒测试、白盒测试、灰盒测试
3、 从测试目标分类:
回归测试、功能测试、性能测试、Apha测试、Bate测试
压力测试、负载测试、安全性测试
配置测试、安装测试、可用性测试、可恢复性测试
4、 从执行方式分类:
手工测试
自动化测试

缺陷等级划分
1、 致命(一级bug):主流程无法跑通,系统无法运行,崩溃或严重资源不足,应用模块无法启动或异常退出,主要功能模块无法使用。
比如:1.内存泄漏;2.严重的数值计算错误;3.系统容易崩溃;4.功能设计与需求严重不符;5.系统无法登陆;6.循坏报错,无法正常退出。
2、 严重(二级bug):影响系统功能或操作,主要功能存在严重缺陷,但不会影响到系统稳定性。
比如:1. 功能未实现;2.功能存在报错;3.数值轻微的计算错误。
3、一般(三级bug):界面、性能缺陷。
比如:1.边界条件下错误;2.容错性不好;3.大数据下容易无响应;4.大数据操作时,没有提供进度条。
4、提示(四级bug):通常表现为:易用性及建议性问题
比如:1.界面颜色搭配不好;2.文字排列不整齐;3.出现错别字,但是不影响功能;4.界面格式不规范。
5、 建议(五级bug):建议性的改进要求

测试用例设计方法:
1)等价类划分
2)边界值分析法
3)因果图方法
4)正交表分析法
5)场景分析方法
6)状态图法
7)错误猜测法

压力测试、负载测试、性能测试区别;
压力测试的重点是:确定在什么负载下系统的性能处于失效状态,发现系统性能的拐点,来获得系统能提供的最大服务级别的测试,属于异常范围的测试。
负载测试的重点是:在系统正常工作情况下的性能指标,发现系统能够承受最大负载量的测试,属于正常范围的测试;
性能测试,又称为多用户并发性能测试,通过模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试,压力测试和负载测试都属于性能测试。
基本路径=谓词结点+1
V(G)=P+1 (P是判定节点)
V(G)=D (D是区域数)
V(G)=E-N+2(E是边的条数,N是节点数
单元测试框架:
OCUnit 是 OC 官方测试框架, 现在被 XCTest 所取代。
XCTest 是与 Foundation 框架平行的测试框架。
GHUnit 是第三方的测试框架。
OCMock都是第三方的测试框架。

自顶向下测试:是从程序的初始模块开始测试。
(1)该方***在早期发现顶层的错误。
(2)早期的程序框架可以进行演示
(3)需要开发桩模块辅助测试。有些甚至需要多个桩模块辅助,加大了桩模块本来的错误影响。
(4)测试完一个上层模块后,挑选哪个模块作为下一个测试模块,以及测试的顺序没有唯一的界定标准。
优点:较早地验证了主要控制和判断点;按深度优先可以首先实现和验证一个完整的软件功能;功能较早证实,带来信心;只需一个驱动,减少驱动器开发的费用;支持故障隔离。
缺点:柱的开发量大;底层验证被推迟;底层组件测试不充分。

自底向上测试:是从程序的底层模块开始测试。
(1)I/O操作可以提前测试,更好提交测试用例。
(2)测试后比较容易观察输出。
(3)需要开发驱动模块。
(4)直到最后一个模块提交,程序才能完整的系统测试。
优点:对底层组件行为较早验证;工作最初可以并行集成,比自顶向下效率高;减少了桩的工作量;支持故障隔离。
缺点:驱动的开发工作量大;对高层的验证被推迟,设计上的错误不能被及时发现。

动态分析:代码运行结束后。模块功能检查和系统压力测试,必须执行代码后才能分析。
静态分析:代码运行之前。数据流分析和代码覆盖率,不需要执行代码就可分析。

测试模型
https://www.cnblogs.com/luodatou/p/5462837.html
工作说明书—SOW 制定测试的进度
概要设计说明书-HLD 设计测试的用例
详细设计说明书-LLD 程序员编码实现
单元测试用例-UTC 单元测试使用

数据库基础
视图的优点:
1、视图能够简化用户的操作
2、视图使用户能以多种角度看待同一数据
3、视图重构数据库提供了一定程度的逻辑独立性
4、视图能够对机密数据提供安全保护
5、视图能够更清晰的表达

1、事务故障是由于程序执行错误而引起事务非预期的、异常终止的故障。它发生在单个事务的局部范围内,实际上就是程序的故障。
事务故障更多的是非预期的,不能由事务程序处理的情况,主要有:

①逻辑上的错误,如运算溢出、死循环、非法操作、地址越界等等;
②违反完整性限制的无效的输入数据;
③违反安全性限制的存取权限;
④资源限定,如为了解除死锁、实施可串化的调度策略等而ABORT一个事务;
⑤用户的控制台命令。
2、系统故障是指系统在运行过程中,由于某种原因,造成系统停止运行,以致事务在执行过程中以非正常的方式终止,致使内存中的信息丢失,而存储在外存上的数据未受影响。
3、介质故障是指外存储设备故障,主要有磁盘损坏,磁头碰撞盘面,突然的强磁场干扰,数据传输部件出错,磁盘控制器出错等。

事务四大特性(简称ACID)
1、原子性(Atomicity):事务中的全部操作在数据库中是不可分割的,要么全部完成,要么均不执行。
2、一致性(Consistency):几个并行执行的事务,其执行结果必须与按某一顺序串行执行的结果相一致。
3、隔离性(Isolation):事务允许多个用户对同一个数据进行并发访问,而不破坏数据的正确性和完整性。同时,并行事务的修改必须与其他并行事务的修改相互独立。
4、持久性(Durability):对于任意已提交事务,系统必须保证该事务对数据库的改变不被丢失,即使数据库出现故障

CHANGE用来修改字段名字以及类型
modify 用来修改字段类型
aiter column … set 用来修改字段数据 (alter table 表名 alter column 字段名 set default 默认值;)

索引的特点
1、大大加快检索数据的速度
2、通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性
3、加速表与表之间的连接
4、查询语句汇总含有分组或者排序的语句时,速度更快
5、查询的过程中,使用索引,使用优化隐藏器,从而提高系统的性能
索引的不足
1、创建和维护索引,比较耗费时间,随着数据量的增大而增大
2、创建索引,占一定的物理空间(聚簇索引,占用空间会更大)
3、在对表进行增删改的时候,索引相应的也需要进行动态的更新

delete是删除数据,drop是删除过程

三种常用抽象
1、 分类
分类:a member of——定义某一类概念作为现实世界中一组对象的类型
抽象了对象值和型之间的“is member of”的语义

2、 聚集
定义某一类型的组成成分
抽象了对象内部类型和成分之间“is part of”的语义

复杂的聚集,某一类型的成分仍是一个聚集

3、 概括
定义类型之间的一种子集联系
抽象了类型之间的“is subset of”的语义
继承性
1、数据定义语言(DDL):Data Definition Language(DDL)
DDL使我们有能力创建或删除表格。也可以定义索引(键),规定表之间的链接,以及施加表间的约束。
2、数据操作语言(DML):Data Manipulation Language(DML)
DML供用户实现对数据的追加、删除、更新、查询等操作。
3、数据控制语言(DCL):Data Control Language(DCL)
GRANT - 授权
REVOKE - 撤销授权
DENY - 拒绝授权
4、事物控制语言(TCL):Transaction Control Language(TCL)
SAVEPOINT - 设置保存点
ROLLBACK - 回滚
COMMIT - 提交
5、数据查询语言(DQL):Data Query Language

选择(Selection)操作是指在关系中选择满足某些条件的元组(行)。
投影(Projection)操作是在关系中选择若干属性列组成新的关系。投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组,这是因为取消了某些属性列后,可能出现重复的行,应该取消这些完全相同的行。
连接(Join)操作是将不同的两个关系连接成为一个关系。对两个关系的连接其结果是一个包含原关系所有列的新关系。新关系中属性的名字是原有关系属性名加上原有关系名作为前缀。这种命名方法保证了新关系中属性名的惟一性,尽管原有不同关系中的属性可能是同名的。新关系中的元组是通过连接原有关系的元组而得到的。

2NF的关系必须满足:1.表是1NF;2.所有的非键特性都只能由整个主键确定,而不是主键的一部分;对于非符合键的表中1NF也是2NF
3NF的关系必须满足:1.该关系属于2NF;2.非键特性不通过其他非键特性来确定(传递依赖)

共享锁(Share locks简记为S锁):也称读锁,事务A对对象T加s锁,其他事务也只能对T加S,多个事务可以同时读,但不能有写操作,直到A释放S锁。
排它锁(Exclusivelocks简记为X锁):也称写锁,事务A对对象T加X锁以后,其他事务不能对T加任何锁,只有事务A可以读写对象T直到A释放X锁。

数据库系统的特点:
一:数据结构化
二:数据的共享性高,冗余度低,易扩展
三:数据独立性高
四:数据由DBMS统一管理和控制 
数据库的设计总体上分为6个阶段:
1、 需求分析阶段
准确了解用户的需求,撰写需求说明
2、概念设计阶段
它是整个数据库设计的关键,通过对用户需求进行综合,归纳与抽象,形成一个独立于具体DBMS的概念模型。E-R图的设计在此阶段。
3、逻辑结构设计阶段
将概念结果转换为某个DBMS所支持的数据模型。也就是指E-R图和关系模型的转换,具体为将实体,实体的属性和实体之间的联系转换为关系模式。
4、数据库物理设计阶段
为逻辑结果选取一个最适合应用环境的物理结构,包括存储结构和存取方法。
5、数据库实施阶段
此阶段利用SQL语句实现逻辑结构设计和物理设计阶段的内容,包括建立数据库,编制与调试应用程序等。
6、数据库运行和维护阶段
运行过程中不断的调整,修改和优化数据库系统。

查询:SELECT
操纵:UPDATE,INSERT,DELETE
定义:CREATE,DROP
控制:COMMIT,ROLLBACK,GRANT

DBMS (Relational Database Management System)关系数据库管理系统
NoSQL 非关系型的数据库
NewSQL 新型关系型数据库
ActiveMQ Apache下的一个中间件
Hbase是一个分布式的 面向列的数据库

数据库领域公认的标准结构是三级模式结构,它包括外模式、概念模式、内模式。

1、表的主键、外键必须有索引;
2、数据量超过300的表应该有索引;
3、经常与其他表进行连接的表,在连接字段上应该建立索引;
4、经常出现在Where子句中的字段,特别是大表的字段,应该建立索引;
5、索引应该建在选择性高的字段上;
6、索引应该建在小字段上,对于大的文本字段甚至超长字段,不要建索引;
7、复合索引的建立需要进行仔细分析;尽量考虑用单字段索引代替:
A、正确选择复合索引中的主列字段,一般是选择性较好的字段;
B、复合索引的几个字段是否经常同时以AND方式出现在Where子句中?单字段查询是否极少甚至没有?如果是,则可以建立复合索引;否则考虑单字段索引;
C、如果复合索引中包含的字段经常单独出现在Where子句中,则分解为多个单字段索引;
D、如果复合索引所包含的字段超过3个,那么仔细考虑其必要性,考虑减少复合的字段;
E、如果既有单字段索引,又有这几个字段上的复合索引,一般可以删除复合索引;
8、频繁进行数据操作的表,不要建立太多的索引;
9、删除无用的索引,避免对执行计划造成负面影响;

access提供了5种类型的查询,包括选择查询、参数查询、交叉表查询、操作查询和SQL查询。
1.选择查询
选择查询是最常见的查询类型,它从一个或多个表中检索数据,在一定的限制条件下,还可以通过选择查询来更改相关表中的记录。使用选择查询也可以对记录进行分组,并且可对记录进行总计、计数以及求平均值等其他类型的计算。
2.交叉表查询
交叉表查询可以在一种紧凑的、类似于电子表格的格式中,显示来源于表中某个字段的合计值、计算值、平均值等。交叉表查询将这些数据分组,一组列在数据表的左侧,一组列在数据表的上部。
注意:可以使用数据透视表向导毒显示交叉表数据,无需在数据库中创建单独的查询。
3.参数查询
参数查询会在执行时弹出对话框,提示用户输入必要的信息(参数),然后按照这些信息进行查询。例如,可以设计一个参数查询,以对话框来提示用户输入两个日期,然后检索这两个日期之间的所有记录。
参数查询便于作为窗体和报表的基础。例如,以参数查询为基础创建月盈利报表。打印报表时,Access显示对话框询问所需报表的月份。用户输入月份后,Access便打印相应的报表。也可以创建自定义窗体或对话框,来代替使用参数查询对话框提示输人查
询的参数。
4.操作查询
操作查询是在一个操作中更改许多记录的查询,操作查询又可分为四种类型:删除查询、更新查询、追加查询和生成表查询。
5.SQL查询
SQL查询是使用SQL语句创建的查询。经常使用的SQL。查询包括联合查询、传递查询、数据定义查询和子查询等。

数据库的三级模式结构分为:概念模式,外模式,内模式
概念模式:也称为逻辑模式
是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
是数据库模式结构的中间层
一个数据库只有一个概念模式
外模式:也称为子模式
对应于用户级
一个数据库可以有多个外模式
内模式:也称为存储模式
对应于物理级
是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式
一个数据库只有一个内模式

两级映像:(为了能够在以上三个抽象层次之间的联系和转换,在三级模式之间设计了两层映像)
两层映像保证了数据库中的数据能够具有较高的逻辑独立性和物理独立性。
外模式/模式映像
外模式/模式映像,保证了当模式改变时,外模式不用变(逻辑独立性)
模式/内模式映像
模式/内模式映像,保证了当内模式改变时,模式不用变(物理独立性)

  • 8
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值