测试理论基础

来源:互联网 发布:淘宝拍摄基地 编辑:程序博客网 时间:2024/06/14 05:41

测试笔记:

测试绝不仅仅是验收,他仅是测试一部分。
当今社会开发与测试越来越紧密,只要做it,就需要编程,合格的开发人员应该会自己测试自己的代码。
根据具体的业务场景,进行性能测试。
测试基本:
1.测试的思想
2.测试的技术
3.测试的理论
测试工具:
移动端测试工具Appium、web端测试工具selenium都支持各种语言
测试框架:Jmeter(开源)和LcondRunner(商业化),大公司都是进行封装,自己用自己的
测试工作面试进岗:1.笔试 初中级:测试基础理论 数据库 高级:算法 开发
2.面试 根据上家公司聊原先工作及技能点
测试岗要求:10000-15000 制定测试用例和测试数据,搭建测试环境,并有效的执行各类测试,包括验收测试、模块测试、集成测试、回归测试。准备测试数据、验收测试及编写测试报告。熟悉数据库,sql语言,熟悉缺陷管理跟踪工具(禅道、td,qc),相关专业优先、设计编码经验优先、熟练使用应用多种测试工具。
测试课程:1.测试基础 2.接口测试 3.移动测试

测试基础:
互联网企业内部架构:人力行政、财务部、技术部(服务端开发、前端开发、运维、测试 、算法研究)、产品部(产品经理、UI、运营)。

流程:产品部提出需求(用rp图提出),开发测试一起提出参加并开会进行定版需求,分配任务,并定下预计时间,由UI组进行UI设计,测试部们编写测试用例,有问题找产品进行沟通。开发部门同步进行开发。上市前,先进行预环境中测试在上线。

测试职业发展:手工测试、自动化测试(功能自动化、性能自动化)、测试管理岗、测试架构师。

测试定义:通过人工或自动的手段、对被测对象进行检测活动,目的在于发现被测是否满足用户需求,弄清
实际结果与预期结果时间的差异。

面试准备:算法 数据库sql语句

发展历程:早年没有测试,开发自己调试,由于后期开发复杂度越来越高,对产品要求越来越高,需要特定的一个部门进行检测,对需求进行校验。将正向逻辑检验一遍。然后找到漏洞,反向思维,找到缺陷。,保证产品的质量。

测试目的:发现被测对象与用户需求的差异质量;通过测试活动发现并解决缺陷,增加人们对被测试对象的质量信心;通过测试获取被测对象的质量信心,为决策提供数据依据;通过测试活动,预防缺陷,降低项目或产品风险。
测试原则:测试能证明软件存在缺陷;不肯能执行穷尽测试;测试应尽早启动,尽早介入;缺陷存在群集现象;杀虫剂悖论;不同测试活动依赖不同的测试背景;不存在缺陷的谬论。

测试对象:软件源代码;与软件源代码匹配的文档;支撑软件源代码运行的配置数据;需求阶段(需求规格说明书);系统设计阶段(概要设计说明书,详细设计说明书);编码阶段(源代码);系统测试阶段(软件)

测试类型:

按照开发阶段分:
单元测试:针对被测系统的最小的组成单元实施测试活动,一般是类或者函数,也可能是最小的功能单元;目的是保证局部代码的质量,使用除代码错误的成本最小化;多个单元可以平行进行测试
集成测试:针对组件/单元与组件/单元之间的接口实施的测试活动,要验证接口设计是否与设计相符;分三种集成:函数间集成、模块间集成、子系统间集成
系统测试:通过集成测试的软件,部署在真实用户环境的测试
验收测试:以用户为主的测试,验收组应该由项目组成员,由用户代表组成,使被他版本,在不受控的环境下执行并要求用户报告异常情况

按照是否运行软件:

静态测试:不实际运行被测软件,只是静态的检查程序代码,界面或文档中可能存在的错误的过程
有三种类型:代码测试、界面测试、文档测试(做好UI界面之后会放在Zeplin这个软件中)

动态测试:
通过人工或使用工具运行程序进行检查,分析程序的执行状态和程序的外部表现

按照关注源代码本身:

黑盒测试:不考虑程序内部结构和处理过程,仅依据程序功能需求规范设计测试用例进行测试的技术,他是一种从用户观点出发的测试

白盒测试:将被测对象看成一个透明的盒子,按照程序内部逻辑结构和编码结构设计测试用例的检测技术

是否使用自动化工具:
手工测试:依靠人工执行用例,查找缺陷
自动化测试:以人为驱动的测试行为转化为机器执行的一种过程

