测试用例

实验2实验报告

老子叫甜甜 提交于 2019-12-29 10:58:30
我将使用一个例子来展示不同的测试用例:一个计算器。该示例计算器很简单,效率并不高,甚至还有一些错误;它仅仅操作整数,并且把结果存储在一个静态变量中。Substract方法并不返回一个有效的结果,而且也没有实现乘法运算,而且看上去在squareRoot方法中还存在一个错误:无限循环。这些错误将帮助说明使用JUnit 4进行测试的有效性。你可以打开和关闭这个计算器,而且你可以清除这些结果。下面是其实现代码: package calc; public class Calculator {   private static int result; // 存储结果的静态变量   public void add(int n) { result = result + n;   }   public void substract(int n) { result = result - 1; // 错误:应该是 "result = result - n"   }   public void multiply(int n) {} // 还没实现   public void divide(int n) { result = result / n;   }   public void square(int n) { result = n * n;   }   public void squareRoot

PAT乙级刷题之路1011 A+B 和 C (15分)

我怕爱的太早我们不能终老 提交于 2019-12-28 21:07:00
1011 A+B 和 C (15分) 给定区间 [−2^31,2 31] 内的 3 个整数 A、B 和 C,请判断 A+B 是否大于 C。 输入格式: 输入第 1 行给出正整数 T (≤10),是测试用例的个数。随后给出 T 组测试用例,每组占一行,顺序给出 A、B 和 C。整数间以空格分隔。 输出格式: 对每组测试用例,在一行中输出 Case #X: true 如果 A+B>C,否则输出 Case #X: false,其中 X 是测试用例的编号(从 1 开始)。 输入样例: 4 1 2 3 2 3 4 2147483647 0 2147483646 0 -2147483648 -2147483647 输出样例: Case #1: false Case #2: true Case #3: true Case #4: false # include <stdio.h> # define MAXT 10 int main ( ) { long A , B , C ; int T ; scanf ( "%d" , & T ) ; int i ; for ( i = 1 ; i <= T ; i ++ ) { scanf ( "%ld %ld %ld" , & A , & B , & C ) ; if ( A + B > C ) { printf ( "Case #%d: true\n"

python单元测试unittest

旧时模样 提交于 2019-12-27 14:51:12
Python中有一个自带的单元测试框架是unittest模块,用它来做单元测试,它里面封装好了一些校验返回的结果方法和一些用例执行前的初始化操作。 在说unittest之前,先说几个概念: TestCase 也就是测试用例 TestSuite 多个测试用例集合在一起,就是TestSuite TestLoader是用来加载TestCase到TestSuite中的 TestRunner是来执行测试用例的,测试的结果会保存到TestResult实例中,包括运行了多少测试用例,成功了多少,失败了多少等信息 下面写一个简单的单元测试用例 下面是一些常用的断言,也就是校验结果 那如何生成一个测试报告呢,需要加入另外一个模块了,HTMLTestRunner,这个模块需要自己安装,使用执行测试用例就会生成一个html的测试报告,里面会有每个测试用例的执行结果,代码如下: 如果我们有很多个模块,每个模块下面都写了很多python文件,每个python文件里面都有测试用例,那怎么把这个目录下的用例都执行了呢,就要先找到这个目录下的所有python文件,然后找到里面的测试用例,逐个执行,代码如下: 我们在后续进行持续集成的时候,要让代码自动运行,就会用到Jenkins了,但是上面产生的测试报告都是html格式的,Jenkins不认识,就在Jenkins里面显示不出来

java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing错误的解决方法

[亡魂溺海] 提交于 2019-12-27 05:46:28
今天用Minning这本书:《Manning JUnit in Action 2nd Edition》中自带的例子来学习JUnit的使用。 结果导入到Eclipse中,运行测试用例报错:java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing 在网上搜了一下,都说是JUnit.jar版本的问题。我在Eclipse中设置的JUnit变量是eclipse-SDK-3.5.2-win32目录下自带的: %ECLIPSE_HOME%/eclipse/plugins/org.junit4_4.5.0.v20090824/junit.jar 将其换成最新的JUnit版本(自己下载的junit4.9b2),这个错误就没了。奇怪的是,即便是用上面这个junit.jar自动生成测试用例,运行后也会报一样的错。不知道是什么原因。 来源: https://www.cnblogs.com/quyu/archive/2011/04/19/2021616.html

单元测试规范流程

混江龙づ霸主 提交于 2019-12-26 23:56:02
目录导航 一.测试用例编写规范 1、测试用例编写目的 2、适用范围 3、测试用例 4、用例设计方法 5、测试用例设计的原则 6、用例设计步骤 二.测试规范 1、接口功能测试:用来保证接口功能的正确性 2、局部数据结构测试(不常用):用来保证接口中的数据结构是正确的 3、边界条件测试 4、代码覆盖率 5、各条错误处理测试:保证每一个异常都经过测试 三.实施方案 1、idea安装junit插件 2、添加pom依赖: 3、命名 4、几种常用的注解(导org.junit.jupiter包) 5、断言 6、参数化测试 7、MockMvc使用(模拟controller请求接收) 8、几个方法的简单说明: 9、增加app服务的验证签名之后的junit修改 四.验收方法 五.CI流程中需要增加的项目 1、pom依赖 2、profile 3、测试代码中profile的使用 4、测试数据的规范 六.集成方案 1、安装JDK 2、安装Jenkins 3、配置Jenkins 4、新建测试项目 一.测试用例编写规范 1、测试用例编写目的 (1)为用例的质量负责,使用例编写工作能够有序、合理; (2)统一测试用例编写的规范,为测试设计人员提供测试用例编写的指导,提高编写的测试用例的可读性,可执行性、合理性; (3)能有效的提高系统所有功能点的覆盖率。 2、适用范围 适用于人员:用于测试人员阅读和执行

接口测试用例设计

时光怂恿深爱的人放手 提交于 2019-12-26 19:52:17
对于web接口测试来说有哪些测试要点:   1、请求是否正确,默认请求成功是200,如果请求错误也能返回404、500等。   2、检查返回数据的正确性与格式;json是一种非常创建的格式。   3、接口的安全性,一般web都不会暴露在网上任意被调用,需要做一些限制,比如鉴权或认证。   4、接口的性能,web接口同样注重性能,这直接影响用户的使用体验。如果我搜索一个关键字半天结果都没返回,果断弃用。 接口测试的用例设计出了要验证正常功能之外,还需要考虑其他的一些情况,总结起来,接口测试的用例设计可以从以下几个方面入手: 1. 功能用例设计 服务端的接口与客户端的功能是对应的,那么这个接口是否能提供给客户端某个特定功能所需要的数据自然是我们需要验证的地方,功能性用例的主要目的是帮助我们验证该接口最初设计的功能是否被实现以及该功能是否按照规定的接口文档进行实现等等。 2. 业务逻辑用例设计 业务逻辑方面的测试用例主要是针对服务端接口的处理逻辑进行的用例设计,这种用例设计不是针对某个功能点是否实现,而是对接口的处理逻辑以及一些相互依赖的业务进行验证,通常依照接口的逻辑流程图来进行。举一个例子,购物系统中的两个动作:登录和下单操作,这两个业务是相互依赖的,下单操作必须在登录完成后(登录状态下),否则无法完成下单,这个时候我们就可以设计这样一条 case:没有登录的状态下进行下单操作

黑盒测试概念及设计方法

烂漫一生 提交于 2019-12-26 17:52:19
黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。 黑盒测试是以用户的角度,从输入数据与输出数据的对应关系出发进行测试的。很明显,如果外部特性本身设计有问题或规格说明的规定有误,用黑盒测试方法是发现不了的。 黑盒测试法注重于测试软件的功能需求,主要试图发现下列几类错误。 功能不正确或遗漏; 界面错误; 输入和输出错误; 数据库访问错误; 性能错误; 初始化和终止错误等。 概述: 从理论上讲,黑盒测试只有采用穷举输入测试,把所有可能的输入都作为测试情况考虑,才能查出程序中所有的错误。实际上测试情况有无穷多个,人们不仅要测试所有合法的输入,而且还要对那些不合法但可能的输入进行测试。这样看来,完全测试是不可能的,所以我们要进行有针对性的测试,通过制定测试案例指导测试的实施,保证软件测试有组织、按步骤,以及有计划地进行。黑盒测试行为必须能够加以量化,才能真正保证软件质量,而测试用例就是将测试行为具体量化的方法之一。具体的黑盒测试用例设计方法包括等价类划分法、边界值分析法、错误推测法

黑盒测试用例设计方法

北慕城南 提交于 2019-12-26 17:52:04
1. 概述 黑盒测试用例设计方法包括等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交试验设计法、功能图法等。 2. 等价类划分法 2.1. 概念 等价类划分法是把程序的输入域划分成若干部分(子集),然后从每个部分中选取少数代表性数据作为测试用例。每一类的代表性数据在测试中的作用等价于这一类中的其他值。 2.2. 等价类划分法的应用 等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:有效等价类和无效等价类。 有效等价类:是指对于程序的规格说明来说是合理的,有意义的输入数据构成的集合.利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。 无效等价类:与有效等价类的定义恰巧相反。 设计测试用例时,要同时考虑这两种等价类.因为,软件不仅要能接收合理的数据,也要能经受意外的考验.这样的测试才能确保软件具有更高的可靠性。 划分等价类的六大原则: 在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类. 例:输入值是学生成绩,范围是0~100:

黑盒测试用例设计方法

我与影子孤独终老i 提交于 2019-12-26 16:53:35
常用测试用例设计方法 1、等价类划分 2、边界值分析方法 3、因果图方法 4、正交实验设计方法 5、功能图分析方法 6、错误推测法 7、需求文档转化法 8、随机测试 9、对象属性分析法 等价类划分: 1)输入条件中规定了输入数据的取值范围,可分为一个有效等价类和另两个无效等价类 2)输入条件中规定了输入数据的个数,可分为一个有效等价类和两个无效等价类 3)若规定了输入数据必须遵循的原则,则可分为一个有效等价类和若干个无效等价类 4)若输入条件中规定了输入数据的一组取值,且软件对不同的输入值对应有不同的处理,则每个允许值构成一个有效的等价类,其他值构成一个无效的等价类 5)若规定输入为整数,则正整数、负整数。零构成有效三个等价类,小数构成无效的等价类 等价类划分例子: 边界值分析方法: 意义:测试输入数据规则的边界是否有问题 较常用 1)若输入条件规定了取值范围,则选择恰好落在边界上和处在边界内、边界外的测试值 2)若规定了输入数据的个数,则选择最小个数,比最小个数多1、少1,比最大个数多1少1等几种测试情况作为测试时输入数据的个数 3)若输入数据为有序集合,则选择有序集合中的第一个、最后一个以及越界输入作为测试用例 边界值分析方法例子: 1)对16-bit位整数而言,32767和-32768是边界值 2)屏幕上光标在最左上和最右下位置 3)报表的第一行和最后一行 4

黑盒测试用例设计方法

馋奶兔 提交于 2019-12-26 16:47:03
本文根据 Vince整理的 《 测试用例设计白皮书》 整理 Word 版本下载地址 : /Files/Jackc/黑盒测试用例设计方法.doc 黑盒测试用例设计方法 February 12 , 200 9 1. 概述 黑盒测试用例设计方法包括等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交试验设计法、功能图法等 。 2. 等价类划分法 2.1. 概念 等价类划分法是把程序的输入域划分成若干部分(子集),然后从每个部分中选取少数代表性数据作为测试用例。每一类的代表性数据在测试中的作用等价于这一类中的其他值。 2.2. 等价类划分法的应用 1. 等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试 . 因此 , 可以把全部输入数据合理划分为若干等价类 , 在每一个等价类中取一个数据作为测试的输入条件 , 就可以用少量代表性的测试数据 . 取得较好的测试结果 . 等价类划分可有两种不同的情况 : 有效等价类和无效等价类。 · 有效等价类 : 是指对于程序的规格说明来说是合理的 , 有意义的输入数据构成的集合 . 利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。 · 无效等价类 : 与有效等价类的定义恰巧相 反。 设计测试用例时 , 要同时考虑这两种等价类 .