黑盒测试实验报告

2024-04-14

黑盒测试实验报告(精选6篇)

篇1:黑盒测试实验报告

黑盒测试技术 — 三角形问题 实验报告 一、问题描述 输入三个整数 a、b、c,分别作为三角形的三条边,通过程序判断这三条边是否能构成三角形?如果能构成三角形,则判断三角形的类型并输出(等边三角形、等腰三角形、一般三角形),如果不构成三角形输出不能构成三角形。

要求:(1)输入三个整数 a、b、c,必须满足以下条件:1≤a≤200;1≤b≤200;1≤c≤200。

(2)容错处理:输入空值的提示;输入的值满足类型的提示;(3)不限制开发环境,不限制开发语言;(4)尽可能不对自己的程序进行测试设计。

(5)请分别采用边界值分析法、等价类分析法、决策表分析法、基于场景分析法设计测试用例;(6)正文格式(除源代码用小五号单倍行距),其他行距固定值 20,字号小四。

二、程序主要源代码 (标注:测试的源代码是哪位同学(学号姓名)编写的。)

三、程序界面(截图)

四、设计测试用例

1.用边界值测试方法设计测试用例

用边界值分析法设计测试用例,按照下列步骤进行:

((1)

分析各变量取值 三角形三条边的取值范围都是 1-200,所以边长 A 的边界点为 1 和 200,边长 B的边界点为 1 和 200,边长 C 的边界点为 1 和 200。

((2)

测试用例数 输入条件 边界值 测试数据 A 1,200 0,1,2,199,200,201 B 1,200 0,1,2,199,200,201 C 1,200 0,1,2,199,200,201

设计测试用例(给出所有测试用例)

三角形问题的测试用例 测试用例 编号 输入数据 预期输出 测试结果 a b c 1 0 100 100 边长 A 不合法

边长 A 不合法1 100 100 等腰三角形 等腰三角形 3 2 100 100 等腰三角形 等腰三角形 4 199 100 100 等腰三角形 等腰三角形 5 200 100 100 不是三角形 不是三角形 6 201 100 100 边长 A 不合法

边长 A 不合法100 0 100 边长 B 不合法

边长 B 不合法100 1 100 等腰三角形 等腰三角形 9 100 2 100 等腰三角形 等腰三角形 10 100 199 100 等腰三角形 等腰三角形 11 100 200 100 不是三角形 不是三角形 12 100 201 100 边长 B 不合法

边长 B 不合法100 100 0 边长 C 不合法

边长 C 不合法100 100 1 等腰三角形 等腰三角形 15 100 100 2 等腰三角形 等腰三角形 16 100 100 199 等腰三角形 等腰三角形 17 100 100 200 不是三角形 不是三角形 18 100 100 201 边长 C 不合法

边长 C 不合法

2.用等价类测试方法设计测试用例

((1)首先分析题目中给出的条件和隐含的输入要求,输入条件如下:

条件:1<=边长 A<=200,1<=边长 B<=200,1<=边长 C<=200

隐含条件:A输入条件 有效等价类 无效等价类 是否是三角形 1.1<=A<=200 2.1<=B<=200 3.1<=C<=200 4.A200 9.C<1 || C>200 10.A>=B+C 11.B>=A+C 12.C>=A+B 等腰三角形 13.A=B&&B!=C 14.A=C&&C!=B 15.B=C&&C!=A 16.A!=B&&A!=C&&B!=C 等边三角形 17.A=B=C 18.A!=B 19.A!=C 20.B!=C

(3)设计测试用例,覆盖上表中的等价类,如表 1-3 表所示。(至少 20 条)

表 表 1-3 三角形问题的测试用例 测试用例 编号 输入数据 预期输出 覆盖等价类 测试结果 a b c 1 100 100 100 等边三角形 1,2,3,4,5,6,17 等边三角形 2 50 50 50 等边三角形 1,2,3,4,5,6,17 等边三角形 3 150 150 150 等边三角形 1,2,3,4,5,6,17 等边三角形 4 50 100 100 等腰三角形 1,2,3,4,5,6,15 等腰三角形 5 100 50 100 等腰三角形 1,2,3,4,5,6,14 等腰三角形 6 100 100 50 等腰三角形 1,2,3,4,5,6,13 等腰三角形 0 2 3 边长 A 不合法 7 边长 A 不合法 8 2 1 3 不是三角形 12 不是三角形 9 3 0 1 边长 B 不合法 8 边长 B 不合法 10 3 1 2 不是三角形 10 不是三角形 11 1 3 0 边长 C 不合法 9 边长 C 不合法 12 2 3 1 不是三角形 11 不是三角形 13 50 51 52 不是等腰三角形

1,2,3,4,5,6,16 一般三角形 14 51 52 50 不是等腰三角形

1,2,3,4,5,6,16 一般三角形 15 52 50 51 不是等腰三角形

1,2,3,4,5,6,16 一般三角形 16 100 100 101 不是等边三角形

1,2,3,4,5,6,19,20 等腰三角形 17 100 101 100 不是等边三角形

1,2,3,4,5,6,18,20 等腰三角形 18 101 100 100 不是等边三角形

1,2,3,4,5,6,18,19 等腰三角形 19 50 50 51 不是等边三角形

1,2,3,4,5,6,19,20 等腰三角形 20 50 51 50 不是等边三角形

1,2,3,4,5,6,18,20 等腰三角形 21 51 50 50 不是等边三角形

1,2,3,4,5,6,18,19 等腰三角形

3.用决策表测试方法设计测试用例

((1)构建决策表

((2)化简 测试用例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 输入条件 是三角形 Y Y Y Y Y Y Y Y N N N N N N N N A=B Y Y N Y N Y N N N Y Y Y N N Y N A=C Y N Y Y Y N N N N Y Y N Y N N Y B=C Y Y Y N N N Y N N Y N Y Y Y N N 预期输出 不是三角形

等腰三角形

等边三角形

一般三角形

出错提示

测试用例 1 2,3,4 5,6,7 8 9-16 输入条件 是三角形

A=B

A=C

B=C

预期输出 不是三角形

Y 等腰三角形

Y

等边三角形

Y

一般三角形

Y

出错提示

Y

((3)化简后的测试用例设计 测试用例 编号 输入数据 预期输出 覆盖等价类 测试结果 a b c 1 50 50 50 等边三角形 1,2,3,4,5,6,17 等边三角形 2 50 50 51 等腰三角形 1,2,3,4,5,6,13 等腰三角形 3 51 50 50 等腰三角形 1,2,3,4,5,6,15 等腰三角形 4 50 51 50 等腰三角形 1,2,3,4,5,6,14 等腰三角形 5 1 2 3 不是三角形 12 不是三角形 6 1 3 2 不是三角形 11 不是三角形 7 3 2 1 不是三角形 10 不是三角形 8 2 3 4 一般三角形 1,2,3,4,5,6 一般三角形 9 3 2 4 一般三角形 1,2,3,4,5,6 一般三角形 10 4 3 2 一般三角形 1,2,3,4,5,6 一般三角形

4.基于场景的测试

(1 1)基本流和备选流图

(2 2)场景设计

场景 1 1 :基本流

场景 2 2 :基本流+ + 备选流 1 1

场景 3 3 :基本流+ + 备选流 2 2

场景 4 4 :基本流+ + 备选流 3 3

场景 5 5 :基本流+ + 备选流 4 4

(3 3))

测试用例设计

开始输入 输入 A,B,C 判断各边边长是否是在 1-200 A+B>C && A+C>B && B+C>A 备选流 1:边长不符合条件 备选流 2:不是三角形 是三角形 备选流 3:是等腰三角形 备选流 4:是等边三角形 一般三角形 结束

场景

A A

B B

C C

预期输出

测试结果1234

一般三角形

一般三角形2

0 0

0 0

0 0

边长错误

边长错误3247

不是三角形

不是三角形4

等腰三角形

等腰三角形5

等边三角形

等边三角形

5.测试结果分析与总结(至少 0 150 字,对测试过程中失败用例的原因进行分析,对学习了黑盒测试技术的学习总结)

在用等价类测试方法时,在测试无效等价类的结果和预期结果不一致,其原因是在设计程序时没有考虑无效等价类的这些测试用例的输出语句,黑盒测试技术是我们常使用的软件测试的方法,在测试中,我们需要将边界值测试,等价类测试,决策表测试,基于场景测试联合使用。任何一款软件都不可能做到完全测试,所以我们需要做的就是将黑盒测试中的方法尽可能结合使用,争取让软件少一些 bug。

篇2:黑盒测试实验报告

“黑盒”测的是功能

黑盒测试也称功能测试或数据驱动测试。它在已知产品应具有的功能的条件下,通过测试来检测每个功能是否都能正常使用。在测试时,把程序看作一个不能打 开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否 能适当地接收输入数据而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。

“黑盒”法着眼于程序外部结构、不考虑内部逻辑结构、针对软件界面和软件功能进行测试。“黑盒”法是穷举输入测试,只有把所有可能的输入都作为测试情况使 用,才能以这种方法查出程序中所有的错误。实际上测试情况有无穷多个,人们不仅要测试所有合法的输入,而且还要对那些不合法但是可能的输入进行测试。

“黑盒”的两种基本方法

黑盒测试有两种基本方法,即通过测试和失败测试。

在进行通过测试时,实际上是确认软件能做什么,而不会去考验其能力如何。软件测试员只运用最简单,最直观的测试案例。

在设计和执行测试案例时,总是先要进行通过测试。在进行破坏性试验之前,看一看软件基本功能是否能够实现。这一点很重要,否则在正常使用软件时就会奇怪地发现,为什么会有那么多的软件缺陷出现?

在确信了软件正确运行之后,就可以采取各种手段通过搞“垮”软件来找出缺陷。纯粹为了破坏软件而设计和执行的测试案例,被称为失败测试或迫使出错测试。

黑盒测试的设计方法

黑盒测试是以用户的观点,从输入数据与输出数据的对应关系出发进行测试的,它不涉及到程序的内部结构。很明显,如果外部特性本身有问题或规格说明的规 定有误,用黑盒测试方法是发现不了的。黑盒测试法注重于测试软件的功能需求,主要试图发现几类错误:功能不对或遗漏、界面错误、数据结构或外部数据库访问 错误、性能错误、初始化和终止错误。

具体的黑盒测试方法包括等价类划分、因果图、正交实验设计法、边值分析、判定表驱动法、功能测试等。在使用时,自然要针对开发项目的特点对方法加以适当的选择。

◆ 等价类划分

等价类划分是一种典型的黑盒测试方法,用这一方法设计测试用例可以不用考虑程序的内部结构,只以对程序的要求和说明,即需求规格说明书为依据,仔细分析和推敲说明书的各项需求,特别是功能需求,把说明中对输入的要求和输出的要求区别开来并加以分解。

由于穷举测试的数量太大,以致于无法实际完成,促使我们在大量的可能数据中选取其中的一部分作为测试用例。例如,在不了解等价分配技术的前提下,测试 了1+1、1+2、1+3和1+4之后,还有必要测试1+5和1+6吗?能否放心地认为它们正确吗?那么1+999…(可以

输入的最大数值)呢?这个测试 用例是否与其他用例不同?是否属于另外一种类别?另外一个等价区间?这是软件测试员必须考虑到的问题。

等价类别或者等价区间是指测试相同目标或者暴露相同软件缺陷的一组测试案例。1+999…和1+13有什么区别呢?至于1+13,就像一个普通的加法,与1+5或者1+392没有什么两样,而1+999…则属于邻界的极端情况。假 如输入最大允许数值,然后加1,就会出现问题——也许就是软件的缺陷。这个极端案例属于一个单独的区间,与常规数字的普通区间不同。

等价类划分的办法是把程序的输入域划分成若干部分,然后从每个部分中选取少数代表性数据当作测试用例。每一类的代表性数据在测试中的作用等价于这一类 中的其他值,也就是说,如果某一类中的一个例子发现了错误,这一等价类中的其他例子也能出现同样的错误。使用这一方法设计测试用例,首先必须在分析需求规 格说明的基础上划分等价类,列出等价类表。

在考虑等价类划分时,先从程序的功能说明中找出每个输入条件,然后为每个输入条件划分两个或更多个等价类。等价类可分两种情况:有效等价类和无效等价 类。有效等价类是指对程序的规格说明是有意义的、合理的输人数据所构成的集合;无效等价类是指对程序的规格说明是不合理的或无意义的输人数据所构成的集 合。

◆ 边界值分析

软件测试常用的一个方法是把测试工作按同样的形式划分。对数据进行软件测试,就是检查用户输入的信息、返回结果以及中间计算结果是否正确。

即使是最简单的程序,要处理的数据也可能数量极大。还记得在计算器上简单加法的全部可能性吗?再想一想字处理程序、导航系统和证券交易程序。使这些数 据得以测试的技巧(如果称得上的话)是,根据下列主要原则进行等价分配,以合理的方式减少测试案列:边界条件、次边界条件、空值和无效数据。

篇3:浅析白盒测试和黑盒测试

1 白盒测试

1.1 什么是白盒测试

白盒测试又叫做玻璃盒测试、透明盒测试、开放盒测试等。在这里, 盒子指的是需要被测试的软件, 白盒, 顾名思义即盒子是可视的, 你清楚盒子内部的东西以及里面是如何运作的。因此, 白盒测试需要对系统内部的结构和工作原理有一个清楚的了解;并且基于这个知识来设计你的用例。

使用白盒测试方法产生的测试用例能够:保证一个模块中的所有独立路径至少被使用一次;对所有逻辑值均需测试true和false;在上下边界及可操作范围内运行所有循环;检查内部数据结构以确保其有效性。

1.2 白盒测试技术

白盒测试技术一般可分为静态分析和动态分析两类技术。静态分析是一种不通过执行程序而进行测试的技术。静态分析的关键功能检查软件的表示和描述是否一致, 没有冲突或者没有歧义。它瞄准的是纠正软件系统在描述、表示和规格上的错误。因此, 是任何进一步测试执行的前提。静态分析技术不需要软件的执行, 而动态分析从其本身来看则更像是一个“测试”, 因为它包含了系统的执行。当软件系统在模拟的或真实的环境中执行之前、之中和之后, 对软件系统行为的分析是动态分析的主要特点。动态分析包含了程序在受控的环境下使用特定的期望结果进行正式的运行。它显示了一个在检查状态下是正确还是不正确。

有人提出, “我们应该更注重于保证程序需求的实现, 为什么要花费时间和精力来担心 (和测试) 逻辑细节?”答案在于软件自身的缺陷。当我们设计和实现主流之外的功能、条件或控制时, 错误往往开始出现在我们工作中;程序的逻辑流有时是违反直觉的, 这意味着我们关于控制流和数据流的一些无意识的假设可能导致设计错误, 只有路径测试才能发现这些错误;当一个程序被翻译为程序设计语言源代码时, 有可能产生某些笔误, 很多将被语法检查机制发现。但是, 其他的在测试开始后才会被发现。

2 黑盒测试

2.1 什么是黑盒测试

黑盒测试也称功能测试, 它是通过测试来检测每个功能是否都能正常使用。在测试中, 把程序看作一个不能打开的黑盒子, 在完全不考虑程序内部结构和内部特性的情况下, 在程序接口进行测试, 它只检查程序功能是否按照需求规格说明书的规定正常使用, 程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试是与白盒测试截然不同的测试概念, 也是在软件测试中使用得最早、最广泛的一类测试。

黑盒测试注重于测试软件的功能需求, 主要试图发现以下几类错误:功能不正确或遗漏;界面错误;输入和输出错误;数据库访问错误;性能错误;初始化和终止错误等。

2.2 黑盒测试技术

黑盒测试意味着测试数据的选择和测试结果的解释是以软件功能属性为基础的。黑盒测试不应当由程序作者来执行, 因为他知道太多的程序内部知识。在新的测试方法中, 由第三方来执行黑盒测试。

通常, 黑盒测试技术一般可分为没有用户参与的黑盒测试和有用户介入的黑盒测试。尽管黑盒测试时围绕着用户需求文档进行的, 但是黑盒测试不一定必须要用户来参与测试。在绝大多数没有用户参与的黑盒测试中, 最常见的测试有:功能性测试、容量测试、安全性测试、负载测试、标杆测试、可靠性测试等。此外, 还有两类测试必须要有用户参与的测试, 外场测试和实验室测试。

3 白盒测试和黑盒测试的比较

既然我们已经做了白盒测试, 为什么还要进行黑盒测试呢?因为白盒测试在测试的早期采用, 而黑盒测试主要用于测试的后期。黑盒测试故意不考虑控制结构, 而只注意信息域。黑盒测试并不是白盒测试的替代品, 而是用于辅助白盒测试发现其他类型的错误的。白盒测试只考虑测试软件产品, 它不保证完整的需求规格是否被满足。而黑盒测试只考虑测试需求规格, 它不保证实现的所有部分是否被测试到。黑盒测试会发现遗漏的缺陷, 指出规格的哪些部分没有被完成。而白盒测试会发现代理方面的缺陷, 指出哪些实现部分是错误的。白盒测试比黑盒测试成本要高得多。它需要在测试可以被计划前产生源代码, 并且在确定合适的数据和决定软件是否正确方面需要花费更多的工作量。

摘要:白盒测试和黑盒测试都是软件测试设计的方法。黑盒测试把系统理解为一个“内部不可见的盒子”, 因此不需要明白它的内部结构。黑盒测试一般关注的是对功能需求的测试。白盒测试设计允许你观察“盒子”内部, 让你了解其内部结构和运作原理, 并使用对这些知识的了解来指导测试用例的设计。为了完全测试一个软件, 不可或缺任何一种测试。

关键词:软件测试,白盒测试,黑盒测试

参考文献

[1]郑人杰.《软件测试》.人民邮电出版社, 2011.

[2]库波.《软件测试技术》.中国水利水电出版社, 2010.

[3]苟英.《软件测试技术基础》.中国水利水电出版社, 2013.

篇4:浅谈黑盒测试

关键词:黑盒测试:黑盒测试方法

一、前言

黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。

二、黑盒测试用例设计方法

黑盒测试注重对系统功能的测试,我们之所以进行黑盒测试是为了发现系统的功能是否正确或者有遗漏,系统界面、数据库访问以及系统的初始化和终止错误等方面是否有问题。从理论上讲,黑盒测试

只有采取穷举法,把所有可能的输入都作为测试情况考虑才能发现系统中所有的错误,但是实际上,测试情况有无穷多种,我们不仅仅要测试合法的输入输出,还要测试不合法的输入输出,所以说穷举法测试是几乎不可能的。因此,我们要有针对性的进行测试以保证软件测试有组织、有步骤、按计划进行。黑盒测试方法包括等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交试验设计法、功能图法等。在此,主要介绍几种我所使用过的黑盒测试用例设计方法:

1、等价类划分法:

使用等价类作为功能性测试的基础有两个动机:我们希望进行完备的测试,同时又希望避免冗余。等价类划分的办法是把程序的输入域划分成若干部分(子集),然后从每个部分中选取少数代表性数据作为测试用例。每一类的代表性数据在测试中的作用等价于这一类中的其他值。该方法是一种重要的,常用的黑盒测试用例设计方法。对于如何确定等价类,我们可遵循以下六条原则:

①在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。

②在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可确立一个有效等价类和一个无效等价类。

③在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类。

④在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类。

⑤在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。

⑥在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类。

2、边界值分析法:

边界值分析关注的是输入空间的边界,以标识测试用例。边界值测试背后的基本原理是错误更能出现在输入变量的极值附近,是通过选择等价类边界的测试用例。边界值分析法不仅重视输入条件边界,而且也必须考虑输出域边界。它是对等价类划分方法的补充。

3、错误推测法:

有经验的测试人员往往可以根据自己的工作经验和直觉推测出程序可能存在的错误,从而有针对性地进行测试,这就是错误推测法。错误推测法是测试者根据经验、知识和直觉来发现软件错误,“只可意会,不能言传”,就是表明这样的一个道理。

错误推测法基于这样一个思想:某处发现了缺陷,则可能会隐藏更多的缺陷,在实际操作中,列出程序中所有可能的错误和容易发生的特殊情况,然后依据测试者经验作出选择。如等价类划分和边界值分析法通过选择有代表性的测试数据来暴露程序错误,但不同类型、不同特点的程序通常又有一些特殊的容易出错的情况。并且,有时分别使用某些测试数据或用例进行测试时程序工作正常,但其组合可能会使程序出错。例如,程序中两个模块使用并修改某些共享的变量,则在程序运行测试过程中应对这些共享的变量赋值来同来验证这两个模块,一般说来,可能的输入组合数目往往很多。因此,测试人员应依靠经验和直觉,从各种可能的方案中选出最可能引起程序出错的方案。

4、因果图法:

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

1)、分割功能说明书对于规模比较大的程序来说,由于输入条件的组合数太大,所以很难整体上使用一个因果图。我们可以把它划分为若干部分,然后分别对每个部分使用因果图。例如,测试编译程序时,可以把每个语句作为一个部分。

2)、识别出“原因”和“结果”,并加以编号所谓原因,是指输入条件或输入条件的等价类:而结果则是指输出条件或输出条件的等价类。每个原因或结果都对应于因果图中的一个节点。当原因或结果成立(或出现)时,相应的节点取值为1,否则为0。

3)、根据功能说明书中规定的原因和结果之间的关系画出因果图因果图的基本符号如图所示:

因果图的基本符号

图中左边的节点表示原因,右边的节点表示结果。恒等、非、或、与的含义:?

恒等:若a=1,则b=1;若a=0,则b=0;?

非:若a=1,则b:0,若a=0,则b=1;?

或:若a=1或b=1或c=1,则d=1:若a=b=c=0,则d=0;?

与:若a=b=c=1,则d=1;若a=0或b=0或c=0,则d=0。?

画因果图时,原因在左,结果在右,由上而下排列,并根据功能说明书中规定的原因和结果之间的关系,用上述基本符号连接起来。在因果图中还可以引入一些中间节点。

4)、根据功能说明在因果图中加上约束条件由于语法或环境限制,有些原因与原因之间、原因与结果之间的组合情况不可能出现。为表明这些特殊情况,在因果图上用一些记号表明约束或限制条件。因果图的约束条件如图所示:其中互斥、包含、唯一、要求时对原因的约束,屏蔽是对结果的约束。他们的含义如下:

互斥E:表示不同时为1,即a,b,c中至多只有一个1;包含1:表示至少有一个1,即a,b,c中不同时为0;?唯一0:表示a,b,c中有且仅有一个1;?要求R:表示若a=1,则b必须为1。即不可能a=1且b=0;?屏蔽M:表示若a=1,则b必须为0

5)、根据因果图画出判定表画判定表的方法一般比较简单,可以把所有原因作为输入条件,每一项原因(输入条件)安排为一行,而所有的输入条件的组合一一列出(真值为1,假值为0),对于每一种条件组合安排为一列,并把各个条件的取值情况分别添入判定表中对应的每一个单元格

