文档库 最新最全的文档下载
当前位置:文档库 › 软件工程{黑盒测试}实验报告

软件工程{黑盒测试}实验报告

软件工程{黑盒测试}实验报告
软件工程{黑盒测试}实验报告

软件工程{黑盒测试}实验报告

一、引言

1.1目的

测试报告为三角形问题和找零钱最佳组合问题项目的黑盒测试报告,目的在于总结测试阶段的测试以及分析测试结果。

1.2实验环境

在Windows 2000(SP2) 或Windows XP 操作系统上,使用C++语言,VC6.0工具作为开发环境(IDE)

1.3实验要求

1.根据给出的程序分别使用等价类划分法、边界值分析法、判定表方法、因

果图法、正交试验法、功能图法、错误推测法来设计相应的测试用例。

2.输入数据进行测试,填写测试用例。

二、实验原理

黑盒测试原理:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。软件的黑盒测试意味着测试要在软件的接口处进行。这种方法是把测试对象看作一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。因此黑盒测试又叫功能测试。

从理论上讲,黑盒测试只有采用穷举输入测试,把所有可能的输入都作为测试情况考虑,才能查出程序中所有的错误。实际上测试情况有无穷多个,人们不仅要测试所有合法的输入,而且还要对那些不合法但可能的输入进行测试。这样看来,完全测试是不可能的,所以我们要进行有针对性的测试,通过制定测试案例指导测试的实施,保证软件测试有组织、按步骤,以及有计划地进行。黑盒测试行为必须能够加以量化,才能真正保证软件质量,而测试用例就是将测试行为具体量化的方法之一。具体的黑盒测试用例设计方法包括等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交试验设计法、功能图法等。

等价类划分的办法是把程序的输入域划分成若干部分(子集),然后从每个部分中选取少数代表性数据作为测试用例。每一类的代表性数据在测试中的作用等价

于这一类中的其他值。该方法是一种重要的,常用的黑盒测试用例设计方法。

1 划分等价类

划分等价类:等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试。因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据。取得较好的测试结果。等价类划分可有两种不同的情况:有效等价类和无效等价类。

有效等价类:是指对于程序的规格说明来说是合理的,有意义的输入数据构成的集合。利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。

无效等价类:与有效等价类的定义恰巧相反。

设计测试用例时,要同时考虑这两种等价类。因为,软件不仅要能接收合理的数据,也要能经受意外的考验。这样的测试才能确保软件具有更高的可靠性。

2 边界值分析

边界值分析是通过选择等价类边界的测试用例。边界值分析法不仅重视输入条件边界,而且也必须考虑输出域边界。它是对等价类划分方法的补充。

(1)边界值分析方法的考虑;长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。

使用边界值分析方法设计测试用例,首先应确定边界情况。通常输入和输出等价类的边界,就是应着重测试的边界情况。应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。

(2)基于边界值分析方法选择测试用例的原则:

1)如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据。

2)如果输入条件规定了值的个数,则用最大个数,最小个数,比最小个数少一,比最大个数多一的数作为测试数据。

3)根据规格说明的每个输出条件,使用前面的原则1)。

4)根据规格说明的每个输出条件,应用前面的原则2)。

5)如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例。

6)如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例。

7)分析规格说明,找出其它可能的边界条件。

3 错误推测法

错误推测法是基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法。

错误推测方法的基本思想:列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例。例如, 在单元测试时曾列出的许多在模块中常见的错误。以前产品测试中曾经发现的错误等, 这些就是经验的总结。还有,输入数据和输出数据为0的情况。输入表格为空格或输入表格只有一行。这些都是容易发生错误的情况。可选择这些情况下的例子作为测试用例。

4 因果图法

前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系,相互组合等。考虑输入条件之间的相互组合,可能会产生一些新的情况。但要检查输入条件的组合不是一件容易的事情,即使把所有输入条件划分成等价类,他们之间的组合情况也相当多。因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例。这就需要利用因果图(逻辑模型)。

因果图方法最终生成的就是判定表。它适合于检查程序输入条件的各种组合情况。

三、实验内容

3.1 三角形问题

1)划分等价类

有效等价类:

输入3个正整数或正小数:

1、两数之和大于第三数,如A

2、两数之和不大于第三数

3、两数相等,如A=B或B=C或C=A

4、三数相等,如A=B=C

5、三数不相等,如A!=B,B!=C,C!=A

无效等价类:

1、空

2、负整数

3、非数字

4、少于三个数

三角形测试用例类别

输入条件有效等价类无效等价类

是否是三角形(A>0) (1)

(B>0) (2)

(C>0) (3)

(A+B>C) (4)

(B+C>A) (5)

(C+A>B) (6)

(A<=0) (7)

(B<=0) (8)

(C<=0) (9)

(A+B<=C) (10)

(B+C<=A) (11)

(C+A<=B) (12)

是否是等腰三角形(A=B) (13)

(B=C) (14)

(C=A) (15)

(A!=B)and(B!=C)and(C!=A)

(16)

是否是等腰直角三角形(A=B)and(A2+B2=C2) (17)

(B=C)and(B2+C2=A2) (18)

(C=A)and(C2+A2=B2) (19)

(A!=B)and(B!=C)and(C!=A)

(20)

是否是等边三角形(A=B)and(B=C)and(C=A)

(21)

(A!=B) (22)

(B!=C) (23)

(C!=A) (24)

三角形测试用例:用最少的测试用例覆盖所有的有效等价类,而无效等价类每个类型都要覆盖到

三角形问题”的测试用例(边界值分析法)

测试源代码

三、测试代码

等价值测试法

package cn.heihe.sjx.test;

import java.util.Scanner;

/**

* “三角形问题”的测试用例(等价类测试)

*

* @author Mario

*

*/

