黑盒测试

2024-06-01

黑盒测试(精选9篇)

黑盒测试 篇1

1 黑盒测试

黑盒测试就是把测试对象看做是一个黑盒子, 测试人员完全不考虑程序内部的逻辑结构和内部特性, 只依据程序的需求规格说明书, 检查程序的功能是否符合它的功能说明, 不需测试软件产品的内部结构和处理过程。

2 黑盒测试的方法

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

2.1 等价类划分法

也许等价类划分法并不是一种很严谨的策略, 但它是却黑盒测试中最常见也是使用得最广泛的一种方法。等价类划分法是把所有可能的输入数据, 即程序的输入域划分成若干部分 (子集) , 然后从每一个子集中选取少数具有代表性的数据作为测试用例, 而且, 这些子集是不相交的。当然, 在实际的测试用例设计中, 我们并不能仅仅考虑输入条件的等价类, 有时候也要考虑输出的等价类情况, 比如:成绩的等级输出情况只有优、良、中、差4个等级, 那我们作为软件测试人员, 就不能光从输入考虑, 还要从输出来考虑用例的设计。这种测试用例的设计方法, 比较适合一些简单没有很多关联的输入, 比如:商品的单价、学生的成绩、省份的选择, 这些输入项具有一个独立的含义, 相互之间没有联系。一般来说, 等价类划分是比较好理解的, 也是软件测试人员比较容易掌握的一门技术。等价类有两种:有效等价类和无效等价类, 所谓有效等价类是指对于程序的规格说明来说是合理的, 是有意义的输入数据构成的集合。利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。而无效等价类刚好就与有效等价类的定义相反。

2.2 边界值分析法

有经验的软件测试人员都知道, 输入的边界是最容易出问题的地方。输入输出范围的内部问题反而比较少。因此若是针对各种边界情况设计测试用例, 则可以做到有的放矢。一般来说, 边界值是等价类划分法的一种补充, 而边界值取的就是各个等价类的边界。

2.3 因果图法

前面介绍的2种测试用例设计方法, 对于单一的输入是非常凑效的, 若是对于一些有关联性的输入就不见得很好用了。什么叫又关联性的输入呢, 举个例子:单位上要评选先进, 要求如下, 若是满足了 (1) + (4) 或者 (2) + (3) + (4) , 那么就满足评先进的条件:

(1) 带学生团队参加市级以上的比赛获了2等奖以上;

(2) 带学生团队参加市级以上的比赛获了3等奖;

(3) 本学年的教学任务完成了520以上;

(4) 本学年没有违反教学事故。

从这样一个很常见的输入条件组合的例子中可以看出, 我们要得到一个结论, 比如本例中要得到该教师是否是先进的结论, 不能从一个条件就可以判断, 而是各个条件的组合才能决定结论, 对于, 这一类的测试用例设计, 我们最好使用因果图法来解决。

如果在测试时必须考虑输入条件的各种组合, 则可能的组合数目将是天文数字, 因此必须考虑采用一种适合于描述多种条件的组合, 相应产生多个动作的形式来进行测试用例的设计, 这就需要利用因果图 (逻辑模型) 。

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

2.4 基于决策表的测试

决策表就是我们平时所说的判定表, 是分析和表达多逻辑条件下执行不同操作的情况的工具。在所有的功能性测试方法中, 基于决策表的测试方法是最严格的, 因为决策表具有逻辑上的严格性, 上面我们提到过的因果图法与决策表相比, 因果图方法使用起来很麻烦, 而且是全冗余的。

决策表一共分为4个部分, 如下图1所示:

(1) 条件桩 (Condition Stub) :列出了问题的所有条件。通常认为列出的条件的次序无关紧要。

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

(3) 条件项 (Condition Entry) :列出针对它左列条件的取值。在所有可能情况下的真假值。

(4) 动作项 (Action Entry) :列出在条件项的各种取值情况下应该采取的动作。

在图2所示的三角形决策表中, 给出了不关心条目和不可能使用规则的例子。正如第一条规则所表示的, 如果整数a、b和c不构成三角形, 则我们不关心可能的相等关系。

决策表技术不是适应于所有的应用程序, 基于决策表所适用的情况都是要发生大量决策, 以及在输入变量之间存在逻辑关系的情况。若是if-then-else的逻辑很突出, 或者输入变量之间存在逻辑关系, 或者设计输入变量自己的计算, 或者输入与输出之间存在因果关系, 那么我们应考虑基于决策表的测试用例设计方法。

2.5 功能图法

很多软件测试的时候, 并不是只要考虑到静态的说明就可以了, 像前面所讲的设计方法, 我们考虑的都只是静态的输入的数据和输出的结果, 但要测试的对象有很多时候也要考虑动态的说明。当然这里的所谓动态说明其实也是一种输入, 只是和前面提到的具体到哪一个字段的输入不一样, 这种输入更多的是测试人员的一种操作, 比如:按下ESC键, 选择转帐功能等。

在这里, 功能图法其实不再是一种严格的黑盒测试方法了, 而是一种黑盒和白盒混合用例的设计方法。在功能图法中, 要用到逻辑覆盖和路径测试的概念和方法, 这属于白盒测试用例设计中的内容。

我们可以用windows的屏幕保护程序作为示例来了解功能图法。下面图3是屏保程序的流程图, 图4是状态迁移图。表1是对应的逻辑功能表。

我们可以根据功能图来生成测试用例, 从所有的输入、输出以及状态生成所需要的节点和路径, 形成实现功能图的基本路径组合。

3 结束语

前面我们介绍了几种常见的黑盒测试用例设计方法, 其实技术方法的掌握并不困难, 重要的是如何把这些方法灵活地运用到实际中去, 很多测试人员在设计测试用例时, 总是一开始就针对各种输入对照需求说明的期望输出, 不去考虑输入与输出之间的关系, 也不考虑单位对测试的要求, 就设计用例, 然后, 根据单位上对这项测试的要求, 略微调整一下用例设计的角度和方案, 这样的设计过程就避免了那些问题。

摘要:功能测试是软件产品质量保证的最后屏障, 很多应用程序由于进度的逼紧, 而没有按照常规的质量保证那样实施。但是, 最后的功能测试仍是必须的。而功能测试也叫黑盒测试, 其测试用例的设计是很多测试人员的基本功, 为此主要介绍了几种常见的黑盒测试用例的设计方法。