中。例如,如果因果图中的原因有4项,那么,判定表中的输入条件则共有4行,而列数则为24=16。确定好输入条件的取值之后,我们便可以很容易地根据判定表推算出各种结果的组合,也即输出,其中也包括中间节点的状态取值。上述方法考虑了所有条件的所有组合情况,在输入条件比较多的情况下,可能会产生过多的条件组合,从而导致判定表的行数太多,过于复杂。然而在实际情况中,由于这些条件之间可能会存在约束条件,所以很多条件的组合是无效的,也就是说,它们在判定表中也完全是多余的。因此根据因果图画出判定表时,我们可以有意识地排除掉这些无效的条件组合,从而使判定表的列数大幅度减少。例如,根据图所示的因果图,可以画出如表所示的判定表。

6)、为判定表的每一列设计一个测试用例即为从因果图中导出的判定表中的每一列设计一个测试用例。

5、判定表驱动法:

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

判定表组成:

条件桩:(condition stub)列出了问题的所有条件。通常认为列出的

条件地次序无关紧要

动作桩:(action stub)列出了问题规定可能采取的操作。这些操作的排列顺序没有约束

条件项:(condition entry)列出针对他所列条件的取值,在所有可能情况下的真假值

动作项:(action entry)列出在条件项的各种取值情况下应该采取的动作