public class TestTriangle {

@SuppressWarnings("resource")

public static void main(String[] args) {

try {

int a, b, c;

System.out.println("开始黑盒测试");

Scanner in = new Scanner(System.in);

System.out.print("条件1.请输入第一个大于0且小于等于100的

整数");

a = Integer.parseInt(in.nextLine());

if (a <= 0 || a > 100 || !String.valueOf(a).matches("[0-9]+")) {

throw new Exception();

}

System.out.print("条件2.请输入第二个大于0且小于等于100的整数");

b = Integer.parseInt(in.nextLine());

if (b <= 0 || b > 100 || !String.valueOf(b).matches("[0-9]+")) {

throw new Exception();

}

System.out.print("条件3.请输入第三个大于0且小于等于100的整数");

c = Integer.parseInt(in.nextLine());

if (c <= 0 || c > 100 || !String.valueOf(c).matches("[0-9]+")) {

throw new Exception();

}

if ((!(a + b <= c || a + c <= b || b + c <= a)) && (a >= 1 && a <= 100) && (b >= 1 && b <= 100)

&& (c >= 1 && c <= 100)) {

if (a == b && a == c) {

System.out.println(a + "," + b + "," + c + "可以组成一个等边三角形");

} else if (a == b || a == c || b == c) {

System.out.println(a + "," + b + "," + c + "可以组成一个等腰三角形");

} else if ((a * a + b * b == c * c && a == b) || (a * a + c * c == b * b && a == c)

|| (c * c + b * b == a * a && c == b)) {

System.out.println(a + "," + b + "," + c + "可以组成一个等腰直角三角形");

} else if ((a * a + b * b == c * c) || (a * a + c * c == b * b) || (c * c + b * b == a * a)) {

System.out.println(a + "," + b + "," + c + "可以组成一个直角三角形");

} else {

System.out.println(a + "," + b + "," + c + "可以组成一个一般三角形");

}

} else {

if (a < 1 || a > 100)

System.out.println("不满足条件1,不能构成三角形");

if (b < 1 || b > 100)

System.out.println("不满足条件2,不能构成三角形");

if (c < 1 || c > 100)

System.out.println("不满足条件3,不能构成三角形");

if (c < 1 || c > 100)

System.out.println("不满足条件3,不能构成三角形");

if (a >= b + c)

System.out.println("不满足a

if (b >= a + c)

System.out.println("不满足b

if (c >= a + b)

System.out.println("不满足c

}

System.out.println("黑盒测试结束");

} catch (Exception e) {

System.out.println("不满足条件,不能构成三角形\n黑盒测试结束");

}

}

边界值测试法

package cn.heihe.sjx.test;

import java.util.Scanner;

/**

* “三角形问题”的测试用例(边界值测试)

*

* @author Mario

*/

public class TestTriangle2 {

@SuppressWarnings("resource")

public static void main(String[] args) {

try {

int a, b, c;

System.out.println("开始黑盒测试");

Scanner in = new Scanner(System.in);

System.out.print("条件1.请输入第一个大于0且小于等于100的整数");

a = Integer.parseInt(in.nextLine());

System.out.print("条件2.请输入第二个大于0且小于等于100的整数");

b = Integer.parseInt(in.nextLine());

System.out.print("条件3.请输入第三个大于0且小于等于100的整数");

c = Integer.parseInt(in.nextLine());

if (a < 1 || a > 100 || !String.valueOf(a).matches("[0-9]+")) {

throw new Exception();

}

if (b < 1 || b > 100 || !String.valueOf(b).matches("[0-9]+")) {

throw new Exception();

}

if (c < 1 || c > 100 || !String.valueOf(c).matches("[0-9]+")) {

throw new Exception();

}

if ((!(a + b <= c || a + c <= b || b + c <= a))) {

if (a != b && b != c && a != c) {

System.out.println("这个三角形是三边不等的");

} else if (a == b && b == c && a == c) {

System.out.println("这个三角形是等边的");

} else if (a == b || a == c || c == b) {

System.out.println("这个三角形是等腰的");

}

} else {

System.out.println("输入无效");

}

System.out.println("黑盒测试结束");

} catch (Exception e) {

System.out.println("输入无效\n黑盒测试结束");

}

}

}

3.2 找零钱最佳组合

一、分析输入的情形。

二、分析输出情形。

三、分析规格中每一决策点之情形,以RR1,RR2,RR3表示计算要找50,10,5元货币数时之剩余金额。

R>100 R<=0 P>100 P=50 RR2>=10 RR3>=5

四、由上述之输入/输出条件组合出可能的情形。(RR=P-R)

R>100

R<=0

0100

0

0

0

0

0

0

0

0

0

五、为满足以上之各种情形,测试资料设计如下:

1.货品价格=101

2.货品价格=0

3.货品价格=-1

4.货品价格=100,付款金额=101

5.货品价格=100,付款金额=99

6.货品价格=50,付款金额=100

7.货品价格=51,付款金额=100

8.货品价格=90,付款金额=100

9.货品价格=91,付款金额=100

10.货品价格=95,付款金额=100

11.货品价格=96,付款金额=100

12.货品价格=99,付款金额=100

13.货品价格=100,付款金额=100

测试源代码

package com.xu.ceshi;

import java.util.Scanner;

public class Price {

public static void main(String[] args) {

System.out.println("请输入您购买的东西价格:");

Scanner scanner=new Scanner(System.in);

int value=scanner.nextInt();

if(value>100||value<0){

System.out.println("无效货品价格");

System.out.println("请输入您购买的东西价格:");

value=scanner.nextInt();

}

System.out.println("请输入您支付的金额:");

int value2=scanner.nextInt();

if(value>value2||value2>100){

System.out.println("无效付款");

}else if(value==value2){

System.out.println("不找零");

}else{

int value3=value2-value;

if(value3>100||value3<0){

System.out.println("输入的价钱不在本店范围内");

value=scanner.nextInt();

}

Price price=new Price();

price.process(value3);

}

}

public void process(int money){

System.out.println("将"+money+"元找零需要");

int[] value={100,50,10,5,1};

int[] count=new int[value.length];

for(int i=0;i

while(money>=value[i]){

money-=value[i];

count[i]++;

}

if(count[i] !=0){

System.out.print("应找回"+count[i]+"张"+value[i]+"元");

}

}

}

}

四、心得体会

通过这一次的黑盒测试实验,我们小组成员学习到了很多的知识。首先对于测试计划上的失误,可以通过小组讨论,理清问题所在,交流寻找解决方案,以保证软件测试的后续展开。

还有对于测试人员对软硬件的熟悉程度引起的延误,可暂时延后测试行程,组员之间相互沟通交流软件、硬件系统使用心得,共同提高熟练程度后继续展开测试工作。在这过程中我们发现我们仍然有很多不足的地方,例如对测试的基本知识掌握程序不够,编写测试用例可能不完整等等。

实验1-白盒测试实验报告

实验1-白盒测试实验报告

第一章白盒测试 实验1 语句覆盖 【实验目的】 1、掌握测试用例的设计要素和关键组成部 分。 2、掌握语句覆盖标准,应用语句覆盖设计测 试用例。 3、掌握语句覆盖测试的优点和缺点。 【实验原理】 设计足够多的测试用例,使得程序中的每个语句至少执行一次。 【实验内容】 根据下面提供的程序,设计满足语句覆盖的测试用例。 1、程序1源代码如下所示: #include void main()

{ int b; int c; int a; if(a*b*c!=0&&(a+b>c&&b+c>a&&a+c>b)) { if(a==b&&b==c) { cout<<"您输入的是等边三角形!"; } else if((a+b>c&&a==b)||(b+c>a&&b==c)||(a+c> b&&a==c)) { cout<<"您输入的是等腰三角形!"; } else if((a*a+b*b==c*c)||(b*b+c*c==a*a)||(a* a+c*c==b*b)) { cout<<您输入的是直角三角形"; }

else { cout <<”普通三角形”; } } else { cout<<"您输入的不能构成一个三角形!"; } } 输入数据预期输出 A=6,b=7,c=8普通三角形 A=3,b=4,c=5直角三角形 A=4,b=2,c=4等腰三角形 A=1,b=1,c=1等边三角形 A=20,b=10,c=1非三角形 2、程序2源代码如下所示: void DoWork(int x,int y,int z) {

氢氧燃料电池性能测试实验报告

氢氧燃料电池性能测试 实验报告 Company Document number:WTUT-WT88Y-W8BBGB-BWYTT-19998

氢氧燃料电池性能测 试实验报告 学号: 姓名:冯铖炼 指导老师:索艳格 一、实验目的 1.了解燃料电池工作原理 2.通过记录电池的放电特性,熟悉燃料电池极化特性 3.研究燃料电池功率和放电电流、燃料浓度的关系 4.熟悉电子负载、直流电源的操作 二、工作原理 氢氧燃料电池以氢气作燃料为还原剂,氧气作氧化剂氢氧燃料电池,通过燃料的燃烧反应,将化学能转变为电能的电池,与原电池的工作原理相同。 氢氧燃料电池工作时,向氢电极供应氢气,同时向氧电极供应氧气。氢、氧气在电极上的催化剂作用下,通过电解质生成水。这时在氢电极上有多余的电子而带负电,在氧电极上由于缺少电子而带正电。接通电路后,这一类似于燃烧的反应过程就能连续进行。

工作时向负极供给燃料(氢),向正极供给氧化剂(氧气)。氢在负极上的催化剂的作用下分解成正离子H+和电子e-。氢离子进入电解液中,而电子则沿外部电路移向正极。用电的负载就接在外部电路中。在正极上,氧气同电解液中的氢离子吸收抵达正极上的电子形成水。这正是水的电解反应的逆过程。 氢氧燃料电池不需要将还原剂和氧化剂全部储藏在电池内的装置氢氧燃料电池的反应物都在电池外部它只是提供一个反应的容器 氢气和氧气都可以由电池外提供燃料电池是一种化学电池,它利用物质发生化学反应时释出的能量,直接将其变换为电能。从这一点看,它和其他化学电池如锌锰干电池、铅蓄电池等是类似的。但是,它工作时需要连续地向其供给反应物质——燃料和氧化剂,这又和其他普通化学电池不大一样。由于它是把燃料通过化学反应释出的能量变为电能输出,所以被称为燃料电池。 具体地说,燃料电池是利用水的电解的逆反应的"发电机"。它由正极、负极和夹在正负极中间的电解质板所组成。最初,电解质板是利用电解质渗入多孔的板而形成,2013年正发展为直接使用固体的电解质。 工作时向负极供给燃料(氢),向正极供给氧化剂(空气,起作用的成分为氧气)。氢在负极分解成正离子H+和电子e-。当氢离子进入电解液中,而电子就沿外部电路移向正极。用电的负载就接在外部电路中。在正极上,空气中的氧同电解液中的氢离子吸收抵达正极上的电子形成水。这正是水的电解反应的逆过程。此过程水可以得到重复利用,发电原理与可夜间使用的太阳能电池有异曲同工之妙。 燃料电池的电极材料一般为惰性电极,具有很强的催化活性,如铂电极、活性碳电极等。 利用这个原理,燃料电池便可在工作时源源不断地向外部输电,所以也可称它为一种"发电机"。 一般来讲,书写燃料电池的化学反应方程式,需要高度注意电解质的酸碱性。在正、负极上发生的电极反应不是孤立的,它往往与电解质溶液紧密联系。如氢—氧燃料电池有酸式和碱式两种: 若电解质溶液是碱、盐溶液则

黑盒测试实验报告

实验报告书 课程名称:软件测试 实验题目:黑盒测试报告 专业:教育技术学 班级:教技142 学生姓名:安卓 指导老师:郭小雪 所属学期:2017-2018学年第二学期

一、引言 1.1目的 测试报告为三角形问题和找零钱最佳组合问题项目的黑盒测试报告,目的在于总结测试阶段的测试以及分析测试结果。 实验环境 在Windows 2000(SP2) 或Windows XP 操作系统上,使用C++语言,工具作为开发环境(IDE) 实验要求 1.根据给出的程序分别使用等价类划分法、边界值分析法、判定表 方法、因果图法、正交试验法、功能图法、错误推测法来设计相应的测试用例。 2.输入数据进行测试,填写测试用例。 二、实验原理 黑盒测试原理:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。软件的黑盒测试意味着测试要在软件的接口处进行。这种方法是把测试对象看作一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。因此黑盒测试又叫功能测试。 从理论上讲,黑盒测试只有采用穷举输入测试,把所有可能的输入都

作为测试情况考虑,才能查出程序中所有的错误。实际上测试情况有无穷多个,人们不仅要测试所有合法的输入,而且还要对那些不合法但可能的输入进行测试。这样看来,完全测试是不可能的,所以我们要进行有针对性的测试,通过制定测试案例指导测试的实施,保证软件测试有组织、按步骤,以及有计划地进行。黑盒测试行为必须能够加以量化,才能真正保证软件质量,而测试用例就是将测试行为具体量化的方法之一。具体的黑盒测试用例设计方法包括等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交试验设计法、功能图法等。 等价类划分的办法是把程序的输入域划分成若干部分(子集),然后从每个部分中选取少数代表性数据作为测试用例。每一类的代表性数据在测试中的作用等价于这一类中的其他值。该方法是一种重要的,常用的黑盒测试用例设计方法。 1 划分等价类 划分等价类:等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试。因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据。取得较好的测试结果。等价类划分可有两种不同的情况:有效等价类和无效等价类。 有效等价类:是指对于程序的规格说明来说是合理的,有意义的输入数据构成的集合。利用有效等价类可检验程序是否实现了规格说明中

软件测试报告

软件测试报告 成员: 2018年6月27日

软件测试报告 项目名称:基于https://www.wendangku.net/doc/618868219.html,+SQL server 2008网上书城 一、测试概述 1.1测试任务描述 对店铺管理产品项目中所有的软件测试活动中,包括测试进度、资源、问题、风险以及测试组和其他组间的协调等进行评估,总结测试活动的成功经验与不足,以便今后更好的开展测试工作。 1.2测试范围 依据用户需求说明书和软件需求规格说明书以及相应的设计文档进行系统测试,包括功能测试、性能测试、用户访问与安全控制测试、用户界面测试和单元测试。主要功能包括: 用户功能 注册新用户、登录系统、浏览公告、发表留言、添加修改和删除购物车的信息、提交订单 浏览者功能 查看网站主页、商品信息查询、浏览公告信息 购物系统管理后台 管理员注册系统、管理员登录系统、用户管理系统、订单管理系统、商品管理系统、公告管理系统 1.3测试环境描述 测试PC机(2台) 配置:Web服务器及数据库服务器均采用AMD Atholon (1GHZ)PC工作站。 内存1024M、硬盘120G 数据库管理系统:数据库MySQL:MySQL Server 5.0 应用软件:Tomcat5.5、eclipse 客户端前端显示:IE9.0 1.4测试模型

1.5参考资料 二、测试描述 2.1测试版本比较 2.2测试方法 黑盒测试、WEB测试通用方法、手工测试2.3测试描述

三、遗留问题描述 测试执行时间相对较少,测试通过标准要求较低;开发人员相关培训未做到位,编码风格各异,细节性错误较多,返工现象存在较多;测试执行人员对管理平台不够熟悉,使用时效率偏低;测试执行人员对系统了解不透彻,测试执行时存在理解偏差,导致提交无效缺陷。 四、测试总结 4.1测试用例执行结果

软件测试实验报告(测试计划+黑盒测试+白盒测试)

河北民族师范学院 软件测试课程设计报告 题目:NextDate函数 姓名: 班级: 学号: 指导老师: 2014.10.9 目录 第1章软件测试的概念和设计要求 (3) 1.1 测试目的 (3) 1.2 测试选题 (4) 1.3测试人员 (4) 1.4测试方法 (4) 1.5 测试资料及参考书 (4) 1.6关于黑盒测试 (4) 1.7 关于白盒测试 (5) 1.8、黑盒测试与白盒测试的比较 (6) 1.9 软件测试过程 (6) 1.10数据整理 (7) 第2章NextDate函数问题 (8) 2.1NextDate函数的黑盒测试 (8) 2.1.1.问题描述: (8) 2.1.2.程序代码(开发环境:Windowsxp xp、java): (8) 2.1.3.测试方法 (9) 2.1.4.测试用例设计 (9)

2-2NextDate函数的白盒测试 (11) 2.2.1核心程序代码 (11) 2.2.2程序流程图 (12) 2.2.3 测试用例 (12) 2.2.4程序控制流图 (14) 设计心得与体会 (14) 第1章软件测试的概念和设计要求 1.1 测试目的 1.练习和掌握软件测试管理的一般过程与步骤; 2.掌握测试管理的人工过程和能够通过相关管理软件实现以下工作: a)配置软件资产信息、软件需求、软件模型和缺陷数据库; b)创建和管理多个测试组和用户; c)配置测试环境、编写详细测试计划、安排测试进度; d)设计测试脚本、测试用例; e)实施测试、执行测试和评估测试。 1.2 测试选题 NextDate函数; 1.3测试人员 张@@:软件测试计划及相关资料的编写与收集。 李@@:对特定问题编写程序代码,并对其进行黑盒测试。 王@@:对特定问题编写程序代码,并对其进行白盒测试。 1.4测试方法 对于选题,使用黑盒测试技术,测试内容包括等价类划分测试、边界值分析测试、决策表方法使用。 使用白盒测试技术,测试内容包括语句覆盖测试、分支覆盖测试、条件覆盖测试、分支/条件覆盖测试、条件组合覆盖测试及基本路径测试。

性能测试工具LoadRunner实验报告

性能测试工具LoadRunner实验报告 一、概要介绍 1.1 软件性能介绍 1.1.1 软件性能的理解 性能是一种指标,表明软件系统或构件对于其及时性要求的符合程度;同时也是产品的特性,可以用时间来进行度量。 表现为:对用户操作的响应时间;系统可扩展性;并发能力;持续稳定运行等。1.1.2 软件性能的主要技术指标 响应时间:响应时间=呈现时间+系统响应时间 吞吐量:单位时间内系统处理的客户请求数量。(请求数/秒,页面数/秒,访问人数/秒) 并发用户数:业务并发用户数; [注意]系统用户数:系统的用户总数;同时在线用户人数:使用系统过程中同时在线人数达到的最高峰值。 1.2 LoadRunner介绍 LoadRunner是Mercury Interactive的一款性能测试工具,也是目前应用最为广泛的性能测试工具之一。该工具通过模拟上千万用户实施并发负载,实时性能监控的系统行为和性能方式来确认和查找问题。 1.2.1 LoadRunner工具组成 虚拟用户脚本生成器:捕获最终用户业务流程和创建自动性能测试脚本,即我们在以后说的产生测试脚本; 压力产生器:通过运行虚拟用户产生实际的负载; 用户代理:协调不同负载机上虚拟用户,产生步调一致的虚拟用户; 压力调度:根据用户对场景的设置,设置不同脚本的虚拟用户数量;

监视系统:监控主要的性能计数器; 压力结果分析工具:本身不能代替分析人员,但是可以辅助测试结果的分析。 1.2.2 LoadRunner工具原理 代理(Proxy)是客户端和服务器端之间的中介人,LoadRunner就是通过代理方式截获客户端和服务器之间交互的数据流。 1)虚拟用户脚本生成器通过代理方式接收客户端发送的数据包,记录并将其转发给服务器端;接收到从服务器端返回的数据流,记录并返回给客户端。 这样服务器端和客户端都以为在一个真实运行环境中,虚拟脚本生成器能通过这种方式截获数据流;虚拟用户脚本生成器在截获数据流后对其进行了协议层上的处理,最终用脚本函数将数据流交互过程体现为我们容易看懂的脚本语句。 2)压力生成器则是根据脚本内容,产生实际的负载,扮演产生负载的角色。 3)用户代理是运行在负载机上的进程,该进程与产生负载压力的进程或是线程协作,接受调度系统的命令,调度产生负载压力的进程或线程。 4)压力调度是根据用户的场景要求,设置各种不同脚本的虚拟用户数量,设置同步点等。 5)监控系统则可以对数据库、应用服务器、服务器的主要性能计数器进行监控。 6)压力结果分析工具是辅助测试结果分析。 二、LoadRunner测试过程 2.1 计划测试 定义性能测试要求,例如并发用户的数量、典型业务流程和所需响应时间等。 2.2 创建Vuser脚本 将最终用户活动捕获(录制、编写)到脚本中,并对脚本进行修改,调试等。协议类型:取决于服务器端和客户端之间的通信协议;