关键词:软件测试,黑盒测试,测试用例

参考文献

[1]朱少民.软件测试方法和技术[M].北京:清华大学出版社, 2005.

[2]Paul C.Jorgensen.软件测试[M].韩柯, 杜旭涛, 译.北京:机械工业出版社, 2003.

[3]赵斌.软件测试技术经典教程[M].北京:科学出版社, 2007.

[4]古乐, 史九林.软件测试技术概论[M].北京:清华大学出版社, 2004.

黑盒测试 篇2

黑盒测试和白盒测试是两种不同的测试方法,在整个的测试过程中两种方法都会用到,但以经验来看,在一个项目中测试工程师还是以黑盒测试为主,白盒测试为辅。对于有些人认为黑盒测试没有技术含量,这是完全错误的一种看法,好的黑盒测试需要丰富的经验和敏锐的思维。

黑盒测试的特点:

1. 不基于对系统内部的设计和实现。

2. 用例设计基于功能的定义和需求说明书。

3. 关注于测试数据的选择和测试结果的分析。

常见的.黑盒测试有,功能测试、压力测试、易用性测试和性能测试等。

使用的测试方法有,等价类划分、边界值测试、错误测试、启发性测试等。

当然黑盒测试也存在一些弊端:

1. 对用例设计人员的经验要求较高,包括数据的选择,对潜在错误的敏感性;

2. 对于内部实现的bug不容易发现;

3. 不能提供直观的测试覆盖率。

白盒测试的特点:

1. 需要了解系统的整体设计和实现;

2. 对源代码进行审查;

3. 在单元测试阶段发现大量的缺陷;

4. 关注于系统的控制流和数据流;常用的一些白盒测试方法有,独立路径测试、逻辑判断测试、数据结构测试、覆盖率测试等,

白盒测试的不足之处有:

1. 不能确保系统是否完全符合需求说明书;

2. 白盒测试的代价会大于黑盒测试;

3. 需要源代码首先完成才能进行测试;

掀开决策黑盒子 篇3

人们利用主导理性的前额叶皮质来做决定。但是立即奖赏或是惩罚的期望会活化缺乏耐心的大脑边缘系统,而导致仓猝的决定。

2、为什么人们会忽然改变他们的行为?

大脑环状前区会从主导理性的前额叶皮质和边缘系统处接收多个“建议”,然后选择到底要遵循哪一个。而任何条件的细微改变都可能影响它选择的决定。

3、为什么人们会喜欢资金?

大脑的纹状体能够很快习惯新的刺激,并且只对未预期到的事情,像是意外之财有反应。

4、为什么人们会惩罚说谎者?

大脑的前脑岛对不公平的感觉会有强烈的反应,这有助于阻止不公平的事情发生,不过大脑的同一块区域也可能导致过度的反应,比如说看到他们开车技术差,自己会突然很生气。

5、为什么金钱本身就是奖赏?

大脑中的阿肯柏氏核对钱的反应,和对性爱或者毒品的反应相当类似。换句话说,不仅为了它所能够购买到的东西,钱本身就能够为人带来无比的快感。

美国国家冰球联盟和旗下的球员,正因为薪资上限的规定而相持不下,谈判陷入僵局也导致整个球季就此报销。在这场赛局当中,没有人是赢家。到底问题在哪里呢?芽

根据神经经济学这门新兴学问的理论,这个问题的答案可能就在谈判双方的脑袋里头。不过,不是在一般人用来做理性逻辑思考的前额叶皮质,而是主导情绪变化的大脑深层。

优化测试用例的黑盒测试方法研究 篇4

关键词:黑盒测试,测试用例,分类树方法

0 引言

黑盒测试方法是一种从软件系统的功能说明书出发去寻找软件错误的测试方法, 测试软件系统功能。与白盒测试方法不同, 黑盒测试方法不关注软件的逻辑结构, 将待测试的软件看作一个黑盒子, 只关注软件功能的实现。常见的黑盒测试方法有:随机测试、等价类划分、边界值分析和因果图等。

1 常用黑盒测试方法

1.1 随机测试

该测试方法仅仅依靠测试者的直觉和个人经验去设计测试用例, 对软件进行随机测试, 因此较难发现错误, 效率较低, 大型软件一般很少使用。

1.2 等价类划分

该方法是从软件输入数据的限定条件出发, 或者从软件的输出数据倒推输入数据的特性, 从而划分为不同的类别, 每一个类别称为等价类, 每个等价类中可选取一组数据作为该等价类的代表, 对系统进行测试。如系统要求输入的数据为0~5之间的整数, 就可划分出3个等价类:小于0的整数;0~5的整数;大于5的整数。

1.3 边界值分析

此方法通常结合等价类划分方法一起使用。系统在边界处产生错误的概率较大, 因此有必要对边界处加强测试。选取的测试数据可以略大于、略小于或等于边界值。对上述等价类的例子而言, 可设定-1、0、1、4、5、6进行测试。

1.4 因果图

与等价类划分和边界值分析方法相比, 因果图方法既考虑了输入条件的组合关系, 又考虑了输出条件对输入条件的依赖关系, 效率较高。它将自然语言描述的规格说明转换为类似数字逻辑电路的因果图。步骤如下: (1) 将功能说明书分解成片段。将输入条件分成若干组, 分别对每个组使用因果图, 减少输入条件组合的数目; (2) 识别原因和结果, 并加以编号。原因是指输入条件或输入条件的等价类, 结果是指输出条件或系统变换。每个原因和结果都对应于因果图中的一个结点, 当原因或结果成立 (或出现) 时, 相应结点的值为1, 否则为0; (3) 根据功能说明中规定的原因与结果之间的关系画出因果图; (4) 根据功能说明在因果图中加上约束条件; (5) 根据因果图画出判定表; (6) 为判定表的每一列设计一个测试用例。

2 优化测试用例数量的黑盒测试方法

前述黑盒测试方法测试用例数量有时过多, 有必要采用化方法选取有代表性的测试用例来提高发现错误的概率。

2.1 分类树方法

该方法与等价类划分类似, 不同之处在于分类树方法是用树状图来表示各类别。操作步骤如下:

(1) 从软件系统的功能说明书中识别出不同的类别。以求两数中较大数的程序为例:假设程序要求的输入文件是File, File接收两个数据a和b。计算a-b的结果, 由得到的结果判断两数的大小。因此, 输入文件File有3个类别:不存在、存在但为空文件、存在但非空。a-b的值也可分为3类:大于0、小于0、等于0。