系统测试类型划分:
功能测试
性能测试:性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试
负载测试:通过负载测试,确定在各种工作负载下系统的性能。目标是测试加时系统各项性能指标的变化情况
压力测试:通过确定一个系统的瓶颈或者不能接受的性能点来获取系统提供服务级别的测试
安全性测试:检验在系统中已经存在的系统安全性、保密措施是否发挥作用、有无漏洞
兼容性测试:主要是检查在不同软硬件在不同的软硬件平台上是否可以正常的运行,即软件的可移植性。(不同内核浏览器不同)
用户界面测试:检查软件的人机交互,操作逻辑,界面美观的整体设计是否符合用户需求

其他分类:
冒烟测试:指在对一个新版本进行系统大规模的测试之前,先验证一下软件的基本功能是否实现,是否具备可测性
回归测试:是指对软件的新版本测试时,重复执行上一个版本测试时的用例。在发生修改后重新测试新版本软件,以保证正确性以及修改没有引入新的错误
探索测试:敏捷测试方法,强调测试设计和测试执行的同时性

模型区分:
瀑布模型:问题定义-可行性模型-需求分析-设计-编码-测试-运行与维护
V模型:用户需求-需求分析与系统设计-概要设计-详细设计-编码-单元测试-集成测试-确认测试与系统测试-验收测试
W模型(双V):用户需求-需求分析与系统设计-概要设计-详细设计-编码-集成-实施-验收测试
用户需求V&V验收测试时间-需求分析与系统设计V&V确认与系统测试设计-概要设计V&V继承测试设计-详细设计V&V单元测试设计-单元测试-集成测试-确认测试与系统测试-验收测试

作业:面试基础问你你总得知道
1.对电梯进行测试分析:

需求分析依据:SRS,安全手册,国家标准
质量特性 测试项
测试电梯能否实现正常的上升和下降功能
电梯的按钮是否都可以使用
电梯门的打开,关闭是否正常。
上升途中的响应
功能性: 与其他电梯之间是否协作良好
求助装置是否可用
是否标明最大载重量,超过最大载重是否报警
突然停电时的情况

同时按关门和开门按钮。
点击当前楼层号码。
可靠性 多次点击同一楼层的号码
同时按上键和下键会怎样
门关上的一刹那出现故障

电梯上升和下降的时间
门开等的时间
电梯的最大负荷量
效率 电梯在最大负载量下运行的最长时间
超过最大负载的运行情况
在一段时间内不断让电梯上升、下降
电梯的使用寿命

电梯的外观
电梯按钮的设计是否符合一般人的使用习惯
易用性 求助装置是否明显
使用手册从

是否易于改变电梯的设置
维护性 电梯出现故障是是否容易排除
是否便于定期维护

可移植性 电梯在不同环境下运行能力
电梯寿命结束时是否容易更换新的电梯

2.单元测试和集成测试区别:
单元测试针对被测系统最小的组成单元实施的测试活动,一般是类或函数,也可能是最小的功能单元。
集合测试是针对组件/单元与组件/单元之间的接口实施的测试活动,验证接口设计是否与设计相符。
可以看到单元测试的粒度最小,一般是白盒测试,主要测试单元是否符合设计
集合测试处于粒度的中间,一般由开发小组采用白盒加黑盒的方式进行测试,即验证设计又验证需求

3.集成测试和系统测试区别:
系统测试是将通过集成测试的软件,部署在真实用户环境下的测试
系统测试粒度最大,一般由独立测试小组采用黑盒的方式执行,主要吃系统是否符合需求说明书

4.Android手机的常见分辨率:
现在最主流的是1920*1080
当前android中中低端机型还可能配置1280*768的分辨率
而现在一些高端机由2k的分辨率
副录:
4:3
VGA 640*480 (Video Graphics Array)
QVGA 320*240 (Quarter VGA)
HVGA 480*320 (Half-size VGA)
SVGA 800*600 (Super VGA)

5:3
WVGA 800*480 (Wide VGA)

16:9
FWVGA 854*480 (Full Wide VGA)
HD 1920*1080 High Definition
QHD 960*540
720p 1280*720 标清
1080p 1920*1080 高清

5.android的系统版本:
Android:
版本号 版本代号 api号
1.0 阿童木 1
1.1 发条机器人 2
1.5 纸杯蛋糕 3
1.6 甜甜圈 4
2.0 松饼 5
2.0.1 6
2.1 7
2.2 冻酸奶 8
2.2.1
2.3 姜饼 9
2.3.3 10
3.0 蜂巢 11
3.1 12
3.2 13
4.0 冰淇淋三明治 14
4.0.3 15
4.1.2 果冻豆 16
4.2 17
4.3 18
4.4.2 19
4.4w.2 20
5.0.1 棒棒糖 21
5.1.1 22
6.0 23
7.0 24
7.1.1 25