PC性能评测实验报告

计算机体系结构课程实验报告 PC性能测试实验报告 学号: 姓名:张俊阳 班级:计科1302 题目1:PC性能测试软件 请在网上搜索并下载一个PC机性能评测软件(比如:可在百度上输入“PC 性能benchmark”,进行搜索并下载,安装),并对你自己的电脑和机房电脑的性能进行测试。并加以比较。 实验过程及结果: 我的电脑:

机房电脑:

综上分析:分析pcbenchmark所得数据为电脑的current performance与其potential performance的比值,值大表明计算机目前运行良好,性能好,由测试结果数据可得比较出机房的电脑当前运行的性能更好。分析鲁大师性能测试结果:我的电脑得分148588机房电脑得分71298,通过分析我们可以得出CPU占总得分的比重最大,表明了其对计算机性能的影响是最大的,其次显卡性能和内存性能也很关键,另外机房的电脑显卡性能较弱,所以拉低了整体得分,我的电脑各项得分均超过机房电脑,可以得出我的电脑性能更好的结论。 题目2:toy benchmark的编写并测试 可用C语言编写一个程序(10-100行语句),该程序包括两个部分,一个部分主要执行整数操作,另一个部分主要执行浮点操作,两个部分执行的频率(频率整数,频率浮点)可调整。请在你的计算机或者在机房计算机上,以(,),(,),(,)的频率运行你编写的程序,并算出三种情况下的加权平均运行时间。 实验过程及结果: #include<> #include<> int main() {