规则:任何一个条件组合的特定取值以及其相应要执行的操作。在判定表中贯穿条件项和动作项就是一条规则。判定表中列出多少组条件取值,就有多少条规则,条件项和动作项就有多少列。

判定表建立:

依据软件规格

(1)确定规则个数。假如有n个条件,每个条件有两个取值(0,1),故有2n种规则

(2)列出所有条件桩和动作桩

(3)填入条件项

(4)填入动作项。制定初始判定表

三、黑盒测试的优缺点

优点:

1、基本上不用人管着,如果程序停止运行了一般就是被测试程序crash了

2、设计完测试例之后,下来的工作就是爽了,当然更苦闷的是确定crash原因

缺点:

1、结果取决于测试例的设计,测试例的设计部分来势来源于经验,OUSPG的东西很值得借鉴

2、没有状态转换的概念,目前一些成功的例子基本上都是针对PDU来做的,还做不到针对被测试程序的状态转换来作

3、就没有状态概念的测试来说,寻找和确定造成程序crash的测试例是个麻烦事情,必须把周围可能的测试例单独确认一遍。而就有状态的测试来说,就更麻烦了,尤其不是一个单独的testcase造成的问题。这些在堆的问题中表现的更为突出。

四、结束语:

篇5:系统测试实验报告