(2) 根据得到的类别构造分类树。

(3) 根据分类树的结点设计测试用例表。

(4) 从用例表中挑选可行的测试用例。

本文以企业员工考勤系统为例探讨分类树设计测试用例的方法。此考勤系统的功能说明书如下:

(1) 统计企业每月考勤结果。员工平时上下班刷卡的时间记录在考勤系统中。根据考勤记录统计员工的出勤情况。每个员工都有一个ID, 可唯一识别员工的个人信息, 如员工的姓名、岗位、工资等信息。

(2) 在考勤系统界面上输入员工ID, 系统information文件中存放员工个人信息, 根据该文件可识别员工的权限, 如果ID号码不合法, 或是离职员工, 系统将提示“无法统计出勤情况”。在职员工分为两类:一类是普通员工, 需进行功能说明书第3步的操作;另一类是特权员工, 如总经理等级别的员工, 常因出差、招标等原因外出, 因此考勤可以适当放宽, 执行功能说明书第4步操作。

(3) 上班时间为早上9:00到下午5:00, 刷卡时间允许前后波动15分钟。普通员工一个月内最多可迟到3次。超过3次, 每超过1次扣除员工月工资总额的1/30。假设刷卡时间为time, 月工资为salary, 迟到次数为count。迟到次数小于3次, 系统提示“无迟到记录”;迟到次数等于3次, 系统提示“本月迟到达到3次”;迟到次数大于3次, 系统计算本月应扣除工资:salary/30× (count-3) , 并将结果显示出来。

(4) 特权员工刷卡时间不作为考勤的唯一标准。统计此类员工考勤信息时, 系统弹出“特权员工不按照普通员工的考勤考核办法”。

根据考勤系统的功能说明书, 可以分析得出系统的不同类别, 如下表1所示。

由表1可知, 每个分类分别有3、2、2、3个类别, 将这些类别分别组合, 可知该系统的用例总数为3×2×2×3=36个。但其中有些用例是不合法的, 比如:“information文件的状态”如果是空, 则不可能与“员工ID状态”这个分类进行组合。此类不合法的测试用例无需进行测试。因此实际测试用例少于36个。构造系统分类树, 如图1所示。

该分类树中图形含义如下: (1) 圆点表示开始, 代表根结点, 表示系统的输入域。位于顶点下方的“information文件的状态”为顶层分类; (2) 矩形框表示按照功能说明进行的分类 (即表格1中第一列的项目) ; (3) 分类树的终端即叶子结点用列 (竖线) 来表示; (4) 分类树中的每一行代表一个测试用例。

分类树下方用横线隔开, 每一行可以设计一个测试用例。可设计如下7个测试用例: (1) 输入information文件状态为“不存在”, 预期输出:考勤系统弹出错误提示; (2) 输入information文件状态为“存在但为空”, 预期输出:考勤系统弹出错误提示; (3) 输入information文件状态为“存在但不空”, 员工ID状态为“无此ID”, 预期输出:考勤系统弹出“无法统计出勤情况”的提示; (4) 输入:information文件状态为“存在但不空”, 员工ID状态为“有此ID”, ID的权限为“特权员工”, 预期输出:考勤系统弹出“特权员工不按普通员工的考勤办法考核”; (5) 输入:information文件状态为“存在但不空”, 员工ID状态为“有此ID”, ID的权限为“普通员工”, 迟到次数count小于3, 预期输出:考勤系统弹出“无迟到记录”; (6) 输入:information文件状态为“存在但不空”, 员工ID状态为“有此ID”, ID的权限为“普通员工”, 迟到次数count等于3, 预期输出:考勤系统弹出“本月迟到达到3次”; (7) 输入:information文件状态为“存在但不空”, 员工ID状态为“有此ID”, ID的权限为“普通员工”, 迟到次数count大于3, 预期输出:考勤系统显示员工本月应扣工资金额。由图1可知, 由分类树设计的7个测试用例, 相比原先由组合关系得到的36个测试用例, 数量明显减少, 根据系统的输入数据域, 可全面测试系统功能。

2.2 正交试验设计

正交试验设计 (Orthogonal experimental design) 是研究多因素多水平的一种设计方法, 它根据正交表从全面试验中挑选出部分有代表性的点进行试验。正交表是均衡分散的, 在减少测试用例的同时, 也能对软件进行全面的测试。在正交测试中, 次数 (Runs) 表示测试用例的个数;因素数 (Factors) 表示影响某结果的变量个数;水平数 (Levels) 表示每个因素取值的个数;正交表的表现形式记为:Lruns (1evelsfactors) 。其操作步骤如下: (1) 找出与软件系统输出结果相关的因素与水平; (2) 根据不同的因素和水平, 选择适当的正交表。如果影响软件的水平数相同, 因素数刚好符合正交表, 则直接选用该正交表。如果水平数相同, 但在正交表中找不到相应的因素数, 则取因素数最接近但略大实际值的表; (3) 将正交表转化为含有因素的测试用例方案。

3 结语

分类树方法与等价类划分相似, 但主要采用树形图来设计测试用例, 可以减少用例数量。此方法对测试者软件项目经验要求不高, 而且可以不依赖自动化工具即可进行测试。正交试验设计法也可以优化用例的数量。该方法由正交表来设计测试用例, 减少试验次数。但利用正交试验设计法有时因素数和水平数与正交表不会恰好相符, 有一定的误差。本文两种方法各有优点。

参考文献

[1]段力军.软件产品黑盒测试的测试用例设计[J].测试技术学报, 2007, 21 (2) :160-162.

[2]CHEN TY, PAK LOK POON.Experience with teaching blackbox testing in a computer science/software engineering curriculum[J].Education, IEEE Transactions on Issue Date:Feb.2004, 47 (1) :42-50.

[3]郭学品, 钟声, 黄成.软件测试用例设计分析[J].海南广播电视大学学报, 2010 (4) :16-19.

黑盒测试中的边界值分析方法研究 篇5

人们经过长期的测试工作经验得知,故障往往发生在输入定义域或输出值域的边界上,而不是在定义域或值域的内部。说明在进行测试用例分析的一个非常重要的方面就是进行边界值分析。但是,在设计测试用例时,常常对规格说明中的输入域边界或输出域边界重视不够,以致形成一些差错。实践表明,对边界附近的处理必须给予足够的重视。为检验边界附近的处理设计专门的测试用例,常常可以取得良好的测试效果。