int x, y, a; double b; clock_t start, end; printf("请输入整数运算与浮点数运算次数(单位亿次)\n"); scanf("%d%d", &x, &y); /*控制运行频率*/ start = clock(); for (int i = 0; i

黑盒测试软件测试实验报告2

软件测试与质量课程实验报告实验2:黑盒测试法实验

缺席:扣10分实验报告雷同:扣10分实验结果填写不完整:扣1 – 10分其他情况:扣分<=5分总扣分不能大于10分 参考代码如下: (1)程序参考答案: #include double main() { int hours; double payment,wage; wage=20; cout<<"please input hours:"; cin>>hours; if(hours>=0&&hours<=168){ if (hours<40) payment=hours*wage ; else if ((hours>=40) && (hours<=50)) payment=40*wage+(hours-40)*1.5*wage; else if (hours>50) payment=40*wage+10*1.5*wage+(hours-50)*3*wage; cout<<"The final payment are:"< void main() { int year; int month,maxmonth=12; int day,maxday; printf("请输入年份:(1000~3000)"); scanf("%d",&year); if(year<1000 || year>3000) { printf("输入错误!请从新输入!\n");

软件测试白盒测试实验报告

7.使用白盒测试用例设计方法为下面的程序设计测试用例: ·程序要求:10个铅球中有一个假球(比其他铅球的重量要轻),用天平三次称出假球。 ·程序设计思路:第一次使用天平分别称5个球,判断轻的一边有假球;拿出轻的5个球,拿出其中4个称,两边分别放2个球;如果两边同重,则剩下的球为假球;若两边不同重,拿出轻的两个球称第三次,轻的为假球。 【源程序】 using System; using System.Collections.Generic; using System.Linq; using System.Text; using NUnit.Framework; namespace Test3_7 { [TestFixture] public class TestGetMinValue { [Test] public void AddTwoNumbers() { Random r = new Random(); int n; int[] a=new int[10]; n = r.Next(0, 9); for (int i = 0; i < a.Length; i++) { if (i == n) a[i] = 5; else a[i] = 10; } GetMin gm = new GetMin(); Assert.AreEqual(n,gm.getMinvalue(a)); }

} public class GetMin { public int getMinvalue(int[] m) { double m1 = 0, m2 = 0, m3 = 0, m4 = 0; for (int i = 0; i < 5; i++) { m1 = m1 + m[i]; } for (int i = 5; i < 10; i++) { m2 = m2 + m[i]; } if (m1 < m2) { m3 = m[1] + m[0]; m4 = m[3] + m[4]; if (m3 > m4) { if (m[3] > m[4]) return 4; else return 3; } else if (m3 < m4) { if (m[0] > m[1]) return 1; else return 0; } else return 2; } else { m3 = m[5] + m[6]; m4 = m[8] + m[9]; if (m3 < m4) { if (m[5] > m[6]) return 6;

流量计性能测定实验报告doc

流量计性能测定实验报告 篇一:孔板流量计性能测定实验数据记录及处理篇二:实验3 流量计性能测定实验 实验3 流量计性能测定实验 一、实验目的 ⒈了解几种常用流量计的构造、工作原理和主要特点。 ⒉掌握流量计的标定方法(例如标准流量计法)。 ⒊了解节流式流量计流量系数C随雷诺数Re的变化规律,流量系数C的确定方法。 ⒋学习合理选择坐标系的方法。 二、实验内容 ⒈通过实验室实物和图像,了解孔板、1/4园喷嘴、文丘里及涡轮流量计的构造及工作原理。 ⒉测定节流式流量计(孔板或1/4园喷嘴或文丘里)的流量标定曲线。 ⒊测定节流式流量计的雷诺数Re和流量系数C的关系。 三、实验原理 流体通过节流式流量计时在流量计上、下游两取压口之间产生压强差,它与流量的关系为: 式中: 被测流体(水)的体积流量,m3/s; 流量系数,无因次;

流量计节流孔截面积,m2; 流量计上、下游两取压口之间的压强差,Pa ; 被测流体(水)的密度,kg/m3 。 用涡轮流量计和转子流量计作为标准流量计来测量流量VS。每一 个流量在压差计上都有一对应的读数,将压差计读数△P和流量Vs绘制成一条曲线,即流量标定曲线。同时用上式整理数据可进一步得到C—Re关系曲线。 四、实验装置 该实验与流体阻力测定实验、离心泵性能测定实验共用图1所示的实验装置流程图。 ⒈本实验共有六套装置,流程为:A→B(C→D)→E→F→G→I 。 ⒉以精度0.5级的涡轮流量计作为标准流量计,测取被测流量计流量(小于2m3/h流量时,用转子流量计测取)。 ⒊压差测量:用第一路差压变送器直接读取。 图1 流动过程综合实验流程图 ⑴—离心泵;⑵—大流量调节阀;⑶—小流量调节阀; ⑷—被标定流量计;⑸—转子流量计;⑹—倒U管;⑺⑻⑽—数显仪表;⑼—涡轮流量计;⑾—真空表;⑿—流量计平衡阀;⒁—光滑管平衡阀;⒃—粗糙管平衡阀;⒀—回流阀;⒂—压力表;⒄—水箱;⒅—排水阀;⒆—闸阀;⒇—

白盒测试和黑盒测试实验报告

软件质量保证与测试 实验指导 计算机工程学院

测试环境配置 1.setting Junit (1) start Eclipse Select windows-preferences-java-build path –class path variables (2) click new, the figure of new variable entry is shown. (3) name JUNIT_LIB

select file-选择JUnit 插件所对应的JAR文件所在地,在Eclipse的安装目录的plugins目录中 2.JUNIT的组成框架 其中,junit.framework 和junit.runner是两个核心包。 junit.framework 负责整个测试对象的框架 junit.runner 负责测试驱动 Junit的框架又可分为: A、被测试的对象。 B、对测试目标进行测试的方法与过程集合,可称为测试用例(TestCase)。

C、测试用例的集合,可容纳多个测试用例(TestCase),将其称作测试包(TestSuite)。 D、测试结果的描述与记录。(TestResult) 。 E、每一个测试方法所发生的与预期不一致状况的描述,称其测试失败元素(TestFailure) F、JUnit Framework中的出错异常(AssertionFailedError)。 JUnit框架是一个典型的Composite模式:TestSuite可以容纳任何派生自Test 的对象;当调用TestSuite对象的run()方法是,会遍历自己容纳的对象,逐个调用它们的run()方法。 3.JUnit中常用的接口和类 Test接口——运行测试和收集测试结果 Test接口使用了Composite设计模式,是单独测试用例(TestCase),聚合测试模式(TestSuite)及测试扩展(TestDecorator)的共同接口。 它的public int countTestCases()方法,它来统计这次测试有多少个TestCase,另外一个方法就是public void run(TestResult ),TestResult是实例接受测试结果,run方法执行本次测试。 TestCase抽象类——定义测试中固定方法 TestCase是Test接口的抽象实现,(不能被实例化,只能被继承)其构造函数TestCase(string name)根据输入的测试名称name创建一个测试实例。由于每一个TestCase在创建时都要有一个名称,若某测试失败了,便可识别出是哪个测试失败。 TestCase类中包含的setUp()、tearDown()方法。setUp()方法集中初始化测试所需的所有变量和实例,并且在依次调用测试类中的每个测试方法之前再次执行setUp()方法。tearDown()方法则是在每个测试方法之后,释放测试程序方法中引用的变量和实例。 开发人员编写测试用例时,只需继承TestCase,来完成run方法即可,然后JUnit获得测试用例,执行它的run方法,把测试结果记录在TestResult之中。 Assert静态类——一系列断言方法的集合 Assert包含了一组静态的测试方法,用于期望值和实际值比对是否正确,即测试失败,Assert类就会抛出一个AssertionFailedError异常,JUnit测试框架将

软件功能测试报告

软件功能测试报告1.概述 软件名称: 软件版本: (同时注明软件软本和测试包的cvs版本) 开发经理:申请单号: 测试人员: 测试日期: 测试内容: 备注: 2.测试环境 用途硬件环境软件环境 表2 测试环境 3.问题统计 (说明:该报告为阶段性测试的统计报告,该报表统计的bug数量为:本发布阶段内第一份申请单提交日期为起,直至填写报告这天为止的BUG数量,如果以前版本中有问题延期至本发布阶段来修正,那么该缺陷也需要统计进来;如果是功能测试报告则只统计当轮的即可,如果是功能+验证则需要统计本发布阶段的) 3.1按BUG状态统计(表格后面可以附上柱形图,以示更直观) BUG状态BUG数量备注 未分配(new) 不是缺陷(Not Bug)

未修改(open) 已修改(fixed) 不予修改(Won’t Fix)延期(Deffered) 被拒绝(Declined)无法重现信息不足重复的 已关闭(Closed) 重开启(Reopen) 合计 表3 按bug状态统计 3.2按BUG类型统计(表格后面可以附上柱形图,以示更直观) BUG 类型 BUG数量 备注未 分 配 未 修 改 不 是 缺 陷 已 修 改 不 予 修 改 延 期 被拒绝 已 关 闭 重 新 开 启 合 计 无 法 重 现 信 息 不 足 重 复 的 功能 界面 交互 3.3按BUG严重级别统计(表格后面可以附上柱形图,以示更直观) BUG 严 BUG数量 备注未未不已不延被拒绝已重合

重级别分 配 修 改 是 缺 陷 修 改 予 修 改 期无 法 重 现 信 息 不 足 重 复 的 关 闭 新 开 启 计 紧 急 严 重 中 等 轻 微 建 议 表5 按bug严重级别统计 3.4按功能模块统计(表格后面可以附上柱形图,以示更直观) 模块名称 BUG数量 备注未 分 配 未 修 改 不 是 缺 陷 已 修 改 不 予 修 改 延 期 被拒绝 已 关 闭 重 新 开 启 合 计 无 法 重 现 信 息 不 足 重 复 的 模块1 模块2 … …

白盒测试实验报告-范例

实验报告书 实验一白盒测试 学生姓名:李庆忠 专业:计算机科学与技术学号:1341901317

白盒测试实验报告 一实验内容 1、系统地学习和理解白盒测试的基本概念、原理,掌握白盒测试的基本技术和方法; 2、举例进行白盒测试,使用语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合 覆盖、路径覆盖进行测试。 3、通过试验和应用,要逐步提高和运用白盒测试技术解决实际测试问题的能力; 4、熟悉C++编程环境下编写、调试单元代码的基本操作技术和方法; 5、完成实验并认真书写实验报告(要求给出完整的测试信息,如测试程序、测试用例, 测试报告等) 二实验原理 白盒测试原理:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否已经过检查。它是把测试对象看作装在一个透明的白盒子里,也就是完全了解程序的结构和处理过程。这种方法按照程序内部的逻辑测试程序,检验程序中的每条通路是否都能按预定要求正确工作。其又称为结构测试。 流程图如下图所示 实验代码 #include"stdio.h"

int main() { int x,y,z; scanf("%d%d",&x,&y); if((x>0)&&(y>0)) { z=x+y+10; } else { z=x+y-10; } if(z<0) { z=0; printf("%d\n",z); } else { printf("%d\n",z); } return 0; } 语句覆盖是指选择足够的测试,使得程序中每个语句至少执行一次。如选择测试x=1,y=1和x=1,y=-1可覆盖所有语句。 判定覆盖是指选择足够的测试,使得程序中每一个判定至少获得一次“真”值和“假”值,从而使得程序的每个分支都通过一次(不是所有的逻辑路径)。选择测试x=1,y=1和x=1,y=-1可覆盖所有判定。 条件覆盖是指选择语句多数的测试,使得程序判定中的每个条件能获得各种不同的结果。选择测试x=1,y=1和x=-1,y=-1可覆盖所有条件。 判定/条件覆盖是指选择足够多的测试,使得程序判定中每个条件取得条件可能的值,并使每个判定取到各种可能的结果(每个分支都通过一次)。即满足条件覆盖,又满足判定覆盖。选择测试x=1,y=1和x=-1,y=-1可覆盖所有判定/条件。 条件组合覆盖是指选择足够的测试,使得每个判定中的条件的各种可能组合都至少出现一次(以判定为单位找条件组合)。 注:a,条件组合只针对同一个判断语句存在多个条件的情况,让这些条件的取值进行笛卡尔乘积组合。 b,不同的判断语句内的条件取值之间无需组合。 c,对于但条件的判断语句,只需要满足自己的所有取值即可。 选择测试用例x=1,y=1;x=1,y=-1,x=-1,y=1和x=-1,y=-1可覆盖所有条件组合。 路径覆盖是分析软件过程流的通用工具,有助分离逻辑路径,进行逻辑覆盖的测试,所用的流程图就是讨论软件结构复杂度时所用的流程图。

软件测试实验报告一

广东*融学院实验报告 课程名称:软件测试 」、实验目的及要求 1、理解测试用例的重要性。 2、熟练掌握等价类划分、边界值方法、决策表和因果图法设计测试用例。 二、实验环境及相关情况(包含使用软件、实验设备、主要仪器及材料等) 1. 使用软件:装有QTP功能测试软件 2 .实验设备:装有Windows的联网的个人计算机 三、实验内容及步骤(包含简要的实验步骤流程) 1、实验题目:登陆框测试 在各种输入条件下,测试程序的登录对话框功能。 用户名和密码的规格说明书如下:(密码规则同用户名规则。) 用户名长度为6至10位(含6位和10 位); 用户名由字符(a-z、A-Z)和数字(0-9)组成; 不能为空、空格和特殊字符。 要求:按照规格说明书,分别用等价类划分和边界值方法设计测试用例。 步骤:(1)分析规格说明书,确定输入条件、输出条件的有效等价类、无效等价类以及各个边界条件;(2)第二步:填表格并编号;(3)第三步:设计测试用例;(4)第四步:执行测试用例。 2、员工薪制冋题。 (1)年薪制员工:严重过失,扣年终风险金的4%,过失,扣年终风险金的2%。 (2)非年薪制员工:严重过失,扣月薪资的8%,过失,扣月薪资的4%。 步骤:(1)分析程序的规格说明,列出原因和结果;(2)找出原因与结果的因果关系、原因与原因之间的约束关系,画出因果图;(3)将因果图转化成决策表;(4)根据决策表,设计测试用例的输入数据和预期输出。

四、实验结果(包括程序或图表、结论陈述、数据记录及分析等,可附页) 等价类划分方法: 五、实验总结(包括心得体会、问题回答及实验改进意见,可附页) 通过本次实验,我理解了测试用例的重要性。熟练掌握了等价类划分、边界值方法、决策表和因果图法设计测试用例。 六、教师评语 1、完成所有规定的实验内容,实验步骤正确,结果正确; 2、完成绝大部分规定的实验内容,实验步骤正确,结果正确; 3、完成大部分规定的实验内容,实验步骤正确,结果正确; 4、基本完成规定的实验内容,实验步骤基本正确,所完成的结果基本正确; 5、未能很好地完成规定的实验内容或实验步骤不正确或结果不正确。 评定等级: 签名:

软件测试实验报告LoadRunner的使用

南昌大学软件学院 实验报告 实验名称 LoadRunner的使用 实验地点 实验日期 指导教师 学生班级 学生姓名 学生学号 提交日期 LoadRunner简介: LoadRunner 是一种适用于各种体系架构的自动负载测试工具,它能预测系统行为并优化系统性能。LoadRunner 的测试对象是整个企业的系统,它通过模拟实际用户的操作行为和实行实时性能监测,来帮助您更快的查找和发现问题。此外,LoadRunner 能支持广范的协议和技术,为您的特殊环境提供特殊的解决方案。LoadRunner是目前应用最为广泛的性能测试工具之一。 一、实验目的

1. 熟练LoadRunner的工具组成和工具原理。 2. 熟练使用LoadRunner进行Web系统测试和压力负载测试。 3. 掌握LoadRunner测试流程。 二、实验设备 PC机:清华同方电脑 操作系统:windows 7 实用工具:WPS Office,LoadRunner8.0工具,IE9 三、实验内容 (1)、熟悉LoadRunner的工具组成和工具原理 1.LoadRunner工具组成 虚拟用户脚本生成器:捕获最终用户业务流程和创建自动性能测试脚本,即我们在以后说的产生测试脚本; 压力产生器:通过运行虚拟用户产生实际的负载; 用户代理:协调不同负载机上虚拟用户,产生步调一致的虚拟用户;压力调度:根据用户对场景的设置,设置不同脚本的虚拟用户数量;监视系统:监控主要的性能计数器; 压力结果分析工具:本身不能代替分析人员,但是可以辅助测试结果的分析。 2.LoadRunner工具原理 代理(Proxy)是客户端和服务器端之间的中介人,LoadRunner 就是通过代理方式截获客户端和服务器之间交互的数据流。 ①虚拟用户脚本生成器通过代理方式接收客户端发送的数据包,

最新计算器黑盒测试实验报告.

一、测试目的 设计测试用例、使用各种测试方法进行计算器的测试,并对测试结果进行分析 二、测试内容 1.软件说明: 实现一个小的计算器程序,只需要完成加、减、乘、除运算,设计测试用例,并对测试结果进行分析,同时计算器运行稳定。 2、设计测试用例 3、执行测试 4、测试结果分析 5、源代码 三、测试步骤 (一)、计算器界面 2、设计测试用例 (1)等价类测试: 1、4个等价类测试用例的分析过程如下: 测试用例加减乘除预期输出

整型55+50 78-24 15*25 36/4 正常运算 小数25.3+12.7 14.3-11.7 25.6*12.8 50.2/20.7 正常运算 负数-20+-21 (-15)-(-14) -12*-12 -16/-5 正常运算 无效输入E1+t2 G4-k5 I5*l6 Ff/se 非法操作无法输入 2、对应测试的结果分析: 整型: 1.加(55+50) 2.减(78-24) 3.乘(15*25) 4.除(36/4)

小数 1.加(25.3+1 2.7) 2.减(14.3-11.7) 3.乘(25.6*12.8) 4.除(50.2/20.7) 负数 6.加 -20+-21

7.减(-15)-(-14) 8.乘-12*-12 9.除 -16/-5 (其中算式写法错误导致正常运算错误) 无效输入 1.加(E1+t2): 程序中无效数字无法正常输入,程序无法进行。 2.减(G4-k5) 程序中无效数字无法正常输入,程序无法进行。(同上)3.乘(I5*l6) 程序中无效数字无法正常输入,程序无法进行。(同上)4.除(Ff/se) 程序中无效数字无法正常输入,程序无法进行。(同上)

软件测试报告(模板)

[系统名称+版本] 测试报告

版本变更记录

目录 版本变更记录 (2) 项目基本信息 (1) 第1章引言 (2) 1.1 编写目的 (2) 1.2 项目背景 (2) 1.3 参考资料 (2) 1.4 术语和缩略语 (2) 第2章测试概要 (3) 2.1 测试用例设计 (3) 2.2 测试环境与配置 (3) 2.2.1 功能测试 (3) 2.2.2 性能测试 (3) 2.3 测试方法和工具 (4) 第3章测试内容和执行情况 (4) 3.1 项目测试概况表 (4) 3.2 功能 (5) 3.2.1 总体KPI (5) 3.2.2 模块二 (5) 3.2.3 模块三 (5) 3.3 性能(效率) (6) 3.3.1 测试用例 (6) 3.3.2 参数设置 (6) 3.3.3 通信效率 (6) 3.3.4 设备效率 (7) 3.3.5 执行效率 (7) 3.4 可靠性 (8) 3.5 安全性 (8) 3.6 易用性 (8) 3.7 兼容性 (8) 3.8 安装和手册 (9) 第4章覆盖分析 (9) 第5章缺陷的统计与分析 (10) 5.1 缺陷汇总 (10) 5.2 缺陷分析 (10) 5.3 残留缺陷与未解决问题 (10) 第6章测试结论与建议 (11) 6.1 测试结论 (11) 6.2 建议 (11)

项目基本信息

第1章引言 1.1 编写目的 [以下作为参考] 本测试报告为XXX项目的测试报告,目的在于总结测试阶段的测试以及分析测试结果,描述系统是否符合需求(或达到XXX功能目标)。预期参考人员包括用户、测试人员、开发人员、项目管理者、其他质量管理人员和需要阅读本报告的高层经理。 …… [可以针对不同的人员进行阅读范围的描述。什么类型的人可以参见报告XXX页XXX章节等。] 1.2 项目背景 本报告主要内容包括: [对项目目标和目的进行简要说明。必要时包括简史,这部分不需要脑力劳动,直接从需求或者招标文件中拷贝即可。] 1.3 参考资料 [需求、设计、测试用例、手册以及其他项目文档都是范围内可参考。 测试使用的国家标准、行业指标、公司规范和质量手册等等。] 1.4 术语和缩略语 [列出设计本系统/项目的专用术语和缩写语约定。对于技术相关的名词和与多义词一定要注明清楚,以便阅读时不会产生歧义。]

黑盒测试实验报告记录

黑盒测试实验报告记录

————————————————————————————————作者:————————————————————————————————日期:

黑盒测试实验报告 一实验内容 1、系统地学习和理解黑盒测试的基本概念、原理,掌握黑盒测试的基本技术和方 法; 2、对一个已知的程序进行测试。 3、通过试验和应用,要逐步提高和运用黑盒测试技术解决实际测试问题的能力; 4、完成实验并认真书写实验报告(要求给出完整的测试信息,如测试程序、测试 用例,测试报告等) 二实验原理 黑盒测试原理:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。软件的黑盒测试意味着测试要在软件的接口处进行。这种方法是把测试对象看作一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。因此黑盒测试又叫功能测试。 从理论上讲,黑盒测试只有采用穷举输入测试,把所有可能的输入都作为测试情况考虑,才能查出程序中所有的错误。实际上测试情况有无穷多个,人们不仅要测试所有合法的输入,而且还要对那些不合法但可能的输入进行测试。这样看来,完全测试是不可能的,所以我们要进行有针对性的测试,通过制定测试案例指导测试的实施,保证软件测试有组织、按步骤,以及有计划地进行。黑盒测试行为必须能够加以量化,才能真正保证软件质量,而测试用例就是将测试行为具体量化的方法之一。具体的黑盒测试用例设计方法包括等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交试验设计法、功能图法等。 等价类划分的办法是把程序的输入域划分成若干部分(子集),然后从每个部分中选取少数代表性数据作为测试用例。每一类的代表性数据在测试中的作用等价于这一类中的其他值。该方法是一种重要的,常用的黑盒测试用例设计方法。 1 划分等价类 划分等价类:等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试。因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据。取得较好的测试结果。等价类划分可有两种不同的情况:有效等价类和无效等价类。 有效等价类:是指对于程序的规格说明来说是合理的,有意义的输入数据构成的集合。利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。 无效等价类:与有效等价类的定义恰巧相反。 设计测试用例时,要同时考虑这两种等价类。因为,软件不仅要能接收合理的数据,也要能经受意外的考验。这样的测试才能确保软件具有更高的可靠性。 2 边界值分析 边界值分析是通过选择等价类边界的测试用例。边界值分析法不仅重视输入条件边界,而且也必须考虑输出域边界。它是对等价类划分方法的补充。 (1)边界值分析方法的考虑:

功能测试实验报告-模版

《软件质量保证与测试实验》课程 实验报告 实验2:功能测试和Uft工具使用 学号: 姓名: 班级:

一、实验类型 参照《实验指导书》 一、实验目的和要求 1. 实验目的 参照《实验指导书》 2. 实验要求 参照《实验指导书》 二、实验步骤 参照《实验指导书》 三、实验环境 参照《实验指导书》 四、测试方法 参照《实验指导书》,结合教材内容简单描述所使用的测试方法 五、实验题目和测试用例 (一)实验题目 第1题A加B程序的加法功能测试 这是一个计算1~100之间两个整数之和的加法器程序,用Java语言编写。程序的具体要求:如果输入数据为1~100之间两个整数,则计算和并输出;否则给出提示信息“请输入1~100之间的整数”。 第2题Windows系统自带的计算器程序除法功能测试

(二)设计测试用例 针对每一个题使用等价类划分方法设计测试用例(见附录1) 六、实验过程和记录 (一)第1题的实验过程和记录 (1)准备一个Excel表文件,表名取为“加法-测试参数化表- 学号-姓名”,文件名取为“等价类-1至100加法-测试用例及测试记录-学号-姓名”,内容为根据等价类划分方法设计的测试用例; (2)启动UFT,工作空间命名为学号,在选择插件对话框中勾 选“Java插件”,新建一个测试“EX2-1”并新建解决方案“EX2-1”; (3)在数据视图界面的“数据”选项卡中“Action1”导入Excel 表文件数据; (4)在“Action1”中对数据进行编辑,删除作为标题的第一 行; (5)进行录制脚本设置,设置“可执行文件”为本次实验的A 加B版本1中的APLUSB程序; (6)录制脚本,为输出结果插入检查点,录制完成后在编辑脚本页面修改脚本代码(见附录3); (7)在流程界面中,为Action1设置操作调用属性,将迭代方 式设置为“从行1运行到行23”; (8)运行脚本,记录运行结果,填写测试记录(见附录4)。 注意: (1)成功录制脚本并运行,观察脚本运行情况

相关文档
相关文档 最新文档