万继王(20111081147)

任课教师:贾春花

班级:2011级计科(1)班

实验目的:

计算机在生活中的普遍,计算机已经成为我们生活中不可缺少的部分,计算机已经被广泛的应用到各个领域,网络技术的飞速发展,互联网已经成为了人们发布与获取信息的重要途径之一,在我们的生活中已经离不开计算机,离不开网络,计算机给人们的生活带来方便的同时也需要开发相应的管理系统和软件,所以,这就需要我们进行软件测试,软件测试是使用人工或者自动手段来运行或测定某个系统的过程,检验它是否满足规定的需求或者弄清预期结果与实际结果之间的差别。软件测试作为保证软件质量、提高软件可靠性的重要手段,在软件开发中起着不可替代的作用。其关键与核心是测试数据生成。软件测试的实质是根据软件开发各阶段的规格说明和程序的内部结构精心选取一批测试数据,形成测试用例,并用这些测试用例去驱动被测程序,观察程序的执行结果,验证所得结果与预期结果是否一致,然后做相应的调整。

此次实验是为了检验我们是否掌握本学期所学的《软件质量保证与测试》这门课程的基础知识,并查找出被测试软件的不足或缺陷,及时做出相应的调整,也让我们掌握一定的黑盒测试和白盒测试的相应内容。还有就是在于总结测试阶段的测试以及分析测试结果,描述系统是否符合需求(或达到xxx功能目标),同时,了解软件测试概念,了解软件测试的主要内容,了解手动测试自动测试,初步掌握测试软件并能够进行简单运用。了解软件测试在当前计算机行业中的相关地位,了解为了成为软件测试工程师所需要掌握的技能。

实验内容:

软件测试前景:随着软件产业的发展,软件产品的质量控制与质量管理正逐渐成为软件企业生存与发展的核心。

软件测试是指:使用人工或者自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。

软件测试的内容:1.确定软件生存周期中的一个给定阶段的产品是否达到前阶段确立的需求的过程;2.程序正确性的形式证明,即采用形式理论证明程序符合设计规约规定的过程;3.评市、审查、测试、检查、审计等各类活动,或对某些项处理、服务或文件等是否和规定的需求相一致进行判断和提出报告。

软件测试的对象:不仅仅是程序测试,软件测试应该包括整个软件开发期间各个阶段所产生的文档,如需求规格说明、概要设计文档、详细设计文档,当然软件测试的主要对象还是源程序。

实验测试步骤:

第一步,进入登录界面。在运行程序后弹出登录界面,有账号的可以直接登录,没有账号的要先申请账号(及注册),然后才可以登录。在注册账号时需要自己填写账号、密码、昵称和个性签名。这些东西都没有限制,可以是数字、字母、汉字以及三者的混合,头像的话是可以自己选择的。账号和密码是必须填写的,否则无法注册,其他的可填可不填。相关截图如下所示:

登录界面:

账号申请界面:

账号申请成功界面 : 第二步,进行登录。登录之后可以进行密码修改和添加好友。登录之后我们 可以点击修改密码对密码进行修改,也可以输入好友账号添加好友。添加好友时输入好友账号,点击添加好友,弹出添加好友对话框,点击“是”,添加好友就成功了,若不想添加此好友可以点击“否”,就可以拒绝添加此好友了。

相关截图如下所示:

登录成功界面:

修改密码界面: 篇二:web系统测试综合实验报告

目录 1.1.1系统功能..........................................................................................................................4 1.1.2系统的体系结构..............................................................................................................4 1.1.3开发环境..........................................................................................................................5 1.2.1测试需求..........................................................................................................................5

1、功能测试.....................................................................................................................6

2、性能测试.....................................................................................................................6

3、兼容性测试.................................................................................................................6 1.2.2测试资源..........................................................................................................................6

1、人力资源.....................................................................................................................6

2、测试环境.....................................................................................................................6

3、测试工具.....................................................................................................................6

4、文档资料.....................................................................................................................7 1.2.3测试策略..........................................................................................................................7

1、功能测试.....................................................................................................................7

2、性能测试.....................................................................................................................8

3、用户界面测试.............................................................................................................9

4、安全性测试.................................................................................................................9

