单元测试-001初探

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px "Yuanti SC" }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px "Yuanti SC"; color: #0433ff }
p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px "Yuanti SC"; color: #ff40ff }
p.p4 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px "Yuanti SC"; color: #ff2600 }
span.s1 { color: #aa7942 }
span.s2 { color: #000000 }
span.s3 { color: #ff2600 }

1.单元测试初探:是什么,能解决什么问题 逻辑测试  性能测试  异步测试   UI测试  自动化测试

UnitTest—— 分一个一个单元 进行 测试 (单元化:测试)

驱动:TDD 测试驱动代码  SDK 接口 功能测试

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px "Yuanti SC" }
span.s1 { color: #0433ff }
span.s2 { color: #ff2600 }

回归测试:后面的功能可能会影响之前的功能. 0.5 * 100 =  50m* 次

单元测试: 10 * 5/60 * 100 = 5m; (时间)< 回归测试

软件测试

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px "Yuanti SC" }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px "Yuanti SC"; min-height: 20.0px }
span.s1 { color: #ff2600 }
span.s2 { color: #0433ff }
span.s3 { color: #ff40ff }

1. 测试方法 -> 1.1静态VS动态测试

1.2盒子方法:1.2.1白盒测试

12.2黑盒测试  ->   1.2.2.1可视化测试

12.3灰盒测试

2.测试水平  -> 2.1单元测试

2.2集成测试

2.3组件接口测试

2.4系统测试

3.测试类型,技术与策略

3.1回归测试

3.2Alpha测试

3.3Beta测试

3.4持续测试  -> 3.4.1 自动化

3.5性能测试

3.6.1.1异步测试

3.6开发测试 ->  3.6.1 单元测试 -> 3.6.2性能测试

3.6.3 UI测试          3.6.1.2 OCMock

3.7 A/B

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px "Yuanti SC" }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px "Yuanti SC"; color: #919191 }
p.p3 { margin: 0.0px 0.0px 16.0px 0.0px; text-align: justify; line-height: 26.0px; font: 14.0px "Yuanti SC"; color: #919191; background-color: #ffffff }
span.s1 { color: #000000 }
span.s2 { background-color: #ffffff }
span.s3 { color: #000000; background-color: #ffffff }
span.s4 { }

黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。功能测试

白盒测试:已知产品的内部工作过程,可以进行测试证明每种内部操作是否符合设计规格要求,所有内部成分是否做过检查。测试程序接口与结构

灰盒测试:灰盒测试,确实是介于二者之间的,可以这样理解,灰盒测试关注输出对于输入的正确性,同时也关注内部表现,但这种关注不象白盒那样详细、完整,只是通过一些表征性的现象、事件、标志来判断内部的运行状态,有时候输出是正确的,但内部其实已经错误了,这种情况非常多,如果每次都通过白盒测试来操作,效率会很低,因此需要采取这样的一种灰盒的方法。

灰盒测试结合了白盒测试和黑盒测试的要素。它考虑了用户端、特定的系统知识和操作环境。它在系统组件的协同性环境中评价应用软件的设计。

灰盒测试由方法和工具组成,这些方法和工具取材于应用程序的内部知识和与之交互的环境,能够用于黑盒测试以增强测试效率、错误发现和错误分析的效率。

灰盒测试涉及输入和输出,但使用关于代码和程序操作等通常在测试人员视野之外的信息设计测试。

第一认识

黑盒测试:

测试特点:测试功能;测试依据:需求说明书  方法举例:等价类划分,边界值测试

优缺点:能站在用户的立场上进行测试;不能测试程序内部特定部位,如程序有误,则无法发现

第二认识

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; line-height: 16.0px; font: 14.0px "Yuanti SC"; color: #000000; background-color: #ffffff }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; line-height: 16.0px; font: 14.0px "PingFang SC"; color: #000000 }
span.s1 { }
span.s2 { color: #494949 }
span.s3 { background-color: #ffffff }
span.s4 { font: 14.0px Arial; background-color: #ffffff }

黑盒测试把程序看作一个不能打开的黑盒子在完全不考虑程序内部结构和内部特性的情况下,针对“软件界面”和”软件功能“进行测试,只检查功能是否符合需求规格说明书能正常使用。因此黑盒测试又叫功能测试或数据驱动测试

白盒测试是对软件的过程性细节做细致的检查。这种方法是把测试对象看作一个打开的盒子,他允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例对程序所有逻辑路径进行测试通过在不同点检查程序状态,确定实际状态是否与预期的状态一致。因此白盒测试又称为”结构测试“或”逻辑驱动测试“。白盒测试是按照程序内部的结构来测试程序,通过测试检验产品内部动作是否按照设计规格说明书的要求正常进行,检验程序中的每条通道是否都按照规定正常工作。

第三认识

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; line-height: 26.0px; font: 14.0px "PingFang SC"; color: #919191; background-color: #ffffff }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; line-height: 26.0px; font: 15.0px "PingFang SC"; color: #919191; background-color: #ffffff }
span.s1 { }
span.s2 { font: 14.0px Arial }

黑盒测试主要是为了发现以下错误:

(1)是否有不正确或者遗漏了的功能;

(2)在接口上,输入能否正确的接受?能否输出正确的结果?

(3)是否有数据结构错误或外部信息(例如数据库文件)访问错误?

(4)性能上是否能够满足要求?

(5)是否有初始化或终止性错误?

黑盒的测试用例技术设计有三种:  边界值分析、等价类划分、错误推测法。

白盒测试主要是想对程序模块进行以下检查:

(1)对程序模块的所有独立的执行路径至少测试一遍;

(2)对所有的逻辑判定,取”真“与”假“的两种情况都能至少测一遍;

(3)在循环的边界和运行的界限内执行循环体;

(4)测试内部数据结构的有效性,等等;

(5)静态白盒测试  :即代码审查,正式审查和检验设计和程序代码;

(6)动态白盒测试 利用查看代码功能和实现方式得到的信息来设计和执行测试,也叫结构测试;

白盒的测试用例技术包括逻辑覆盖和基本路径测试。

逻辑覆盖:是以程序内在逻辑结构为基础的测试用例设计技术,这一方法要求测试人员对程序的逻辑结构有清楚的了解。

基本路径测试:在程序控制流程图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例。

以上事实说明,软件测试有一个致命的缺陷,即测试的不完全、不彻底性。由于任何程序只能进行少量(相对于穷举的巨大数量而言)的有限的测试,在未发现错误时,不能说明程序中没有错误。

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px "Yuanti SC"; color: #000000 }
span.s1 { color: #000000 }

原文地址:https://www.cnblogs.com/StevenHuSir/p/UnitTest_Pre.html

时间: 2024-11-06 03:43:23

单元测试-001初探的相关文章

MVC 单元测试xUnit初探

对于.NET项目 Web Api的业务逻辑后台开发[特别是做Web Api接口]而言,编写单元测试用例,会极大的减轻代码帮助与运行的方式.然而使用测试框架,相对于自带的,我更加推荐是用xUnit.net这个框架,选择的理由是xUnit.net是NUnit的开发者开发的,扩展性很好. 废话不多说,直接上Demo: 配置与准备工作 第一步:新建单元测试解决方案,然后删除原有的测试文件,新建一个类.这些准备工作做完之后,接下来就是要添加引用啦! 添加NuGet程序包:搜索xUnit-->安装以下两项

django从入门到放弃之001.初探

环境:为了使服务器能够开发多个应用程序,环境版本互不影响,利用virtualenv来创建独立隔离的环境进行开发使用. #安装virtualenv: [[email protected] django]# pip3 install virtualenv #创建一个虚拟环境 [[email protected] django]# virtualenv django_env Using base prefix '/usr/local' New python executable in /django/

Android单元测试初探——Instrumentation(转载)

学习Android有一段时间了,虽然前段时间对软件测试有了一些了解,不过接触android的单元测试却是头一次.这几天在物流大赛上也用了不少时间,所以对于android的单元测试没有太深入的研究,所以先写个基本入门吧! 首先,我们来了解一下android的测试类的层次结构: 可以看出android中的测试方法主要有AndroidTextCase和InstrumentationTextCase.在这篇文章中,我将介绍Instrumentation这种测试方法,那么什么是Instrumentatio

测试篇——初探单元测试

初探单元测试 目录: 单元测试的核心意义 单元测试的特点 一个简单的单元测试demo 构建可测试的代码以及初探Mock框架NSubstitute 单元测试的核心意义 验证代码健壮性,无 Bug 项目升级,重构后涉及到旧的逻辑,保证以旧逻辑的稳定运行 单元测试的特点 单元测试可重复运行 单元测试持续长期有效,并且返回结果一致 单元测试在内存中运行,不会依赖外部组建(例如真实的数据库,真实的文件等) 单元测试可以快速返回结果 一个测试方法只测试一个问题(最小的粒度) 一个简单的单元测试demo 这里

[安卓自动化测试] 001.UIAutomator初探

*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } a { color: #4183C4; text-decoration: none; } a.absent { color: #cc0000; } a.anchor { display: block; padding-left: 30px; margin-left: -30px; cursor: poin

算法初探001——单链表反转

单链表的反转问题是一道很基本的问题.题目如下: 有一个单链表 1 ->2->3->4->5->6 反转后链表为:6->5->4->3->2->1. 方法一 解析:可以使用三个指针pre ,temp,next对逐个节点进行反转.详细流程如下: (4) 初始状态 pre = head; tmp = head->next; pre->next = null; (2)第一次循环: next = tmp->next; tmp->ne

单元测试Junit

###<center> 单元测试Junit </center>###- - -1.**单元测试**:> ==单元测试==是软件之中对于最小的功能模块的的测试,其可以对最基本的软件构成单元来测试.> 需要注意的是:> >**测试用例是用来达到测试想要的预期结果,而不能测试出程序的逻辑错误**. 2.**JUnit**:>1.**Junit是基于断言机制的**.是用于编写可复用测试集的简单框架,是xUnit的一个子集.xUnit是一套基于测试驱动开发的测试

OSSEC初探

OSSEC初探 概念: OSSEC是一款开源的基于主机的入侵检测系统(HIDS),它可以执行日志分析.完整性检验.windows注册表监控.隐匿性检测和实时告警.它可以运行在各种不同的操作系统上,包括Linux.OpenBSD.Mac OS X.Solaris和windows. 架构: OSSEC由多个模块组成,包括服务端.agent端.数据库.日志系统等. 简单的理解,OSSEC工作于C/S模式,由agent监控收集信息上报给Server端,Server端对信息进行分析和预处理,并通过邮件将系

(4.5.4)Android测试TestCase单元(Unit test)测试和instrumentationCase单元测试

Android单元和instrumentation单元测试 Developing Android unit and instrumentation tests Android的单元测试是基于JUnit的.可分为: 1.本地单元测试 - 可以在JVM上运行测试(速度快,优先考虑). 2.Instrumented单元测试 - 需要Android系统 Android的Gradle插件支持在JVM上执行Andr??oid单元测试.它使用特殊版本的android.jar(也称为 Android mocka