测试理论学习

 

   软件测试基础

测试阶段

    单元测试

    集成测试

    系统测试

    验收测试

单元测试  测试方法:⽩盒测试,根据不同编程语⾔有对应的测试框架,如Java⾥⾯的Junit和TestNG框架Python⾥⾯的UnitTest和Pytest测试框架。

 

                 测试内容:模块接⼝测试,程序内部逻辑,路径分⽀测试,局部数据结构测试,错误处理测试,边界测试。

 

              单元测试,说的直接简单点就是软件最小粒度的测试

TDD是 测试驱动开发 (Test-Driven Development):先写测试代码,再写程序代码

集成测试   测试对象:模块间的接⼝

                  测试方法:黑盒测试与白盒测试相结合,灰盒测试。

                  测试内容:模块之间的数据传输,模块之间功能冲突,模块组装功能正确性、全局数据结构、单模块缺陷对系统的影响

比如要购买一个商品需要先点商品界面购买然后弹出支付界面最后又返回商品界面集成测试就是测两个界面相互连接的那一部分的代码

系统测试

又叫端到端的测试,end to end  就是从开端测试的结束

时间⼤部分在系统 测试执⾏阶段来验证被测程序的整体性的功能

测试方法:黑盒测试,功能自动化测试。

验收测试

在互联⽹公司中,验收测试是测试团队在某⼀个版本测试完成后,发送验收测试邮件,由产品团队进⾏的⼀种测试⾏为,产品参与验收测试的⽬的主要是验证⻚⾯UI的布局展示,产品的交互以及交互逻辑是否满⾜对⽅设计的需求,经过产品验收测试完成后,会开始 ⾛上线的OA流程。

测试完成,发生邮件给产品经理,验收完成回复邮件说验收完成

按查看代码分类

黑盒测试

白盒测试

灰盒测试

黑盒测试             是把被测部分比作成一个黑盒子看不到内部的结构是功能测试的一种

白盒测试            测试对象看成一个白色的盒子,我们可以看到内部的结构,所以它是单元测试的一种。 这些测试就包含了针对程序判断逻辑,判断分⽀,判断循环,程序流程⾛向的测 试。

灰盒测试             灰盒测试是介于⽩盒测试和⿊盒测试之间的⼀种测试,对测试的能⼒要求是能够进⾏很好的业务测试,也能够使⽤ 代码对程序员的代码进⾏测试,同时能够参与开发代码的评审和代码⾛查。

测试用例方法

等价类测试用例设计方法

定义 等价类是把所有可能的输⼊数据,即程序的输⼊域划分成若⼲部分(⼦集),然后从每⼀个⼦集中选取少数具有代表性的数据作为测试⽤例。

 

 

 

 

saas化:微服务架构 Software AS A Service

paas化,平台即服务 Platform As A Service

*边界值分析法

就是对输⼊或输出的边界值进⾏测试的⼀种⿊盒测试⽅法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试⽤例来⾃等价类的边界。

因果图:

定义:是⼀种利⽤图解法分析输⼊的各种组合情况,从⽽设计测试⽤例的⽅法,它适合于检查程序输⼊条件的各 种组合情况。

因果图:简单的理解就是被测对象有多个输入条件,根据排列组合的数学概念,把多个条件结合逻辑的关系(并且,或者)进行组合,得到一个输出的结果信息。

 

(a)满足同一个条件得到相同的结论

(b)满足同一个条件得到相反的结论

(c)满足c1,c2,c3其中一个得到相同的结论

(d)同时满足c1,c2得到相同的结论

 

 

== 等于 != 不等于 or and  

标签系统

地区 性别 年龄 爱好 星座 。。。 一系列的条件形成了人群画像

个数是无限的

正交实验分解法

因果图结合排列组合设计出来的测试用例的个数是无限扩张的,但是测试资源是有限的,所以在这个情况下,只需要选择有代表性的数据进行测试,这就是正交实验分解法解决了问题。