5、兼容性测试.................................................................................................................9 1.2.4测试标准..........................................................................................................................9

1、测试特性.....................................................................................................................9

2、输出准则.....................................................................................................................9

3、缺陷严重级别定义...................................................................................................10 测试用例设计.................................................................................................................11

2、录制的测试脚本.......................................................................................................14

3、执行测试...................................................................................................................14

4、测试结果...................................................................................................................14 1.3.2相册模块测试................................................................................................................14

1、测试用例设计...........................................................................................................15

2、执行测试...................................................................................................................16

3、测试结果...................................................................................................................16 1.3.3个人档模块测试............................................................................................................17

1、测试用例设计...........................................................................................................17

2、执行测试...................................................................................................................19

3、测试结果分析...........................................................................................................19 1.3.4日志模块测试................................................................................................................20

1、测试用例设计...........................................................................................................20

2、执行测试...................................................................................................................27

3、测试结果分析...........................................................................................................27 1.3.5链接测试........................................................................................................................27 1.4.1测试用例设计................................................................................................................30 1.4.2测试环境........................................................................................................................33 1.4.3测试执行........................................................................................................................33 1.4.4测试结果分析................................................................................................................34 1.1.1系统功能

(1)日志模块:撰写和发表日志。

(2)撰写说说模块:发表说说。

(3)相册管理模块:支持多相册功能,可将相册分类收藏,可以上传照片,创建相册,同时可以上传视频和制作个性相册等功能。

(4)音乐盒模块:可以收藏音乐,可以管理我的音乐盒里的音乐等。

(5)个人档管理模块:修改自己的个人信息。

(6)留言板模块:查看留言和对留言进行回复。

(7)用户模板:提供用户制定功能,打造个性,设置自己喜欢的风格。1.1.2系统的体系结构

系统的体系结构如下图: 1.1.3开发环境

(1)操作系统:windows xp(sp2)(2)web服务器:apache(3)数据库:mysql(4)开发语言和工具:php+zend+phpwind(5)浏览器:ie6.0 1.2.1测试需求

此系统属于一般类型的应用软件,用户要求各功能正常使用,系统响应比较快,运行稳健,能满足10000人正常使用。此系统用户可以建立个人主页(发表日志,发表说说,相册管理,音乐盒管理,个人档管理等)。

此次测试的目的就是检查核心模块功能是否正常,验证系统性能是否满足应用需求。这次测试的具体内容如下:篇三:在线考试系统实验报告

河南工程小学院

毕业设计(论文)报告

系 别 软件工程系

专 业 计算机应用

班 级

姓 名 ****** 学 号 ********* 设计题目 在线考试系统

指导教师 ****** 起迄日期 2011.1.2——2011.4.20 毕业设计诚信承诺书

本人慎重承诺和声明: 我承诺在毕业设计过程中严格遵守学校有关规定,在指导教师的安排与指导下完成所规定的毕业设计工作,绝不弄虚作假,不请别人代做毕业设计或抄袭别人的成果。所撰写的毕业论文或毕业设计是在指导老师的指导下自主完成,文中所有引文或引用数据、图表均注明来源,本人愿意为由此引起的后果承担责任。

学生签名: 日期: 年 月 日

毕业设计知识产权权属声明

本人在老师指导下所完成的论文及设计成果、知识产权归属学校。学校享有以任何方式发表、复制、公开阅览、借阅以及申请专利等权利。

学生签名: 日期: 年 月 日

指导教师签名: 日期: 年 月 日

在线考试系统

摘 要

通过考试系统webexam是目前市场占有率较高,应用最广泛的远程网络学习考试软件,适合政府、行业及企业的各专业网上考试、作业、练习等应用。它采用web方式,同时适用于局域网和internet,无需安装客户端,即可实现网上考试、作业、练习、成绩排行等功能,并能够答卷保存、自动判分、成绩查询和分析等功能

该系统同时拥有最开放的题库管理系统和最灵活的组卷系统,能够自动输出word试卷,提供excel题目导入导出、题库和试卷导入导出等设计,提供资源的快速收集和高度共享。在开发方法上,引入了当今流行的microsoft.net remoting 技术思想,把整个开发程分为需求分析、概要设计、详细设计、系统实现等步骤。该系统通过优化和再造管理流程,使人力资源的管理更为高效和科学,数据更为准确,从而将人事部门从繁重的、耗时的工作中解放出来,把精力集中到更高层的政策性工作中去。关键词 在线考试系统 ; c#.net编程语言 ; visual studio 2008 ;sql server 2005数据库

目 录

第1章 绪论.....................................................................................................................................1 1.1 课题研究背景...................................................................................................................1 1.2 课题研究目的和意义.......................................................................................................1 第2章 系统分析概述.....................................................................................................................2 2.1 引言...................................................................................................................................2 2.2 系统需求分析...................................................................................................................2 2.3 系统概述...........................................................................................................................3 2.4 visual studio 2008的概述..........................................................................................4 2.5 sql server 2005数据库的概述....................................................................................5 第3章 系统方案总体设计.............................................................................................................6 3.1 系统设计思想及相关技术介绍.......................................................................................6 3.1.1 系统架构设计.......................................................................................................6 3.1.2 系统总体模块功能设计.......................................................................................6 第4章 数据库的设计.....................................................................................................................8 4.1 引言...................................................................................................................................8 4.2 数据库需求分析...............................................................................................................8 4.3 数据库概念结构设计.......................................................................................................8 4.4 数据库逻辑结构设计.......................................................................................................8 第5章 界面设计与实现...............................................................................................................10 5.1 主页设计.........................................................................................................................10 5.1.1 实现目标.............................................................................................................10 5.1.2 登录窗口.............................................................................................................10 5.1.3 注册窗口.............................................................................................................12 5.2 主要界面设计—用户登录信息画面.............................................................................13 5.2.1 实现目标.............................................................................................................13 5.2.2 主界面.................................................................................................................13 5.3 主要界面设计 —— addquestion.aspx.....................................................................17 5.3.1 实现目标.............................................................................................................17 5.4 主要界面设计 —— usermangement.aspx.................................................................18 5.4.1 实现目标.............................................................................................................18 结

论............................................................................................................................................20 致

谢............................................................................................................................................21 参 考 文 献...................................................................................................................................22 第1章 绪论

1.1 课题研究背景

近几年来,随着internet的崛起,远程教育开始发展,普及网络教育的呼声日益高涨,其势头不亚于电子商务。联合国教科文组织1998年在其一项调查报告中:无论是发达国家还是发展中国家,都不同程度存在教育滞后于现实需要的问题,特别是第三世界国家,而普及远程教育,尤其是网络教育,不仅是解决这一问题的有效途径,而且将成为革新传统教育模式的重要动力。

中国的网络教育也随internet的发展而同步增长,同时,网络教育也为中国的教育事业开辟了新的天地。

1.2 课题研究目的和意义

随着网络技术的飞速发展,现在很多国外的大学和社会其他部门都已经开始设了远程教育。但是,远程教育的软件的开发目前还处于起步阶段,随着这项技术的不断深入发展,就要求有更好、更完善的软件系统到远程教育当中去,这就给软件设计人员提出了更高的设计要求。

远程教育包括很多环节。例如,教学系统、考试系统、和答疑系统等等。其中一个很重要的环节是在线考试系统,同时,它也是最难实现的环节。在我国,远程教育以蓬勃发展起来。但目前学校和社会上的各种考试大都都采用传统的考试方法,在此方式下,组织一次考试,要经过五个步骤,即人工出题、考生考试、人工阅卷、成绩评估和试卷分析。