1 边界条件

边界条件是一些特殊情况。程序在处理大量中间数值时都正确,但在边界处可能出现错误。比如,下面是一个简单的程序。

这段代码的意图是创建包含10个元素的数组并为数组中的每一个元素赋初值-1,它建立了包含10个整数的数组a和一个计数变量i。For循环从1~10,数组中从第1个元素到第10个元素被赋予数值-1,边界问题在哪儿?

在大多数计算机编程语言中,当定义数组时,第一个创建的元素是0,而不是1。该程序实际上创建了一个从a(0)到a(10)共11个元素的数组。循环从1~10将数组元素初始化为-1,但是数组的第一个元素是data(0),它没有被初始化。程序执行完毕,数组值如下:

此时a(0)的值是0,而不是-1。如果程序员以后忘记了或者其他程序员不知道这个数组只对a(1)~a(10)进行了初始化,那么他就可能会用到数组的第1个元素a(0),以为它的值是-1。诸如此类的问题很常见。

刚开始时,可能意识不到一组给定数据包含了多少边界,但是仔细分析总可以找到一些不明显的、有趣的或可能产生软件故障的边界。实际上,边界条件就是软件操作界限所在的边缘条件。

2 次边界条件

上面讨论的边界条件比较容易发现,它们在软件规格说明中或者有定义,或者可以在使用软件的过程中确定。有些边界在软件内部,用户几乎是看不到,但软件测试仍有必要对这些边界条件进行检查,这样的边界条件称为次边界条件或者内部边界条件。寻找次边界条件比较困难,虽然不要求软件测试人员成为程序员或者具有阅读源代码的能力,但要求软件测试员能大体了解软件的工作方式。[2,3]一个常见的次边界条件例子是ASCⅡ字符表。表1给出了部分ASCⅡ字符。

在表1中,数字0~9的ASCⅡ值是48~57。斜杠字符(/)在数字0的前面,而冒号字符(:)在数字9的后面。大写字母A~Z对应的ASCⅡ码值是65~90。小写字母对应的ASCⅡ码值是97~122。这些情况都表示次边界条件。