利⽤因果图来设计测试⽤例时, 作为输⼊条件的原因与输出结果之间的因果关系,有时很难从软件需求规格说明中得到。往往因果关系⾮常庞⼤,以⾄于据此因果图⽽得到的测试⽤例数⽬多的惊⼈,给软件测试带来沉重的负担,为了有效地,合理地减少测试的⼯时与费⽤,可利⽤正交实验设计⽅法进⾏测试⽤例的设计。

产品设计需求的软件Axure RP 9

错误推测⽅法

  1. 定义:基于经验和直觉推测程序中所有可能存在的各种错误, 从⽽有针对性的设计测试⽤例的⽅法

针对下滑的组件 波浪式

针对电商类的产品,打开首页后,只加载能够看见的资源信息,随着往下滑动的过程中,资源都会加载出来,这个过程可能会出现页面卡住或者卡死

针对翻页的组件: 只展示当前页面的数据,后面的数据是随着翻页的过程中逐步加载的,那么可能就会出现页面卡死或者卡住

上传文件组件 上传1G的文件,那么可能就会导致上传的文件缺失,或者是文件上传成功后,文件内容是乱码,还有可能是出现内存泄露

OutOfMemory --->OOM 内存泄漏

内存缺少 Memory Leak

内存乱码

 

针对底层服务 1、超时 2、堵塞 3、假死

判定表驱动分析方法

判定表是分析和表达多逻辑条件下执⾏不同操作的情况的⼯具

优点:能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏。因此,利⽤判定表能够设计出完整的测试⽤例 集合。

使用场景: 在⼀些数据处理问题当中,某些操作的实施依赖于多个逻辑条件的组合,即:针对不同逻辑条件的组合值,分别执⾏不同的操作。判定表很适合于处理这类问题。

 

1)条件桩(Condition Stub):列出了问题得所有条件。通常认为列出的条件的次序⽆关紧要。 2)动作桩(Action Stub):列出了问题规定可能采取的操作。这些操作的排列顺序没有约束。 3)条件项(Condition Entry):列出针对它左列条件的取值。在所有可能情况下的真假值。 4)动作项(Action Entry):列出在条件项的各种取值情况下应该采取的动作。

判断表驱动分析方法:划分测试的范围和边界,列表需要测试各种不同条件

因果图:在划分测试范围的基础上,列出各个不同条件的排列组合的测试

正交实验分解法:在因果图的基础上,选择有代表的数据进行测试

工具TAPD jiar

面试题?:项目管理用的工具是TAPD

怎么使用这个工具,将task从未开始拖到进行中,任务完成后托入已完成

场景设计方法

这种在软件设计⽅⾯的思想也可以引⼊到软件测试中,可以⽐较⽣动地描绘出事件触发时的 情景,有利于测试设计者设计测试⽤例,同时使测试⽤例更容易理解和执⾏。

产品测试,怎么快速建立全局思维

1使用场景设计方法快速梳理出被测产品的核心业务逻辑

2使用判定表驱动分析法列出流程中可能的逻辑判断条件,使用功能图列出产品的输入输出,完善每个不同条件下的业务场景

比如拿电商产品的商品上架为例:

1上架审核通过,那么就可以搜索购买

2审核拒绝,商品搜索不到

3库存为0,商品未下架

功能图分析方法

⼀个程序的功能说明通常由动态说明和静态说明组成.动态说明描述了输⼊数据的次序或转移的次序.静态说明描述了输⼊条件与输出条件之间的对应关系.对于较复杂的程序,由于存在⼤量的组合情况,因此,仅⽤静态说明组成的规格说明对于测试来说往往是不够的.必须⽤动态说明来补充功能说明.功能图⽅法是⽤功能图FD形式化地表示程序的功能说明, 并机械地⽣成功能图的测试⽤例.

测试⽤例则是由测试中经过的⼀系列状态和在每个状态中必须依靠输⼊/输出数据满⾜的⼀对条件组成.功能图⽅法其实是是⼀种⿊盒 ⽩盒混合⽤例设计⽅法。

 

 

posted @ 2022-03-18 18:31  段舒元  阅读(80)  评论(0)    收藏  举报