显然随着考试类型的不断增加和考试要求的不断提高,教师的工作量也越来越大,可以说传统的考试方法已经不能适用于现代考试的需要。随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。人们迫切需要这些技术来进行在线考试,以减轻教师的工作的负担以及提高工作效率,与此同时提高了考试的质量,从而使考试更趋于公正、客观,更加激发学生的学习兴趣。篇四:软件测试实验报告

武汉理工大学

学 生 实 验 报 告 书

实验课程名称 软件测试

开 课 学 院 计算机科学与技术学院

指导老师姓名 毛 雪 涛

学 生 姓 名

学生专业班级 2014 — 2015 学年 第 一 学期

任务1:针对一个常用的通讯软件做黑盒测试,利用所学的黑盒测试方法来设计测试用例,并做相应测试,给出测试方案和测试报告。

实验一.通讯软件飞信个人生日填写测试用例

一.简介 1.1编写目的

本测试项目拟对通讯聊天工具飞信输入生日日期进行测试。1.2项目背景

通讯聊天工具中都会有用户填写个人的基本资料,其中生日日期的填写需要进行则是。本项目即为用软件测试输入个人生日日期的正确性。1.3术语

等价类划分:把程序的输入域划分成若干部分(子集),然后从每个部分中选取少数代表性数据作为测试用例。每一类的代表性数据在测试中的作用等价于这一类中的其他值。1.4参考资料

软件测试 佟伟光主编 人民邮电出版社

黑盒测试用例设计示例 作者: chinaitlab 来源: chinaitlab 二.测试概要 2.1测试程序源代码 #include using namespace std;void nextdate(int year,int month,int day);void main(){ int year=0,month=0,day=0;nextdate(year,month,day);} void nextdate(int year,int month,int day){ cout<<请输入年份:<>year;while(!(year>=1811 && year<=2013)){ cout<<年份超过界限,请重新输入<>year;} cout<<请输入月份:<>month;while(month>12||month<1){ cout<<月份输入有误,请重新输入<>month;} cout<<请输入日期:<>day;while(day>31||day<1){ cout<<日期输入有误,请重新输入<>day;} if((year%4==0 && year%100!=0)||(year%400==0))//检查闰年; { int i=0;i=day-29;while(month==2&&i>0){ cout<<本月是闰月,请在1-29之间从新输入日期<>day;} if(month==2&&day==29){ month=3;day=1;} else day++;else day++;//月底计算; switch(month){ case 1: case 3: case 5: case 7: case 8: case 10: if(day==32){ month++;day=1;cout<<明天是:<

if(day==29)