如果对文本输入或文本转换软件进行测试,在考虑数据区间包含哪些值时,最好参考一下ASCⅡ表。例如,如果测试的文本框只接受用户输入字符A~Z和a~z,就应该在非法区间中,检测ASCⅡ表中位于这些字符前后的值——@、[、‘和{。

3 边界值分析

为了便于理解,这里讨论一个有两个变量x1和x2的程序P,假设输入变量x1和x2在下列范围内取值:

区间[a,b]和[c,d]是x1和x2的值域,强类型语言允许显式地定义这种变量值域。事实上,边界值测试更适于采用非强类型语言编写的程序。程序P的输入域如图1所示。带阴影矩形中的任何点都是程序P的有效输入[4]。

边界值分析基于一种在可靠性理论中称为“单故障”的假设,即由两个(或两个以上)故障同时出现而导致软件失效的情况很少,也就是说,软件失效是由单故障引起的。边界值分析利用输入变量的最小值、稍大于最小值、域内任意值(一般为中间值)、稍小于最大值和最大值来设计测试用例,即通过使所有变量取正常值,只使一个变量分别取最小值、略高于最小值、略低于最大值和最大值[5,6]。图2为有两个输入变量的程序P的边界值分析测试用例。

对于一个含有n个变量的程序,保留其中一个变量,让其余变量取正常值,这个被保留的变量依次取值最小值、稍大于最小值、域内任意值、稍小于最大值和最大值,对每个变量重复进行,这样,对于一个n变量的程序,边界值分析测试会产生4n+1个测试用例。

4 边界值分析举例

下面以软件测试用例设计方法讲解中常用到的三角形分类程序为例,介绍一下在测试用例中用边界值分析方法设计的测试用例。

首先,三角形分类程序的功能描述如下:读入代表三角形边长a,b,c的3个整数,其中a,b,c的中均为大于等于1,小于等于10,判定它们能否组成三角形。如果能够,则输出三角形是等边、等腰或任意三角形的分类信息。

通过功能描述可以分析出a,b,c的输入域均为大于等于1,小于等于10,且均为整数。进而可以确定输入变量的最小值为1、稍大于最小值为2、稍小于最大值为9,最大值为10。表2给出了三角形分类程序的边界值分析测试用例。

5 结束语

边界值分析方法是一种有效的黑盒测试方法,是每个测试工程师都应该掌握的非常实用的方法,采用这种方法设计的测试用例发现程序错误的能力较强。但当边界情况很复杂的时候,要找出适当的边界测试用例还需针对问题的输入域、输出域边界,耐心细致地逐个进行考虑。

摘要:为了快速地设计出完整有效的黑盒测试的测试用例以保障软件测试质量,在分析了边界值分析方法中的边界条件和次边界条件的基础上,进一步说明了测试用例设计中的边界值的分析方法。以三角形分类程序问题为实例进行分析,在确定了输入域的前提下,通过找出边界条件和次边界条件快速获得了一个完整有效的测试用例。采用这种方法设计的测试用例具有较强的发现软件程序错误的的特点,不但能有效避免测试的盲目性,并且能提高测试效率和测试覆盖度。

关键词:软件测试,黑盒测试,边界值分析,测试用例,边界条件,次边界条件

参考文献

[1]柳纯录.软件评测师教程[M].北京:清华大学出版社,2005.

[2]赵斌.软件测试技术经典教程[M].北京:科学出版社,2007.

[3]贺平.软件测试教程[M].北京:电子工业出版社,2005.

[4]赵瑞莲.软件测试[M].北京:高等教育出版社,2004.

[5]杨劲涛,荷清.黑河测试用例基的研究[J].计算机工程与科学,2006,28(5):130-131.

[6]孟祥丰.软件的黑河测试方法解析与优化[J].物联网技术,2011(8):69-71.

[7]夏启明.软件测试及评价的复用策略研究及其实现[D].武汉:武汉大学,2010.

[8]董红霞.一种新的边界测试数据自动生成方法研究[D].北京:北京化工大学,2006.

[9]毛颖.测试用例自动生成系统研究与实现[D].成都:电子科技大学,2007.

加速度传感器固件黑盒测试设计 篇6

加速度传感器是用来反应设备在各个方向所受力的感应设备。一般可以分为6个方向, 即 (X,-X) , (Y, -Y) , (Z, Z)。其中 (Z, -Z) 即重力感应方向, 指物体在平放时受到地心引力的方向以及反方向。

在微软的白皮书中, 对不同机构的电子产品所定义的加速度传感器方向是不同的, 所以设计加速度传感器在设备上对应的物理位置时须参照微软白皮书的定义来进行设计。

无论设备以什么方式摆放, 最终都可以分解为这3个方向或者反方向所受到的力 (力的分解), 加速度传感器通过感应, 给出6个方向对应的原始数据, 最终通过驱动, 反应给系统的应用层。上层应用则根据驱动给出来的数据作出分析,最终反应给用户。

2 加速度传感器矫正测试

在测试任何的传感器固件之前, 首先要对该固件进行校正, 否则在错误的前提条件下进行测试, 所测出来的结果是无效的。对于固件的校正, 需要开发人员提供相关工具, 测试人员则根据工具的要求对测试设备进行摆放, 然后将校正好的数据写入固件。

校正应分别将各个面 (X,-X,Y,-Y,Z,-Z) 朝向地心引力方向, 收集数据, 然后再根据固件报出来的数值进行比对, 再通过一定的算法, 算出校正值, 并写入固件。

校正完后, 再分别读取6个方向的值, 看是否已经校正。

为了测试固件校正的方法确实是正确的, 在校正的时候,将方位摆错, 校正完后, 看得出来的值是否如期望一样出错。如将X和-X校正时收集数据摆放位置颠倒, 则校正完后, 测试设备获得的X, -X值也是颠倒的, 表明固件校正功能是正常工作的。

3 基本属性检查

每个传感器都有固定的属性, 测试人员可以使用微软提供的Sensor Diagnostic tool去获得传感器的各种属性, 如传感器名称、版本、生产厂家等。测试人员需要按照开发设计文档进行比对值是否正确。

4 基本功能测试

加速度传感器的基本功能主要针对各个方向朝向地心引力方向时, 测试工具所获得的数据是否和设计一致。测试工具可以选择微软提供的Sensor Diagnostic Tool。该工具打开后,可以看到加速度传感器节点, 右边会列出该传感器的属性并列出X, Y, Z的值。测试结果测试结果必须符合Z正方向朝向地心引力方向值为 (0,0,1), 反之则为 (0,0,-1)。X正方向朝向地心引力方向值为 (1,0,0), 反之则为 (-1,0,0)。Y正方向朝向地心引力方向值为 (0,-1,0), 反之则为 (0,-1,0)

测试人员还可以使用由开发人员提供类似工具。Windows对加速度传感器调用的接口有统一的定义, 开发测试工具时按照微软给定的接口就可以灵活使用C, C++或者C# 进行工具开发。

除了在固定的几个位置查看测试工具读出来的值是否一致, 还需要对加速度传感器的值进行长时间的收集, 看加速度传感器在设备固定在某一位置时, 一个时间段内读出来的值是否有超过容差范围。目前微软对加速度传感器偏差的定义为+/-0.1。建议由开发人员编写开发工具, 将读出来的数据存储为.csv格式。将读取到的数据用Excel打开, 绘制出图片, 看是否有超过范围的值出现。

在微软白皮书中, 还定义了加速度传感器的的最大加速为+/-4g。最大值测试可以将测试设备安装在特定的外部设备上 (如机械手臂) 进行测试, 读取传感器的值, 查看最大值是否和所受的力一致。

5 整合测试

除了测试加速度传感器的值是否正确, 还需要对加速度传感器和其他相关传感器, 驱动等进行整合测试。测试需包含:

(1) 禁用启用测试。Windows中已经集成了加速度传感器的驱动, 如果加速度传感器所使用的驱动是额外安装的,需要对驱动的安装卸载和更新进行测试。如果使用Windows中提供的驱动, 只需查看设备管理器里面传感器能够正常识别即可。在设备管理器里, 禁用加速度传感器, 传感器在测试工具中的状态应该为不可识别状态, 如果使用微软Sensor Diagnostic Tool, 设备的节点应该消失。启用加速度传感器, 测试工具能正常获得该传感器返回数据, 且数据是正确的。

(2) 休眠测试。测试设备进入休眠状态 , 然后唤醒 , 查看加速度传感器返回的值是否正确。唤醒后系统转屏功能是否正常。

(3) 睡眠测试。测试设备进入睡眠状态 , 然后唤醒 , 查看加速度传感器返回的值是否正确。唤醒后系统转屏功能是否正常。

(4) 休眠睡眠测试。测试设备先进入休眠, 再进入睡眠,然后唤醒, 查看加速度传感器返回的值是否正确。唤醒后系统转屏功能是否正常。一般测试时设置系统自动进入休眠和睡眠的时间, 机器会自动进入休眠, 再进入睡眠。

(5) 热启动测试。重启设备 , 查看加速度传感器返回的值是否正确, 系统转屏功能是否正常。

(6) 冷启动测试。先关机 , 再开机 , 查看加速度传感器返回的值是否正确, 系统转屏功能是否正常。

以上各个测试点, 除了测试人员手动做测试, 还应该使用自动化工具, 如DOS脚本等进行压力测试。产品上市前应测试1000次无错误。

6 Windows WHCK 测试

WHCK测试是微软提供的一整套测试方案 , 系统通过了该测试才能申请微软的Logo。针对加速度传感器, 在搭建好测试环境后, 选择对应的测试节点, 可以进行一系列的自动化测试。测试中还涉及部分手动测试, 这部分测试测试人员需要按照工具运行过程中的提示信息对设备进行摆放。

因WHCK是微软设计的一整套测试方案, 所以相关测试人员在测试之前只需要按照微软提供的手册进行环境搭建。另外还需要一台机器作为WHCK的服务器, 以及稳定的网络环境。

7 用户体验测试

加速度传感器最重要的功能就是提供更好的用户体验。用户体验一般可以使用游戏进行测试。如飞盘 (frisbee), 铁路酷跑 (subway) 等。在游戏里设置使用传感器控制游戏, 模拟普通用户进行游戏, 测试游戏控制是否流畅。

同时转屏功能也是用户体验中一个重要的测试。转屏的流畅度, 反应速度都可以作为用户体验的测试点。

8 安全性测试

随着计算机的发展, 有些病毒已经可以修改固件中的代码。为了更好地保护知识产权, 对固件加密也变得非常重要。

对固件烧录的时候可以使用key进行加密, 然后再烧录。一旦烧录成功, 之后如果需要再次烧录, 就必须使用同样的key进行加密, 否则就无法烧录。如果有人强制读取固件中的程序, 因为是经过加密的, 没有相关解密工具, 读出来的数据也是无用的乱码。对于测试人员, 可以使用一个错误的key去加密, 然后查看烧写是否成功。

校正区域也可以进行加密。可以使用正确的key和错误的key进行校正后加密, 检查安全性是否可靠。

9 更新测试

每种跟新方法都需要经过相关测试。目前大多数固件都限制为只能由低版本升级到高版本, 如果设计为只能从低版本向高版本升级, 则还需拿低版本烧录, 并能提示用户当前版本为新版本, 不能进行版本降级操作。

10 结语

加速度传感器的黑盒测试涉及基本属性测试、值的正确性测试、连续读取的压力测试、不同系统状态切换时功能以及压力的测试, 用户体验, 认证, 安全性和更新等相关测试。

摘要:随着消费类电子产品得到越来越广泛的使用,消费类电子产品会越来越重视用户的体验。加速度传感器作为使用最广的传感器设备之一,在用户体验中起着关键性的作用,几乎所有的智能手机,平板电脑中都含有加速度传感器或者重力传感器。根据工作经验,介绍了Windows中加速度传感器固件的测试方法。

黑盒测试 篇7

为了提高程序设计语言在线评测系统的软件质量, 确保该系统最终能够满足教师和学生的各种功能需求。本文通过结合程序设计语言在线评测系统中几个功能模块的实例, 详细介绍几种黑盒测试技术在程序设计语言在线评测系统中测试用例的设计和应用。

系统功能简介

程序设计语言在线测评系统是一款以减少计算机程序语言教师作业批改工作量和提高学生学习程序语言效率的软件。整个系统的设计采用B/S模式以及MVC三层架构, 主要包含以下五大功能模块:第一、用户注册与登录模块。第二、学生在线答题与成绩查询模块。第三、程序在线评测模块。第四、教师试题录入与编辑模块。第五、在线疑难问题讨论模块。

黑盒测试技术

黑盒测试技术是软件测试的主要方法之一。由于在黑盒测试中, 主要关注于被测软件的功能实现而不是逻辑, 又叫做功能测试。测试人员不需要了解软件的具体实现方法, 不需要具备应用程序代码和编程语言等专业知识, 只需要了解程序的输入、输出和系统的功能, 从用户角度对软件界面、功能和外部结构进行测试。执行黑盒测试的人员通常是不同于系统开发人员的第三方, 他们可以依据系统的用户需求文档, 在软件实现工作的同时, 并行开展测试用例的开发工作, 最终达到缩短整个项目的开发周期的目的。

常见的黑盒测试技术主要包括有等价类划分测试法、边界值分析测试法、特殊值分析测试法、错误猜测测试法、因果图测试法和基于判定表的测试方法等等。

黑盒测试技术在程序设计语言在线评测系统中的典型应用

1. 等价类划分测试法

等价类划分测试法主要是指, 把输入的数据的可能值按照一定的标准划分为若干个具有一定共性的等价类, 而只需要在每个等价类之中抽取一个有代表性的元素来构造测试用例, 就是说只要该等价类中的一个测试用例测试结果正确, 就代表该类中所有测试用例的测试结果都正确。这种测试方法的目的一是大大降低测试用例直接的冗余, 二是期望进行某种意义上完备的测试。

对于等价类的划分一般又分为有效等价类和无效等价类。有效等价类主要是指那些符合系统的需求文档的正确、合理的“有效”输入值;而无效等价类则是指那些不符合系统的需求文档的错误、不合理的“无效”输入值。在设计无效等价类测试用例的时候, 为了避免遗漏掉某一类的错误, 通常要从多个不同的角度设置多个无效等价类, 并为每类设计测试用例。

在程序设计语言在线评测系统的登录模块中, 根据系统的需求文档, 使用该系统的登录人员主要有三类:学生、教师和管理员。各类用户凭借自己的用户名和密码进行登录。以学生用户为例, 学生以学号作为用户名进行登录, 学号通常是以“入学年份+班号+人头号”的数字形式出现, 假设该学校第一届学生入学是1994年, 班号以最多1 000个班为界, 从000到999用三位数字表示, 再假设每班人数不超过70人, 用数字00到69进行表示。对于学生用户登录的等价类划分如表1, 设计覆盖 (1.1) 到 (1.9) 的9个等价类的测试用例, 具体的测试用例见表2。

2. 边界值分析测试法

边界值分析测试法可以看成是对等价类划分测试法的一个补充。大量的测试经验表明, 程序的错误常常出现在输入变量的极值附近。因此, 在设计边界值测试用例的时候, 不同于在等价类划分测试法中取每一个等价类的典型输入值, 而是取每一个等价类中, 刚好等于、略微小于或是略微大于边界值的输入值作为测试数据。

仍然以程序设计语言在线评测系统中登录模块的学生用户登录功能为例, 补充之前的表2, 设计测试用例如表3。

3. 错误猜测测试法

错误猜测测试法是一种依据测试人员的经验和直觉, 对程序中可能会出现错误的地方进行有针对性测试的辅助测试手段。这种方法主要是通过对程序中有可能出现错误的地方进行“猜测”, 并将所有的错误类型列出清单, 再根据清单逐一设计测试用例的方法来实现的。

如果仍以学生用户登录功能为例, 可以设计测试用例用空值, 即无任何输入, 这样的输入也是会期望输出“输入错误”。又比如说在程序设计语言在线评测系统中程序评测模块中, 根据经验, 学生经常犯的编程错误有:一对花括号少写其中一个, 以及每一行程序后面没有加“;”等。可以根据这些常见错误, 有针对性的编写相应的测试用例进行测试。

黑盒测试 篇8

关键词:黑盒测试,等价类划分,用例

软件测试是根据软件开发规格说明和程序的内部结构而精心设计一组测试用例,并利用这些测试用例去运行程序,以发现程序中错误的过程.通过软件测试可以暴露软件中存在的错误和缺陷,从而提高软件的可靠性。特别地,随着软件规模和复杂性的不断提高,软件测试成本也不断增加,软件测试技术也越来越得到重视。如何实现用少量测试用例来实现高覆盖率的软件测试呢,基于等价类划分的黑盒测试技术能很好解决这个问题。

1 基于等价类划分的黑盒测试概述

1.1 黑盒测试概述

黑盒测试是使用规格说明,不要求考察程序代码,以用户的视角进行的测试,对于测试者而言,只要求有关被测试产品的功能认识,不一定了解系统内部逻辑,也不一定了解构建该产品所使用的程序设计语言,一般黑盒测试进行的是保证功能与兼容性测试。

1.2 等价类划分概述

等价类划分是一种基于黑盒测试的软件测试技术,用于确定少量能够产生尽可能多的不同输出条件的有代表性的输入值,这种方法可以减少用于测试的输入、输出值的排列组合,从而提高覆盖率,降低测试工作量。

等价类划分试图定义一个测试用例以期发现一类错误,由此减少所需设计测试用例的总数。在等价类的划分集合中,一般要确保两个特性,一是完整性,也就是说划分出来的子集合的并集是整个集合;二是不相交性,也就是说划分出来的子集合是互不相交的一组子集。还需要说明的一点就是,这些等价类中的测试用例会以与同样的方式进行“相同处理”。当我们考虑结构性测试时,将会看到“相同处理”映射到“遍历相同的执行路径”。

2 设计测试用例的步骤

2.1 等价类划分表的设计步骤

首先选择等价类划分的判断准则,根据次准则确定有效等价类,从划分中选择一个样本数据;根据给定需求(或规约)编写出预期结果,确定可能有德特殊值,添加到到用例表中;检查是否所有测试用例均给出了预期结果,如果对任何具体的测试不能给出明确的预期结果,可将其标注出来,并进行及时更正。

2.2 用例设计步骤

在测试用例的设计中,首先要按等价类划分表中的每个等价类确定一个唯一编号,其次是用例要尽可能多的覆盖尚未被覆盖的有效等价类,然后逐一设计仅覆盖一个还未覆盖的无效等价类的测试用例。

3 基于等价类划分的软件测试用例设计

3.1 规约:工资支付系统规约

工资支付系统允许员工以无纸化的方式来登记时间卡信息,并自动根据员工的工作时间和销售总额(对于有提成的员工)来生成用于支付工资的支票。员工可以通过该系统输入时间卡信息和交易订单信息,更改员工首选项(例如支付方式),并生成多种报告。该系统可以在每个员工的个人台式电脑或便携式电脑上运行。出于安全和审计的需要,员工只能访问和编辑自己的时间卡信息和销售订单信息。本文中仅对桌面系统登录验证模块进行测试,其余部分规约略去。

3.2 桌面系统登录事件分析

主事件流:当系统提示员工输入员工编号(ID)和口令(PW)时,用例开始。员工可以扫描卡片再按回车提交员工编号(ID),然后通过键盘输入口令(PW),并回车或点击确认按钮。系统就检查员工的号码和口令(PW)输入是否合法。如果是合法的,系统就显示员工的基本信息和可选操作,然后结束这个用例。

可选事件流:如果员工输入了一个不合法的编号(ID)或口令(PW),系统就显示错误消息,用户可以选择重新输入或取消,重新输入则回到主事件流,若取消则该用例结束。

可选事件流:如果员工输入的编号(ID)已过期或被禁用了,系统就显示提示消息,并记录该次登录事件,该用例结束。

可选事件流:如果员工连续3次输入不合法,则显示警告并锁定屏幕,进入等待管理员解锁用例。

3.3 工资支付系统等价类测试用例设计

3.3.1 工资支付系统员工基本信息表

对编号(ID)和口令(PW)的判断是基于数据库中员工信息的,假定员工基本信息表1如下(此表中只列出编号(ID)、口令(PW)、是否过期三项,其余项信息与本文关系不大,暂且略去)

3.3.2 桌面登录系统问题的等价类划分

在等价类划分中,一般是将程序的输入划分为若干个数据类,从中生成测试用例来实现软件测试。基于输入的等价类划分如表2所示。

3.2.3 桌面系统登录问题的等价类测试用例设计

3.3.4 基于输出域的等价类划分

从被测试程序的输出情况划分等价类(如表4所示),也可以作为等价类划分的标准,在这里就仅作一例证,不在详细说明。通常情况下,基于输出的等价类划分与基于输入的等价类划分结合起来使用,能更好地提高测试的覆盖率。

4 结束语

等价类划分测试是黑盒测试的重要技术之一,对软件功能测试、可靠性测试起关键作用。通过不重复同一个划分中的相同测试,可以最大限度地降低测试的冗余,结合一些专门的测试工具软件,能够实现对软件的进行合理、高效的测试。

参考文献

[1]韩丽媛.黑盒测试及测试工具Rational Robot的应用[J].计算机工程与设计,2006(2).

[2]浦云明,陈黎震.基于划分的等价类测试[J].计算机工程与设计,2009(19).

[3]范明红,汪志华.等价类测试与划分研究[J].计算机技术与发展,2010(7).

探究电路黑盒问题 篇9

探究电路黑盒问题, 就是利用多用电表对黑盒的外部接线柱进行测试, 然后利用测试的结果来判定黑盒内部元件的种类和电路的连接方式.在中学物理知识范围里, 黑盒内元件一般涉及有五种:电阻、电源、二极管、电容器、电感线圈.

一般地判断的依据如下:1.电阻为零, 则两接线柱由无阻导线短接.2.电压为零, 有下述可能性: (1) 任意两接线柱间电压均为零, 则盒内无电源; (2) 有的接线柱间电压为零, 则或两接线柱中至少有一个与电源断路, 或两接线柱间有电动势代数和为零的反串电池组.3.电压最大, 则两接线柱间有电源.4.正向和反向电阻差值很大, 则两接线柱间有二极管.5.有充、放电现象 (欧姆表指针先右偏转, 然后又回到左边“∞”刻度) , 则两接线柱间有电容器.6.出现电感现象, 如直流电阻很小且正、反相等, 通低频阻高频等特性, 则两接线柱间有电感线圈.

在分析和解答黑盒问题时, 还必须注意问题的多解性.因为不同的内部结构, 其外观的表现有时相同, 所以不仅答案多种多样, 而且在无条件限制时, 还可能有无数多解答.电路黑盒问题的这一特点对培养思维能力具有特殊的意义.

黑盒问题的题型一般可分四类:一是纯电阻黑盒、二是纯电源黑盒、三是电阻和电源黑盒、四是任意混合黑盒.下面让我们结合具体的例子来探究电路黑盒问题的解题思路.

一、纯电阻黑盒

例1 如图1所示, 一只盒子里装有由导线和几个阻值相同的电阻组成电路, 盒外有接线柱1、2、3、4.已知1、2间的电阻是1、3间电阻的1.5倍, 是2、4间电阻的3倍, 而3、4间没有明显的电阻.欲使盒内电路所含电阻数最少, 请画出盒内的电路图.

解题思路:本题的求解可按如下步骤来进行:

1.因3、4间没有明显的电阻, 可以将3、4间短接, 如图2 (a) 所示.

2.据题意, 可得R12R13=32R12R24=3, 由此可知:1、2间所接的电阻数最多.考虑黑盒子内电阻数目最少的条件, 猜想1、2间串联3只电阻, 如图2 (b) 所示.

3.再据关系式R12R13=32R12R24=3, 推测当1、2间接3只电阻时, 2、4间应接1只电阻, 1、3间应串联2只电阻.据此修改图2 (b) 猜想, 得到图2 (c) 的电路模型.

值得指出的是, 图2 (c) 只是满足题设条件的一种电路模型, 它不是唯一的答案, 如图2 (d) 所示的电路模型也是符合题意的.求解时, 应大胆进行猜想, 对多种可能的答案进行比较和取舍.

二、纯电源黑盒

例2 如图3所示, 盒内有由导线和三节干电池组成的电池线路, A、B、C、D是四个接线柱, 用电压表测量任意两点间的电压, 测量结果如下:UAC=0, UBD=UAB=UCB=1.5V, UAD=UCD=3V.试判断盒内电池是怎样连接的.

解题思路:我们可采用前面类似的方法, 把各点之间的电压标在原图上, 然后采用最简单、直接的方法去实现目标.初次画出的图如图4 (a) 所示, 由于A、C间的电压为零, 画成一条短路导线, A、B和B、D之间各接一个电池, 这样的电路已完全符合所要求的测量结果, 但这不是本题的答案, 因为本题说盒子内有三个电池.在图4 (a) 的基础上再放一节电池是可以的, 若把这节电池并联在A、B之间或B、D之间, 如图4 (b) 和图4 (c) 所示, 这才是本题的两个种解.

其实本题还有另一种形式的解, 如图4 (d) 所示, 将A、C断开, 在C、B之间接上一电池, 这样在A、C之间由于两节电池接法相反, 所以测得电压为零, 这个电路也完全符合题设的要求.

三、电阻和电源黑盒

例3 如图5所示, 盒内由电池、导线和电阻R1、R2组成电路, 1、2、3、4是对外的四个接线柱.若已知R2=3R1, 电池的电动势为E, 内阻不计, 并测得U12=E, U24=0, U13=U34/3, 则盒内电路如何?

解题思路:因为盒内由电池、导线和电阻R1、R2组成电路, 且电池的电动势为E, 内阻不计, 当测得U12=E时, 可知其为路端电压, 以此推测1、2两接点间可能存在电源, 亦可能存在R1、R2两个电阻;由U24=0可知2、4两接点间为一根导线;由U13=U34/3可知, 1、3和3、4两点间都有电阻, 结合R2=3R1的数值条件, 可知1、3两点间应为电阻R1, 3、4两点间应为电阻R2.综合以上分析, 可判定盒内的电路如图6所示.

四、任意混合黑盒

在探究电阻、电源、二极管、电容器、电感线圈任意混合的电路连接时, 我们一定要先用电压挡探明盒内是否含有电源, 在明确判定盒内无电源后, 再用欧姆挡去探测盒内还含其它哪些元件或电路的连接方式 (自己想一想, 为什么?) .

例4 如图7 (a) 所示, A、B、C、D为一个电学黑盒的四个接线柱.已知A、B间没有直接接入任何电学元件, A、C间、C、D间和B、D间分别接入一个电学元件.某同学用一只多用电表和一个连接着灯泡的学生电源如图7 (b) , 依次对黑盒进行如下操作:

(1) 用多用电表的直流电压挡测量A、B、C、D任意两点之间均无电压.

(2) 用多用电表的欧姆挡对A、C接线柱进行正、反向测试, 发现欧姆表的指针均先摆向“0Ω”端, 再反回来退到“∞”端, 且越退越慢;C、D间的正、反电阻相同且都很小;当黑表笔接B点, 红表笔接D点, B、D间的电阻很小, 反之电阻却很大.

(3) 将如图7 (b) 中的学生电源拨到直流挡, 将E、F分别接D、B时, 灯正常发光, E、F分别接D、B时, 灯不亮;将E、F分别接C、D和D、C时, 都能看到灯是逐渐亮起来;将E、F分别接A、C和C、A时, 灯均不亮.

请根据以上叙述, 画出黑盒内的电路图.

解题思路:1.由步骤 (1) 知:黑盒内无电源.

2.用多用电表的欧姆挡对A、C接线柱进行正、反向测试, 发现欧姆表的指针均先摆向“0Ω”端, 再反回来退到“∞”端, 且越退越慢;又学生电源拨到直流挡, 将E、F分别接A、C和C、A时, 灯均不亮.说明A、C间接有电容器.

3.用多用电表欧姆挡的黑表笔接B点, 红表笔接D点, B、D间的电阻很小, 反之电阻却很大 (用欧姆挡测量时, 黑表笔连接的是欧姆表内电源的正极, 电流从黑表笔流出, 从红表笔流进) ;又学生电源拨到直流挡, 将E、F分别接B、D时, 灯正常发光, 分别接D、B时, 灯不亮.说明B、D间接有二极管, 且B端接二极管的正极.

4.用多用电表欧姆挡, 测得C、D间正、反电阻相同且都很小;又学生电源拨到直流挡, 将E、F分别接C、D和D、C时, 都能看到灯是逐渐亮起来.说明C、D间接有电感线圈.

综上分析, 黑盒内的电路图如图8所示.

总之, 电路黑盒问题的一般解题思路是:先根据已知条件和测试结果, 确定出元件的种类 (有时元件已知) , 然后运用电路规律, 通过猜想、论证、修改, 发挥由果推因的逻辑推理能力和逆向思维能力, 确定出黑盒内电路的连接方式.

浙江省天台市三合中学

上一篇:评价数学试卷下一篇:挑战生成智慧