{

month=3;

day=1;

cout<<明天是:<

利用等价类划分法设计测试用例如下:

用例一:输入日期年份超过界限,如输入:20151104;

用例二:输入日期月份输入有误,如输入:19931304;

用例三:输入日期输入有误,如输入:19931144;

用例四:输入日期包含非数字字符,如输入:1993佛说!;

用例五:输入日期超过8位数字,如:1993110402;

用例六:输入日期短于8位数字,如:1993114;

用例七:输入年份为闰年且输入月份为2,日期超过29,如:20000230,2.3测试方法

手工利用黑盒测试中的等价类划分法进行测试,主要测试目标为检验函数是否符合题目所给要求。即:输入是否符合规定条件,及程序的鲁棒性。

三.测试结果及缺陷分析 3.1测试执行情况与记录

测试情况记录:

1、输入日期20151104,程序提醒“年份超过界限,请重新输入”。

2、输入日期19931304,程序提醒“月份输入有误,请重新输入”。

3、输入日期19931144,程序提醒“日期输入有误,请重新输入”。

4、输入日期1993佛说!,程序没有提醒,合理的应该出现提醒“输入非数字

字符,请重新输入”。

5、输入日期1993110402,程序没有提醒,合理的应该出现提醒“输入字符超篇五:计算机测试系统实验报告1 计算机测试系统机电控制

实验报告 2014年12月21日

一、实验目的利用计算机、数据采集卡、被控对象(机电实验平台aedk—dj6)等组成计算机测控系统,在了解相关硬件的基础上,采用有关的软件工具,结合相应的控制规律,在windows环境下实现对相应硬件的访问控制,从而实现对被控对象的测试控制。通过实验加深了解计算机测控系统的组成,掌握windows环境下对硬件访问控制的方法,掌握对被控对象的测试和控制的方法,以及对测试数据处理、分析方法,具备一定的计算机测控硬软件设计能力和应用能力。

二、实验设备

pci9112数据采集卡,机电实验平台aedk—dj6等。

三、实验原理

本实验要求编程实现指针位置的测量和控制实验,原理如下:

本实验平台通过机械结构将步进电机的角位移转换为直线位移,利用电位器和数据采集卡9112内的a/d转换器,构成测位置系统。当步进电机运转时,带动电位器旋转,电位器输出的模拟量——电压值发生改变,通过a/d转换器采集电压值来确定指针位置。电位器输出的模拟量与指针位置成近似线性关系,即采集的数字量就能直接反映出指针的位置,具体原理如下:

(1)电机通过橡胶传动带联动,再通过蜗杆和齿轮将电机的圆周运动转化为皮带的水平运动。

(2)皮带的位移用指针和刻度尺来表示,刻度尺共分为16大格,每格1cm,最小刻度为1mm。皮带移动带动右端一个多线圈电位器转动,通过改变阻值来改变反馈电压,此电压被同时送入控制接口插座in0脚(已经接到9112的16路模拟量输入端口中的0号端口)。当皮带在16cm范围内变化时,in0脚的位置反馈电压将在0~+5v范围内线性变化。实验过程中可以通过测量或采集此电压来计算当前的指针位置。(3)实验平台使用四相步进电机,电流脉冲由a、b、c、d四个引脚输入。a、b、c、d已经接到9112内16路数字输出端口的4、5、6、7四个端口上,即从9112依次输出0010h、0020h、0040h、0080h,可以使步进电机正转;依次输出0080h、0040h、0020h、0010h,可以使步进电机反转。

四、实验内容 1:总体设计

实验通过上位pc机控制实验平台实现电机的闭环控制。

上位机通过labview虚拟仪器控制9112数据采集卡与下位硬件平台数据端口进行通信,从而实现对下位硬件平台的闭环控制,系统结构框图如下: labview 数据接口 2:前面板设计 labview程序前面板可以分为三个区域,分别是模式选择区域、控制区域以及显示区域。

模式选择区域如下:

该区域用来选择系统的工作模式,当设定系统的工作模式为“自动”时,程序自动控制电机转动,使得标尺移动到指定位置,当设定系统的工作模式为“手动”时,通过手动控制电机的移动方向,使得标尺移动到指定位置。当按下“停止”按钮时,系统停止运行。

控制区域如下:

该控制区域在系统工作在手动模式时起作用,在手动工作模式下,当按钮处于“左移”位置时,标尺指针向左移动,当按钮处于“右移”位置时,标尺指针向右移动。

显示区域如下:

设定位置标尺用来预设定标尺位置,作为实际标尺移动的参考标志,实际位

置标尺动态的显示当前标尺的位置。

示波器显示两条曲线,曲线一显示的是标尺设定位置随时间变化的曲线,曲线二显示的是标尺实际位置随时间变化的曲线,在程序运行过程中示波器可以动态的显示出指针实际位置曲线不断接近设定位置曲线,最后重合在一起。3:程序流程图

程序运行流程如下图所示: 程序运行时,首先判断系统的工作模式,如果为手动工作模式,则判断手动控制按键状态,如果为左移,则控制电机使得指针左移,如果为右移,则控制电机使得指针右移。如果系统处于手动工作模式,则判断指针实际位置是否等于设定位置,如果相等或者处于误差允许范围内,则不移动指针,如果不相等则判断实际位置与设定位置的大小,如果实际位置小于设定位置,则控制电机使得指针右移,如果实际位置大于设定位置,则控制电机使得指针左移。4:关键部分程序实现(1)读取实际位置

前面是9112采集卡初始化部分,后续为电压采集模块,由于满度电压输出为5v,对应的标尺刻度为16厘米,所以结果上述运算可以得出标尺指针的实际位置。

(2)控制电机正转

篇6:软件测试实验报告

2016 ~ 2017学年

第二学期

院 计算机科学技术

业 软件工程 学

140521221 姓

名 蒲凤 指导教师王鹏

目录

一、单元测试.......................................................1 1.1实验目的......................................................1 1.2实验环境......................................................1 1.3实验原理......................................................1 1.4实验内容......................................................1 1.4.1 C#单元测试................................................1 1.4.2 测试用例..................................................4 1.5实验结果......................................................5 1.6实验总结......................................................6 1.6.1插件安装...................................................6 1.6.2心得体会...................................................6 1.6.3单元测试意义...............................................6

二、LOADRUNNER性能测试.............................................7 2.1实验目的......................................................7 2.2实验环境......................................................7 2.3实验原理......................................................7 2.4实验内容......................................................7 2.4.1 HP LoadRunner录制脚本.....................................7 2.4.2 HP LoadRunner脚本测试场景设计及分析......................17 2.5实验结果.....................................................33 2.6实验分析.....................................................34 2.7实验总结.....................................................34

三、反编译........................................................36 3.1实验目的.....................................................36 3.2实验环境.....................................................36 3.3实验原理.....................................................36 3.4实验内容.....................................................36 3.4.1 Net Refelector反编译.....................................36 3.5实验结果.....................................................40 3.6实验总结.....................................................41 3.6.1心得体会..................................................41

I 3.6.2 对软件安全性的看法.......................................41

四、SQL注入.......................................................42 4.1实验目的.....................................................42 4.2实验环境.....................................................42 4.2实验原理.....................................................42 4.3实验内容.....................................................42 4.3.1 sql注入..................................................42 4.4实验结果.....................................................52 4.5实验总结.....................................................54 4.5.1心得体会..................................................54 4.5.2 SQL注入危害..............................................54

五、禅道项目管理的BUG管理模块使用................................55 5.1实验目的.....................................................55 5.2实验环境.....................................................55 5.3实验原理.....................................................55 5.4实验内容.....................................................55 5.4.1禅道项目管理的bug管理模块使用............................55 5.5实验结果.....................................................67 5.6实验总结.....................................................68

II

一、单元测试

1.1实验目的

1.能够使用编程工具进行单元测试。

2.检查代码实现是否符合设计,尽早发现设计和需求中存在的错误。3.发现在编码过程中引入的错误,跟踪需求和设计的实现是否一致。

1.2实验环境

环境:vs2013

1.3实验原理

主要采用白盒技术,检查模块控制结构的某些特殊路径,期望覆盖尽可能多的出错点。

1.4实验内容

1.4.1 C#单元测试

1.新建一个类库项目,并为其中的类为BinaryTree.构建二叉树并添加前序遍历方法。如图1-1所示。

图1-1 2.创建单元测试。在方法名上右击,然后单击“Generate Unit Test”选项,打开对话框。如图1-2所示。

图1-2 3.选择方法,为新建项目命名。如图1-3所示。

图1-3 4.然后在解决方案管理中就多了相应的BinaryTree Tests解决方案。如图1-4所示。

图1-4 打开测试菜单->窗口->测试资源管理器,如图1-5所示。

图1-5 5.在测试试图,右键运行要测试的方法,在测试结果窗口中查看测试结果,运行测试之前。如图1-6所示。

图1-6 1.4.2测试用例

1.设置测试参数。如图1-7,1-8所示。

图1-7

图1-8 2.运行之后。如图1-9所示。

图1-9 1.5实验结果

经过测试,ResultEqualTest1,ResultEqualTest2均未通过测试,调整参数,重新测试,测试结果如下,如图1-10所示。:

图1-10 1.6实验总结

1.6.1插件安装

在vs2013进行单元测试之前,需要按照手动添加插件。选择工具-扩展和更新,搜索并安装Unit Test Generator。1.6.2心得体会

本次测试设计涉及预期测试需求,实验结果符合预期。单元测试帮助开发人员编写代码,提升质量,减少bug;提升反馈速度,减少重复工作,提高开发效率;保证最后的代码不会破坏之前的代码功能,同时让代码维护更容易,有助于改进代码质量和设计。1.6.3单元测试意义

单元测试集中注意力与程序的基本组成部分,首先保证每个单元测试通过,才能使下一步把单元组成部分组装成部件并测试其正确性具有基础。单元是整个软件的构成基础,只有保证零部件一样,这个设备的质量才有基础,单元的质量也是整个软件质量的基础。因此,单元测试的效果会直接影响到软件的后期测试,最终在很大程度上影响到产品的质量。同时,单元规模较小,复杂性较低,因而发现错误后容易隔离和定位,有利于调试工作。

二、LoadRunner性能测试

2.1实验目的

1.掌握LoadRunner的使用方法。2.能够使用LoadRunner进行负载测试

3.学会用LoadRunner设计场景并尝试,并分析测试结果。

2.2实验环境

环境:HP LoadRunnner

2.3实验原理

LoadRunner进行负载测试通常有五个阶段组成:

计划、脚本创建、场景定义、场景执行和结果分析。

(1)计划负载测试:定义性能测试要求,例如并发用户的数量、典型业务流程和所需相应时间。

(2)创建Vuser脚本:将最终用户活动捕获到自动脚本中。(3)定义场景:使用LoadRunnerControlller设置负载测试环境。(4)运行场景:通过LoadRunnerControlller驱动、管理和监控负载测试。(5)分析结果:使用LoadRunnerAnalysis创建图和报告并评估性能。

2.4实验内容

2.4.1HP LoadRunner录制脚本

1.启动服务。如图2-1所示。

图2-1 2.登录自带网站WebTours,并注册。如图2-2所示。

图2-2 填写注册信息,如图2-3,2-4所示。

图2-3

图2-4 注册成功,如图2-5所示。

图2-5

3.打开Loadrunner,点击新建脚本打开VuGen。如图2-6所示。

图2-6 新建脚本,如图2-7所示。

图2-7

4.新建脚本,选择协议。如图2-8所示。

图2-8 5.选择浏览器,设置所测web的地址。如图2-9所示。

图2-9 6.点击左下角Options按钮,进入录制环境设置界面。如图2-10,2-11所示。

图2-10

图2-11

7、模拟用户操作开始录制脚本。如图2-12所示。

图2-12 用户操作如下,模拟用户订票。如图2-13所示。

图2-13 8.结束录制,生成脚本。如图2-14所示。

图2-14 9.回放脚本,验证脚本是否正确。如图2-15所示。

图2-15 回放结果,如图2-16所示。

图2-16 10.增加事务,并命名。如图2-17所示。

图2-17 给事务命名,如图2-18所示。

图2-18 查看事务,如图2-19所示。

图2-19 11.参数化。在脚本中找到需要参数化的值,例如登录名和登录密码。如图2-20所示。

图2-20 2.4.2HP LoadRunner脚本测试场景设计及分析

1.导入脚本,打开controller。如图2-21所示。

图2-21 2.选择文件路径。如图2-22所示。

图2-22 3.进入初始界面。如图2-23所示。

图2-23 4.为了设置集合点,取消默认勾选框,添加脚本。如图2-24所示。

图2-24 5.确定,进入场景设置界面。如图2-25所示。

图2-25 6.设置场景,选择初始化。如图2-26所示。

图2-26 7.打开运行时设置,设置迭代次数。如图2-27所示。

图2-27 8.设置迭代参数为2。如图2-28所示。

图2-28 9.点开Miscellaneous,设置Continueon error,使错误发生时可继续执行。如图2-29所示。

图2-29 10.设计集合点。如图2-30所示。

图2-30 设置当所有虚拟用户都到达集合点才释放,模拟多用户同时进行某一操作的情况。选中policy。如图2-31所示。

图2-31 11.设置policy。如图2-32所示。

图2-32 12.点击运行,进入运行时监控界面。如图2-33所示。

图2-33 13.点击运行场景。如图2-34所示。

图2-34 14.观察运行结果。如图2-35,2-36,2-37,2-38,2-39所示。

图2-35

图2-36

图2-37

图2-38

图2-39 15.设置场景运行时Windows资源监控图。如图2-40所示。

图2-40 点击添加。如图2-41,2-42所示。

图2-41

图2-42 运行时Windows资源监控图截图如下。如图2-43所示。

图2-43 16.打开分析器,形成分析结果。如图2-44,2-45所示。

图2-44

图2-45 17.分析器自动形成分析结果。如图2-46,2-47,2-48,2-49,2-50所示。

图2-46

图2-47 18.点开监控的图表,根据需要合并图表以便更好地分析。

图2-48

图2-49

图2-50 19.添加Windows资源监控图表。如图2-51,2-52所示。

图2-51

图2-52 20.添加页面分析结果图表。如图2-53所示。

图2-53 21.生成测试报告。如图2-54所示。

图2-54 生成测试报告中。如图2-55所示。

图2-55 生成测试报告,如图2-56所示。

图2-56 2.5实验结果

回放验证。如图2-57所示。

图2-57

生成测试报告,点击内容,如图2-58所示。

图2-58 2.6实验分析

通过测试报告可以看出,最多能够创建10个vuser,平均吞吐量是14320字节每分,平均每秒点击数量约为10次。同时可以通过以下方式使被测系统所受压力减轻,从如下方面进行综合调解:将测试脚本中think time值加大并在控制台中按比例实现,此处think time指在transaction外部的时间;Controller中Run-Time Setting的Pacing设置值加大;虚拟用户登录时使用递增策略,间隔稍长。

2.7实验总结

LoadRunner,是一种预测系统行为和性能的负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner能够对整个企业架构进行测试。企业使用LoadRunner能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。LoadRunner可适用于各种体系架构的自动负载测试,能预测系统行为并评估系统性能。学会了使用LoadRunner录制脚本。基本的流程是启动服务器、注册、录制脚本及进行参数化设置。设计涉及场景的搭建和测试,通过Lordrunner进行脚本测试,同时能够生成相应的图表,直观的反应了测试结果。Lordrunner作为专业的性能测试工具,通过模拟成千上万的用户对被测应用进行操作和请求,在实验室环境中精确重现生产环境中任意可能出现的业务压力,然后通过在测试过程中获取的信息和数据来确认和查找软件的性能问题,分析性能瓶颈。

三、反编译

3.1实验目的

1.学会如何使用反编译工具对程序进行反编译。2.能够使用.NetRefelector进行反编译。

3.2实验环境

环境:.Net Refelector,VS2008 3.3实验原理

反编译的主要思想:将特定的机器代码,即我们的“源程序”,先翻译为低级的中间代码,然后再根据特定的高级语言将中间代码翻译为高级程序。反编译器也有前端和后端。前端是一个机器依赖的模块,句法分析二进制程序、分析其指令的语义、并且生成该程序的低级中间表示法和每一子程序的控制流向图。通用的反编译机器是一个与语言和机器无关的模块,分析低级中间代码,将它转换成对任何高级语言都可接受的高级表示法,并且分析控制流向图的结构、把它们转换成用高级控制结构表现的图。最后,后端是一个目标语言依赖的模块,生成目标语言代码。反编译的过程中要使用一些工具:把二进制程序装入内存,对这一程序做句法分析或反汇编,以及反编译或者分析该程序来生成高级语言程序。这个过程借助编译器和库的签名来识别特定的编译器和库子程序。只要在二进制程序中识别出编译器签名,就不去反编译这些编译器启动代码(start-up)和库子程序:对于前者,从最后的目标程序去掉启动代码的那些例程,反编译器从主(main)程序入口点开始分析;对于后者,那些子程序用其库函数名代替。

3.4实验内容

3.4.1Net Refelector反编译

1.启动.NETRefelector(在所有程序中找到RedGate文件夹)找到安装文件,点击运行。如图3-1所示。

图3-1 2.选择文件,打开可执行文件。如图3-2所示。

图3-2 选择文件路径。如图3-3所示。

图3-3

3.导入工程截图如下。如图3-4所示。

图3-4 4.相关函数和类,如图3-5所示。

图3-5 5.选中工程,导出源码。如图3-6所示。

图3-6 6.选择导出文件路径。如图3-7所示。

图3-7 7.选中反编译程序,点击运行。如图3-8所示。

图3-8 3.5实验结果

反编译成功,如图3-9所示。

图3-9

3.6实验总结

3.6.1心得体会

本次实验通过反编译工具进行了反编译,完成了从可执行文件到源码的转换,学会了如何使用.NET Refelector反编译工具。3.6.2 对软件安全性的看法

软件安全(Software Security)就是使软件在收到恶意攻击的情形下依然能够继续正确运行及确保软件被在授权范围内合法使用的思想。软件安全性分析任务包含于软件生存周期的若干活动中,是针对软件的安全性质量,作为这些活动的补充。软件安全性分析作为开发中软件的质量的重要保证,关系到软件的获取、供应、开发、运行和维护,已得到专业人士的高度重视。并且现在,软件安全性分析任务的各项细节执行都写入了国军标,被安全相关软件的需方、供方、开发者、维护者以及独立的评价者使用。规范化将推进软件安全性分析的进程,使更多的开发和评测单位遵循标准化文件,督促开发团队采取相应的技术手段,以软件测试作为辅助。同样,软件安全性分析标准也会在推进的过程中,得到不断地发展。

四、SQL注入

4.1实验目的

1.明白SQL注入原理。2.能够进行简单的SQL注入。

4.2实验环境

环境:VS2013,SQL Server Management Studio 4.2实验原理

SQL注入即是指web应用程序对用户输入数据的合法性没有判断,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息。

4.3实验内容

4.3.1 sql注入

1.点击SQL SERVERR2。如图4-1所示。

图4-1 登陆数据库,如图4-2所示。

图4-2 2.创建数据库SQLTEST。如图4-3,4-4所示。

图4-3

图4-4 3.创建表UserLogin。如图4-5所示。

图4-5 设置主键如下,如图4-6所示。

图4-6 设置成功,截图如下。如图4-7所示。

图4-7 输入表名。如图4-8所示。

图4-8 4.选中表,编辑前200行。如图4-9所示。

图4-9 5.编辑测试数据,如图4-10所示。

图4-10 6.打开VS2013,新建项目。如图4-11所示。

上一篇:劳动实践活动总结下一篇:县强化经济责任审计