教学方法与测试

2024-07-08

教学方法与测试(精选12篇)

教学方法与测试 第1篇

关键词:系统设计,调试,系统模型,断点

系统设计在经过了系统分析、系统设计、系统实施阶段后, 便有了一个完整的应用系统。但设计一个系统的目的是为了应用, 设计过程所做的全部工作都是为了让系统能够正常运行, 且运行结果正确, 满足用户的需求。因此, 应用程序设计完成后, 虽然语法上已无错误, 但可能在逻辑上存在错误, 不能实现其设计功能, 所以还要进行关键的调试运行工作。下面, 就本人开发的《企业合同管理系统》的工作实践, 总结其调试步骤及方法如下 (以使用Power Builder为例) 。

一、系统调试步骤

1. 程序调试

内容包括程序的语法调试和逻辑检查。在逻辑检查之前, 需要编造测试数据。测试数据除采用正常数据外, 还应该编造一些异常数据和错误数据, 用来考验程序的正确性和可靠性。

(1) 用正常数据调试。程序能否完成系统所要求的各种功能;写入文件的各项记录是否正确 (包括首/末记录) ;输出的数据是否正确, 是否有遗漏;各项检验测试是否正确。本系统经过这项工作后, 尚难以确定应用程序运行的正确性。

(2) 用异常数据调试。例如用空数据文件去进行测试, 检查程序能否正确运行。本系统经过这个阶段的测试, 进一步验证程序的运行是否正常。

(3) 用错误的数据调试。试验应用程序对错误的处理能力, 包括显示出错信息以及允许修改错误的可能等。输入数据错误时能否及时查出或发出出错信息, 并允许修改;操作错误时能否及时查出或发出警告信号, 并允许修改。经过运行调试, 本系统基本具备上述功能。

2. 功能调试

系统的应用软件是按处理功能划分成模块的, 一个处理功能模块由一个或多个程序段组成。所以, 在单个程序段调试成功后, 还需要对其功能模块进行调试, 即将一个功能模块包含的所有程序段按逻辑次序串联起来调试。这种测试的目的主要是保证内部控制关系和数据内容正确, 同时测试模块的运转效率。

3. 总调

(1) 主控制程序和调度程序调试。这部分程序的语句不多, 但逻辑控制复杂。调试时将所有的控制程序与各功能模块相连的接口 (界面) 用“短路”程序替代原来的功能模块。所谓“短路”程序, 就是直接送出预先安排计算结果的联系程序。调试目的不是处理结果的正确性, 而是控制来往通路和参数传送的正确性, 发现并解决资源调度中的问题。

(2) 程序的总调。经过功能模块和控制与调度程序的调试, 即可开始整个系统程序的总调。对系统各种可能的使用形态及其组合在软件中的流通情况进行可行性测试。这一阶段最容易查出系统中属于相互关系方面的错误和缺陷。进行系统程序调试时, 通常采用“系统模型”法来解决如何编造最少量输入数据达到较全面检查软件的目的。采用这种方法所输入的数据是经过精心选择的。数据量较少, 不仅可以使工作量大为减少, 而且也更容易发现错误和确定错误的范围。但系统中的数据库或文件是真实的, 调试中要严格核对计算机和人工两种处理的结果, 通常是先校对最终结果, 发现错误再返回到相应中间结果部分校对, 直到基本上确定错误范围。总调测试通过以后, 还需要进行实况测试。实况测试以过去原系统手工操作方式得出正确的数据作为新系统的输入, 由计算机处理后, 将所得到的结果与手工作业结果相核对。这一阶段, 除严格校对结果外, 主要考察系统的运转合理性与效率, 包括可靠性 (作业处理的成功率是否高) 。

二、调试的一般方法

1. 使用断点

断点是在程序逻辑中作的标记, 设置断点可使程序在需要的地方自动停止执行。使用断点要做以下的准备工作:设置并清除断点、从断点进入中断模式。

2. 使用stop语句

PB执行到s top语句会自动暂停程序并切换到中断模式, 插入stop语句就相当于设置断点。但是, 程序中设置的断点在程序加载时会自动清除, 而stop语句却一直存在。因此, 调试完成后要手工清除所有的s top语句。

3. 控制程序的运行

调试的最重要部分就是控制程序的运行。如果程序只运行一条语句, 那么要确定哪一部分有问题就相当容易了。为此, 我设计了如下响应步骤:逐个语句执行、整个过程执行、从过程中出来、绕过部分代码、设置下一条执行的语句。

4. 直接查看变量的值

调试程序时, 经常要查看某些变量的值。PB提供了一个非常简单的方法, 只要将鼠标停留在要查看的变量上, 稍停一会就会弹出一个小方框。通过小方框, 就可以了解变量的值。

5. 通过本地窗口查看变量的值

通过本地窗口, 可以显示当前过程中所有变量的值, 要打开本地窗口, 请选择“视图”菜单的“本地窗口”。本地窗口仅显示当前过程中变量的值, 当程序的执行从一个过程切换到另一个过程时, 本地窗口上的内容就会发生变化。

(1) 监视表达式与监视窗口。监视表达式是一种中断表达式, 当监视表达式的值改变或者等于一个特殊值时, 程序的执行就会进入中断模式。添加监视表达式、监视窗口。

(2) 立即窗口。输出信息到立即窗口、直接从立即窗口打印、从立即窗口设置变量或者属性的值、从立即窗口测试过程、检查错误号。

按照前面讲的调试方法和步骤, 对系统进行调试。先采用逐句法进行检查, 然后逐个过程调试。在调试的过程中遇到了不少错误, 它们或是语法错误, 或是编译错误, 或是执行结果不符合预定的要求, 最终系统调试成功, 完全正常运行。

参考文献

教学方法与测试 第2篇

< manifest xmlns:android =“schemas.android.com/apk/res/android”

package =“cn.ycmoon.test.activity” android:versionCode =“1”

android:versionName =“1.0” >

< uses-sdk android:minSdkVersion =“8” />

< application android:icon =“@drawable/icon” android:label=“@string/app_name” >

< uses-library android:name =“android.test.runner” />

< activity android:name =“.MainActivity” android:label=“@string/app_name” >

< intent-filter >

< action android:name =“android.intent.action.MAIN” />

< category android:name =“android.intent.category.LAUNCHER” />

< instrumentation android:name =“android.test.InstrumentationTestRunner”

android:targetPackage =“cn.ycmoon.test.activity” android:label=“Testing” />

说明:1、在Application节点中Activity前添加

2、在Application节点的添加

二、在相应包中编写要完方法,

三、在src同级级目录中添加一个test文件夹[可自定义],并在下建立和项目一致的包名: cn.ycmoon.test.activity

四、在要进行单元测试的方法上右键->NEW->JUNIT Test Case,

Android 单元测试方法与步骤

弹出下界面:

选择 SuperClass为:    点击下一步,选择要测试的方法:    点击完成。

将新产生的单元测试的类放入test/项目包名下。

在单元测试方法中添加实现:    展开test/cn.ycmoon.test.activity下单元测试类,选择要测试的方法,点右键,选择Run As->Android JUnit Test,就会打开单元测试结果界面。

粉盒品质控制项目与测试方法 第3篇

设计功能品质控制

1.开盒力测试

开盒力是指消费者打开粉盒的力度,其大致分为两种:一种是打开带有前钮、卡笋、按钮结构粉盒的力,用推力表示;另一种是打开无前钮类、盖底直接卡合粉盒的力,用拉力表示。一般,开盒力主要取决于配合钩子的过盈配合量,配合钩子的角度是影响开盒力的重要因素,当然开盒力也与粉盒的材质有相当大的关系。

测试仪器:推(拉)力机。

测试方法:将粉盒固定在推(拉)力机的平台上,以一定速度施力,直至粉盒打开,此时的数值即为开盒力。不同地区和国家对开盒力的要求也不 同,欧美地区要求拉力以2.94~11.76N为宜,推力以4.90~19.60N为宜;而亚洲人用力相对较小,拉力以1.96~9.80N为宜,推力以2.94~4.90为宜。

2.跌落测试

一般情况下,根据粉盒的材质或大小设定跌落高度,硬性、易碎材质的粉盒,以70cm高度垂直跌落至坚硬地面且无部件分离和破裂现象为合格(粉盒打开视为正常现象)。跌落测试与产品及模具设计有密切关系,要注意避免产生应力;部件的牢固度则与所选材质有关。

由于塑胶材质的粉盒性能会随温度变化而改变,因此,此类材质的粉盒在进行跌落测试之前应先进行温湿度循环,即先在高温(55±5℃)环境下放置至少16小时,再在低温(-20±1℃)环境下放置至少16小时,最后在室温(21±2℃)环境下放置8小时。

3.抗压测试

抗压测试主要检测粉盒在关盒状态下的抗压能力,与所选材质的韧性和产品结构有关。

测试方法:粉盒经温湿度循环后,将一块直径为20mm的平板固定在推力机的作用头上,将另一块直径为20mm的平板固定在推力机的中心位置,然后将粉盒正面朝上居中置于推力机上,最后推力机以100mm/min的速度施加压力到规定值,以粉盒到达规定负载时没有破损为合格。

4.后钮(绞链)强度

后钮(绞链)强度是指粉盒在打开状态时,后钮部位能够承受的最大力度,与后钮钉周围的塑胶厚度、应力有较大关系。

测试方法:粉盒经温湿度循环后,将其打开并固定在固定装置上,并置于推力机的平台上(如图1所示),然后推力机以100mm/min的速度冲击粉盒后钮,直至粉盒后钮破裂,此时的数值即为后钮(绞链)强度。

5.后钮(绞链)松紧度

后钮(绞链)松紧度是指粉盒打开时后钮部位的顺畅程度,以及镜盖能否在使用角度内停留。其与粉盒后钮钉的直径、材质,以及部件组装针孔大小有直接关系。从设计上应考虑钉与孔的过盈量,以保证后钮(绞链)松紧度适宜。

测试方法:将粉盒在实验室温度下放置8小时后置于水平检测台上,打开镜盖,并停留在45°的角度,以镜盖在规定时间内不关盒为合格;再将粉盒模拟开盒200次,观察粉盒后钮钉是否存在移位、磨出粉末等不良现象。

6.部件组装牢固度

部件组装牢固度是指两件式组装(超音焊接或卡合)的粉盒经运输及消费者使用后,仍能保持正常状态。

测试方法:粉盒经温湿度循环后,将粉盒其中一个部件固定在拉力机的平台上,另一个部件用吸盘、无弹性细绳或胶带固定在拉力机的钩子上,然后以165mm/min的速度使拉力机平台下降,直至粉盒达到所需拉力或部件分离。

因结构因素而无法采用上述方法测试的粉盒,可将其从1m高处自由跌落至坚硬地面1~3次,以验证其部件组装牢固度是否足够。

装饰性能品质控制

为了达到吸引消费者眼球的目的,大多数中高档粉盒会使用不同的工艺进行装饰,常见工艺有印刷、电镀、烫金等,这些工艺的性能测试备受包装企业的关注。

1.装饰附着性

装饰附着性是为了确保装饰层经运输和使用后不会发生退色现象。

测试方法:将完成装饰的粉盒放置24小时后,用6齿梳子划出25个1mm2的小方格,将测试胶带(3M或NICHIBAN)平贴于小方格上,抚平并停留1min,再将测试胶带以45°~90°的角度大力拉起,以剥离面积小于规定值(根据所选材质和工艺的不同而定)为合格。

剥离面积的计算方法:1个小方格剥离,即剥离面积为1/25(4%);3个小方格剥离,即剥离面积为3/25(12%),以此类推。

2.耐磨损测试

耐磨损测试是指模拟随机的摩擦现象以及发生在消费者手提包中的机械振动现象。

测试方法:将粉盒放入滚筒(如图2所示)中,按每个粉盒加入20±0.5g铁质填充物的比例,将滚筒动作时间设置为5min,完成动作后取出粉盒,用细小水流将其表面清洗干净,再用软纸巾擦拭干净,然后小心地将测试胶带贴在装饰部位,并用手指压平,1min后将测试胶带以45°~90°的角度大力拉起,将剥离程度与规定剥离限度的样品进行比较,剥离程度小于预定限度为合格。

3.耐光测试

耐光测试是指将粉盒暴露在模拟辐射光源下或存放在展示柜的日光灯反射光源下,粉盒的颜色变化不超过规定的颜色要求。

测试方法:将粉盒置于耐光测试设备(设备结构如图3所示)中24小时,与未经耐光测试的粉盒进行比较,其颜色变化不能超过预定限度为合格。

4.气味测试

使用表面装饰涂料、油墨等材料的粉盒,一旦固化不彻底,容易在热作用下产生难闻气味。

测试方法:将烤箱温度设定为37±2℃,然后将粉盒放入一个5L的密闭玻璃容器(或适合产品尺寸的容器)内,盖紧盖子,在烤箱中放置24小时后,从烤箱中拿出粉盒,并立即打开盖子,尽可能快地闻气味,通常是与以前同类产品测试结果进行比较,气味在可接受范围内即可。

抵御物流环境的品质控制

物流环境是在粉盒开发设计阶段普遍被忽略的因素,如果粉盒结构设计强度与运输包装材料的抗环境冲击力小于物流环境因素的作用力,粉盒就会受到破坏;反之,可能会导致粉盒过度包装。为了达到实际操作上的平衡点,建议根据物流环境因素来分析。

物流环境因素主要包括两大方面:一是运输过程中的跌落冲击,陆(空)运过程中的振动,存储时的堆叠,长距离运输过程中的环境温湿度和压力变化等;二是高低温环境对粉盒尤其是塑胶粉盒性能产生的影响。

根据上述物流环境因素,给合实际案例,可将以下几项测试项目作为开发新产品的参考依据。

1.温度测试

测试方法:以出口欧美市场、采用海运时最高温度为57.3℃为例,在该运输温度条件下,产品的基本性能(如部件组装牢固度等)是否下降。

2.振动测试

测试仪器:振动测试仪、带有水平侧边的振动平台、满足旋转或垂直水平负载运动的机构、可调整速度/频率的振动发动机。

测试方法:将产品包装箱以正常的运输方位置于振动平台上,并将振动速度设定在250rpm或等同的9.8m/s2加速,持续振动1小时;在没有测试仪器的情况下,可进行模拟运输测试,以江浙沪公路状况为例,要保证不低于200公里的运输路程。

3.跌落测试

测试仪器:跌落测试仪。

测试方法:从0.76m高处跌落至坚硬地面,分别对产品包装箱的底平面、顶平面、长侧面、短侧面、胶黏结处的底角、短底边进行跌落测试。

4.产品变量测试

从粉盒成品下线到消费者实际使用,受各种物流环境因素的影响,粉盒相应的功能性品质会产生一定变化,我们称之为“变量”。

测试方法:在温度为60℃、湿度为70%的环境下,在面积为0.25m2测试平台上放满粉盒测试样品,并在10kg的重量下加压48小时。

实际上,对粉盒品质控制项目的选择,一般都会按照不同的结构和加工工艺来确定。总之,包装企业应以消费者的舒适度为宗旨,对粉盒进行合理的品质控制,并确定相应的品质控制项目,这样才能找到粉盒品质和成本之间的平衡点。

语言测试与英语教学 第4篇

关键词:信度,区分度,语言测试

一、测试的信度

Bachman在1990年说过:“为了使测试的得分有效, 测试就必须可信。”[1]假使有一百名学生在星期二下午两点参加一个有50个选择题的完型测试。 对于学生而言, 这次考试可能很难, 也可能出奇的简单, 因此他们不可能都打零分或得满分。然而如果他们没有在本星期二参加考试而是在上个礼拜三下午两点考的, 那结果会怎样呢? 我们能期望参加两次考试的每个学生都得到的一模一样分数吗?答案肯定是“不”。即使我们假定这次测验非常成功, 管理条件几乎相同, 得分也不需要有任何判断, 整个考试过程完美地完成, 在隔一天之后, 考生们也没有忘记昨日考察的东西, 然而我们还是无法期待考生们在周三和周二得到同样的分数。人类就是这样, 即使是在同样的情况下, 人们行为的结果也是无法保证一致的。如果问题是这样, 似乎我们无法完全信任任何一种考试。我们知道如果考试的日子提前或推后一天, 考试的得分会不同。那么如何才能使一份考卷具有它的信度呢?这就需要我们做信度分析。

测验信度越高, 则表示测验结果越可信, 但无法保证两次测验的结果完全相同, 因为信度除了受测验者自身情况的影响外, 也受到其他很多外在因素的影响, 因此也可以说没有哪一份测验是完全可信的。信度的作用只是在某种程度上减少其差异性。那么就需要人们对测试进行构架、执行和评分。无论在任何时候, 对相同的学生进行同一测试后, 得到相差无几的结果时, 则表明这次测验的信度高, 得分越相似, 那么测试的结果越值得信任。

1.检验完型填空信度的方法

(1) 再测验法

最简单的评估完型填空信度的方法就是再测验法:同样的完型题再次让同样的受测者来做, 在不同的时间, 前后测试两次, 求出两次分数的相关系数。“信度通常以两次测试结果的相关系数来表示, 这个相关系数称为信度系数 (coefficient of reliability) ” 。[2]相关系数越高, 则测验的信度越高。另外, 前后两次测验间隔的时间要适当, 中间的间隔不超过两周。如果两次测验的间隔时间太短, 受试者的分数通常会很高, 影响了信度;如果测验的间隔时间很短, 可以通过增加题的数量来避免信度的降低;如果两次测验时间间隔太长, 受测者也可能由于内在或外在因素影响稳定性, 导致稳定系数减低。

下面是此种方法所用的一个表达式:rtt=r1, 2此中, rtt=信度系数, r1, 2=同样的人参加同样的考试在两次不同的时间所得分数之间的相关性。

(2) 平行法 (Parallel- form method) , 又称对等法 (Equivalent-form method)

两份试卷的内容和形式相似, 难易程度相当, 对同一组受试者进行测试, 第一次用完型测试题A, 第二次用完型测试题B。每位学生将会有两个分数, 然后求出两组分数之间的相关系数, 即信度系数。这种信度主要是测量分数的对等性或稳定性。平行法由于受受测者记忆效用的影响较小, 所以误差的相关性要比再测验法低, 是一种测量信度的好方法。可是要想编写出难点等价、形式等价和所分配时间也等价的两份试卷并不容易。 一般来说, 为衡量信度而使用平行法的这个过程要针对于同组人, 同样时间并把所得结果的关系以下面的公式表示出来:rtt=rA, B此中, rtt=信度系数, rA, B=当同一时间给同样的人做完型测试题A与完型测试题B所得结果之间的相关性。

实际上, 满足以上的等价条件几乎是不可能或很困难。因此, 试题的设计者通常使用拆半方法去评估试卷的信度。

(3) 折半信度法

在无法进行再测验法或平行法时, 而完型填空测验的信度又必须得到评估时, 通常采用拆半信度。此种情况, 信度是由完型填空测试结构自身而定的。评估其信度的途径被称为拆半信度, 通常需要20个选择题, 每一受试者得两分。一个是所有奇数项的一分;另一个是所有偶数项的一分。用奇偶法折半计算出每个分量表一、七部分的相关系数及每个分量表的信度。为了通过拆半信度方法获取完型测试的信度系数, 我们要完成如下两个过程:

第一步, 通过以下公式得到完型测试两部分 (奇数项与偶数项) 的相关系数:

rA, B=ΝAB-AB[ΝA2- (A) 2][ΝB2- (B) 2]

此中, rA, B=测试中一半考题的得分与另一半考题的得分的相关性。 N =参加考试的人数, ∑A=奇数项的总得分, ∑B=偶数项的总得分。

第二步, 通过史—布预占公式来得到整个完型测试题的信度系数:

rtt=2×rA, B1+rA, B

此中, rtt=整个测试题的信度系数, rA, B=测试中一半考题的得分与另一半考题的得分的相关性。

确保测试具有极高的信度是测试的开发人员永远要追求的目标, 但这一理想化的目标是不容易做到的。另一方面要认识到“语言测试的一个首要功能就是帮助我们作出一些判断:一个人能做什么以及他能做得怎么样”。这种语言测试的信度是为了大学英语教学的发展而服务的, 而不应当使其成为教学的目的。所以, “考试的设计者为了使考试更具有科学性, 更符合一些质量标准而积极地追求信度, 从而牺牲了效度”的做法是不可取的。要想提高英语教学的质量, 使其更符合素质教育要求, 使这种测试体系的信度逐渐提高, 通过上述方法使其尽可能成为一个好的测试系统。正如Heaton指出的, “假如这是一个好的测试系统, 那它会对教学带来有利的影响; 但是假如这是一个不好的测试系统, 那它会对教学产生破坏作用”。[3]

二、完型填空的区分度

区分度指一个题目区分考生能力的程度。区别度是“评估完型填空中每一项选择题的质量指标。它是指完型填空中的每一个选项所能区别不同学生的鉴别力度和反映受试者个人水平的区分力度。有时测试题的重要一面就是看它能否区分不同的受试者并反映出本组受试者表现的不同之处。”[2]

例如, 针对于完型测试中的一项而言, 所有有能力的受试者都能回答正确, 而其他人都回答错误, 那么这项选择题就具有很强的区别能力。相反, 如果所有有能力的人都回答错误但是没有能力的人却都答对了, 那么这项选择题的区别力就很差, 也就是说这个选项无法区别学生的类型, 它没有区别和鉴定的作用, 需要进一步改进。

一种计算完型测试项目的区分度的方法如下所示。首先, 把一个有20项的完型测试题 (总分是20分) 给40个人来做;然后得到每个受试者的分数并把分数分成级别;最后参考以下公式得出本次测试题中某一项的区分度指数。

D=ΗcΗc+Lc

此中, D=区分度指数, Hc=答对某一项且得高分的受试者的人数;Lc=答对某一项且得低分的受试者的人数。

如果Hc是7, Lc是4, 其结果, 某一项的区分度指数是:

D=77+4=0.65

区分度指数存在于0至+1.0之间。数字越大, 区别度越高。一般认为, 0.5 是可接受的区分度指数的最低值。“作为一种科学的检测工具, 语言测试始终为语言教学服务, 撇开语言教学来讨论语言测试 是没有意义的”。[4]

三、总结

对完型测试的评价是对测试质量的研究, 对测试所得分数起到解释的作用。对测试的评价是通过三个方面完成的:效度、信度、区分度。其中信度是指测试结果的稳定性。对于一个完型测试题而言, 为了使其更可靠, 测量方法就得保持一致。当然测量信度的方法很多, 其中被广泛使用的一种是拆半信度。一项测试的区分度指数表明这一项区别受试者能力的程度, 并具有能把能力差的候选人从中区别出来的作用。所以, 一个具有极高信度和极高区分度的测试题才被认为是一份好的测试题。

参考文献

[1]BACHMAN, F.LYLE.Fundam ental Considerations in Language Testing[M].Oxford:Oxford Un iversity Press, 1990.

[2]刘润清, 韩宝成.语言测试和它的方法[M].北京:外语教学与研究出版社, 1999:218.

[3]HEATON J.B.W riting English Language Tests[M].北京:外语教学与研究出版社, 2000:165.

软件测试技术与管理方法探讨论文 第5篇

2下面简介软件测试的过程

2.1模块测试

模块测试主要针对软件设计中的程序模块,通过测试技术测试程序块是否正确,模块测试的主要目的是测试程序内部的错误,根据程序设计的结构检查代码和程序是否合理,是否符合设计思路和理念,是否能够正常运行。

2.2组装测试

在模块的基础上,需要将所有模块的功能全部测试完成后组装成为系统,组装测试的目的在于,连接所有模块之后,模块之间的接口、触发器是否能正常运行,并且计算显示的数据是否正确,模块之间的功能是否互相冲突,是否达到预期的目的和结果显示,是否构成正确的、预期的数据结构。不同模块之间的误差有多少,有多少可以解决,有多少不能解决。

2.3确认测试

确认测试的目的是验证软件的功能和特性是否达到预期的愿望,是否能按照预期的组织结构、系统结构、用例分析和时序分析运作,并且进行验收测试和安装测试。

2.4系统测试

系统测试是确认软件是否与硬件互相支持,是否能满足软件使用者对软件的需求和操作简便的愿望,比如说查询模块运行完后界面中查询条件应该为查询之间输入的查询条件。系统测试保证了系统的正常运行,另外很重要的就是权限测试,系统在研发之初定义的权限信息和权限功能是否实现,是否发现软件成品与软件定义不符合或者矛盾。

3软件测试技术的地位

软件测试方法的分析与研究 第6篇

【关键词】软件测试;测试方法;黑盒测试

【中图分类号】TP306 【文献标识码】A 【文章编号】1672-5158(2013)03-0026-01

随着软件产业的迅速发展,软件产品的质量已成为软件企业生存与发展的关键。软件缺陷自软件诞生的那一日起就跟随着出现,软件测试就应运而生。随着软件内容和结构的不断丰富,软件缺陷也日趋多样化,引起更为严重的质量问题。软件测试方法的研究正是本着提高软件质量,降低软件缺陷的影响。随着人们对软件质量的重视,软件测试也不断得到加强和持续发展。

1、软件测试的定义

软件测试应该是以查找软件缺陷为目标的一种过程,测试用例设计和缺陷管理是软件测试中提高缺陷查找效率和缺陷处理效率的两个有效手段。软件测试依靠的是强大的逻辑和条理性来完成工作,也同时存在着一定的风险。软件的应用形式多样,输出和实现功能的方式也不止一种,而产品设计中缺乏客观的标准,就使得软件缺陷的标准也变的多样,没有任何一种方式能够对软件进行完全测试。这样,就无法通过软件测试显示隐藏的软件缺陷,只能尽量查找软件缺陷,找到的软件缺陷越多,说明软件本身的缺陷就越多,同时尚有在测试过程中被发现和断定的缺陷,这也是软件测试的局限性。

2、软件测试的基本方法

软件测试过程包含几个阶段:测试需求的分析和确定;测试计划;测试执行;测试记录和跟踪;回归测试;测试总结和报告。狭义的测试是指在代码编写完成后对代码进行测试,而广义的测试开始于需求阶段,伴随着设计、实现阶段。如测试需求规格说明书,测试设计框架等。可以从不同角度来划分软件测试方法。

2.1静态测试和动态测试

软件测试从是否需要执行被测软件的角度,可以将软件测试分为静态测试和动态测试。静态测试是指依据需求规格说明书、软件设计说明书、源程序做结构分析、流程图分析、符号执行,对软件进行分析、检查和测试,不实际运行被测试的软件,约可找出30%到70%的逻辑设计错误。这种方式不通过程序运行就能够寻找代码中的缺陷或对程序中的代码进行评估,可以由人来操作,发挥了人的逻辑思维的优势或测试经验,能够批量性地发现问题,并直接定位到缺陷或错误的具体位置。静态测试可以分为静态分析和代码走查。静态分析是一种计算机辅助静态分析方法。主要对程序进行控制流分析、数据流分析、接口分析和表达式分析等。静态分析的对象是计算机程序,程序设计语言不同,相应的静态分析工具也不尽相同。代码走查是一种人工测试方法,它一般依靠有经验的程序员根据需求分析、设计规格等来执行。动态测试是指通过运行软件来检验软件的动态行为和运行结果的正确性。动态测试有两个基本要素:被测试程序和测试数据。

必须生成测试数据来运行被测试程序,取得程序运行的真实情况、动态情况,进而进行分析测试质量依赖于测试数据。

2.2黑盒测试、白盒测试、灰盒测试

从测试是否针对系统的内部结构和具体实现算法来看,可以将软件测试分为黑盒测试、白盒测试、灰盒测试。

黑盒测试又称功能测试,数据驱动的测试或者基于规格说明书的测试。黑盒测试可以从软件的功能为起始,根据功能的需求说明测试所用的方式,并依据该方式的需求来运行被测试的程序。从名字上来解释,就是将软件看成是不透明的黑盒子,对于盒子内部的结构不理会,只关注软件的实用功能,并对这些功能进行测试。

白盒测试又称结构测试,玻璃盒测试或基于覆盖的测试。相比较于黑盒测试,它更关注于软件内部逻辑结构,其测试的重点是测试用例的覆盖程序结构的程度。白盒测试,是将软件比作透明可见的盒子,测试人员可以根据程序内部的逻辑结构来设计测试用例,来测试程序的逻辑路径。

灰盒测试,也称跟踪法测试,是指介于白盒测试和黑盒测试之间的一种测试方法,它关注输出对于输入的正确性,同时也关注内部结构形式的程度,它跟踪程序的运行过程,特别是输入数据在程序中的“流程”。比如,测试人员输入数据后,软件会将其转换为代码并通信至服务器,服务器经过一系列的处理,将数据传送给客户端,并最终显示给测试者。灰盒测试能够对整体的过程进行追踪,对每一步的数据进行测试。。但较白盒测试而言,灰盒测试没有深入解析程序的结构,但也不像黑盒测试那样只关注输入和输出,它也关心程序中间的某些流程是否正确。

3、软件测试用例设计

传统软件测试用例设计是从软件的各个模块的算法细节得出的,而面向对象的软件测试用例则着眼于适当的操作序列,以实现对类的说明,主要有基于故障的测试、基于脚本的测试和类层次的分割测试等形式。

3.1基于故障的测试

软件系统最终是以实现用户的需求为目的的。基于故障的测试是从模型分析开始,逐步来测试软件可能发生的故障,为了确定故障的类型和存在方式,一般设计用例去执行代码。基于故障的测试核心问题是测试者怎么来判定错误的性质。“可能的错误”可以是意料之外的结果,不正当的操作,错误的引用等。如果是操作不当引起的错误或故障还需要对操作进行检查,排除操作因素引起的故障。这种方法除用于操作测试外,还可用于属性测试,确定其对于不同类型对象行为是否赋予了正确的属性值。

3.2基于脚本的测试

基于脚本的测试主要关注用户的需求,并从用户任务中找出用户要做什么及去执行。这种基于脚本的测试有助于在一个单元测试情况下检查多重系统,所以基于脚本用例测试比基于故障测试更实际也更复杂。

3.3类层次的分割测试

类层次的分割测试可以减少用完全相同的方式检查类测试用例的数目,这与传统测试中的等价类划分测试很相似。类层次的分割测试主要分为:基于状态的分割,按类操作是否改变类的状态来分割;基于属性的分割,按类操作所用到的属性来分割;基于类型的分割,按完成的功能分割。

4、结语

软件设计中出现的缺陷是无法完全消除的,却可以通过软件测试来降低缺陷的发生,随着市场对软件质量要求的提高,软件测试在软件开发中的地位越来越重要。软件测试的最终目的不是为了找出软件设计中的错误和故障,而是通过测试来发现缺陷,找出缺陷的分布特征和出现的规律,以期在新的开发项目中寻找更优的方式来避免缺陷的出现,改进设计结构,同时也能够通过设计有针对性的检测方法,改善软件测试的有效性。

参考文献

[1]侯衍龙.基于UML的面向对象建模技术与应用[D].南京,南京航空航天大学,2002

软件产品测试方法与策略 第7篇

1 软件测试概述

软件测试是对系统功能的验证测试, 需要在产品需求阶段分析需求, 细化需求功能, 整理编制测试用例。

在需求阶段需要挖掘软件产品的隐性需求, 分析可能存在的各种情况以及预期的结果, 完善测试用例。

软件测试工作主要是对测试用例的整理, 软件测试质量依赖于测试用例的完整性。若测试用例相当完善, 覆盖了需求的所有功能和隐性需求功能, 软件产品的质量只要是完整的执行测试用例就可以得到保证, 反之亦然。

软件产品测试需要站立在操作使用用户的身份上进行测试, 因为使用者是最终的用户, 一个软件产品只有得到使用者的认可和赞同才能称得上好软件、好产品, 否则软件再怎么被称为功能强大、功能完善, 只要对操作使用者来说操作困难, 都是无稽之谈, 至少不能算的上好软件。

软件产品测试需要与其他部门及用户进行有效的沟通, 保证需求正确, 操作使用方法切合实际, 明确使用人员的操作习惯和期望, 只有便于操作、符合使用人员期望的软件产品, 才能被接受, 才能获得使用人的支持, 从而产品才能获得良好的发展机遇。

2 软件产品测试方法

一个产品经历了启动、计划、实施控制阶段后, 产品进入了产品软件测试环节, 对各个功能点的测试需要举一反三, 力求测试全面, 从各个方面进行测试, 例如:测试软件的一个自动功能, 软件有三种用户:未登陆用户、操作员、管理员, 对软件测试时, 需要测试三种用户下系统都具备自动功能, 还需要测试用户在切换时系统是否具有自动功能。

挖掘隐性需求功能, 完善测试用例, 保证软件产品质量。一般软件产品的隐性需求是存在的, 例如测试需求中ups断电说几分钟内保证原输出状态, 隐性需求就是在几分钟后呢是不是也应该保证原输出状态呢, 再例如:一套软件是记录员工的工作记录的, 每天的工作记录都可以录入, 隐藏在里面的需求就是未来的某一天就不应该能录入信息并保存成功。

软件产品测试需要测试软件的健壮性, 也就是在极限操作下系统如何处理, 应能完成各项操作, 如有重复操作应舍弃, 新操作进行排队处理, 以免使CPU工作异常。测试软件的响应速度, 不能太慢, 太慢操作人员会认为不方便, 影响软件的使用及推广。

软件测试人员应尽早介入软件产品的开发过程中, 软件产品是面向于市场需求的产品, 需要了解市场需求, 细化市场需求, 与操作使用人员进行有效的沟通, 保证需求准确, 制定准确的测试用例, 测试软件的容错性, 不仅要考虑合理的输入条件, 更要注意不合理的输入条件。因为软件投入实际运行中, 往往不遵守正常的使用方法, 却进行了一些甚至大量的意外输入导致软件一时半时不能做出适当的反应, 就很容易产生一系列的问题, 轻则输出错误的结果, 重则瘫痪失效!因此常用一些不合理的输入条件来发现更多的鲜为人知的软件缺陷。从正常操作与不正常操作等方面对软件产品进行测试, 保证软件质量。

3 软件产品测试策略

软件测试一般按照先测试软件的正常功能, 再进行故障安全方面的测试, 最后进行误操作健壮性测试等。

在软件产品测试策略所包含的最主要的部分有两个:测试过程和测试类型, 测试过程包括单元测试、集成测试、系统测试、验收测试。测试类型为功能测试、健壮性测试、接口测试、强度测试、压力测试、性能测试、用户界面测试、安全测试、可靠性测试、安装测试、文档测试、兼容性测试、恢复测试等。

试探法:根据正常功能测试用例, 猜想易出现问题的方面、可能引起错误的操作、异常的操作顺序等制定针对性的测试用例进行测试。

回溯法:利用已测试出的问题, 沿着问题求根溯源, 与问题相关的功能都进行测试, 最终找到问题的根源以及与问题相关的一系列问题。

归纳法:从问题出发, 分析出现问题的原因, 归纳出现问题的原因, 从而映射整个软件, 测试软件的各个模块。

软件测试还包括问题的分析、跟踪及回归测试, 问题的分析过程是软件测试人员测试水平的提高过程, 通过分析, 学习处理方法, 积累测试经验, 测试人员了解软件开发者的设计思路, 可以更好的设计测试用例, 掌握测试方法, 保证软件产品的测试质量。

为了减少系统的开发费用, 越早测试越好, 这是多年来软件行业的一个成功经验, 即在整个软件开发生命周期中通过各种软件工程技术尽量早地完成各种软件测试任务。

软件的整个测试生命周期是与软件的开发生命周期基本平齐的过程, 在软件开发生命周期中, 软件是通过迭代来不断加以完善的。在这种环境中, 对于每个作为测试目标的工作版本, 测试的生命周期还都必须具有一种迭代方法。对于针对每个工作版本执行的测试, 都做出了增补和改进, 并累积为一个测试体, 用于后续阶段的回归测试。

通过迭代使软件开发把原来的整个软件开发生命周期分成多个迭代周期, 在每个迭代周期都进行测试, 这样在很大程度上提前了软件系统测试发生的时间, 这可以在很大程度上降低项目风险和项目开发成本。

软件测试需要测试人员具备丰富的知识背景, 相关的测试经验以及直觉, 才能将测试用例设计的很周全, 从完整性、容错性、边缘性等方面设计, 测试系统功能的同时, 检查系统对输入数据 (合法值、非法值、临界值) 的反应, 检查合法的操作和非法的操作, 检查系统对组合条件的反应等。好的测试用例可以让其他人很好的执行测试, 能够迅速的遍历所测试的功能, 能够发现至今没有发现的错误。

4 结语

软件测试是一项系统的工程, 需要测试人员积累测试经验, 整体把握测试产品, 制定完善的测试用例, 仔细的执行, 需要具备多学科的知识, 从各个方面入手, 制定全面的测试计划, 来保证软件产品的质量。

软件测试贯穿于项目开发的始终, 在各个阶段都要做好相关的软件测试, 能够较早的发现系统中存在的缺陷及需求不清问题, 及时的通知开发人员进行更改, 在一定程度上减小了项目的成本, 缩短产品的开发周期, 对整个项目来说, 软件测试发挥着重要的作用。

软件测试要切合实际, 符合人们正常的思维过程, 符合正常的操作规范, 要建立在用户使用的基础上, 能为人们的日常工作带来便利, 提高人们的工作效率, 从这些方面入手, 编制测试用例, 进行软件产品的测试, 保证软件的质量。S

摘要:软件测试已经逐步被许多企业所重视, 软件测试在产品中占有很重要的地位, 关系到产品的使用操作及稳定性, 一个软件产品的BUG率直接关系到软件产品的质量, 通过对软件的测试来完善软件功能, 提高软件产品的质量。软件测试除了对软件需求功能进行测试后, 还需要对可能遇到的误操作、大数据量存储、连续操作等方面进行测试, 力求使软件更全面, 更可靠, 保证软件的正常使用。本文从实际测试入手, 介绍自己工作中进行软件产品测试的方法及思路, 对测试方法及策略进行总结分析。

关键词:软件测试,完整性测试,健壮性测试,容错性测试,边缘化测试

参考文献

[1]景宏磊, 林丁报.软件性能测试的基本概念和一般过程[J].科技资讯, 2011.

软件测试方法的分析与研究 第8篇

信息技术的飞速发展, 使软件产品应用到社会的各个领域, 软件产品的质量自然成为人们共同关注的焦点。软件开发商为了占有市场, 必须把产品质量作为企业的重要目标之一, 以免在激烈的竞争中被淘汰。用户为了保证自己业务的顺利完成, 总是希望选用优质的软件。质量不佳的软件产品不仅会使开发商的维护费用和用户的使用成本大幅增加, 还可能产生其他的责任风险, 在一些关键应用, 如民航订票系统、银行结算系统、证券交易系统等中使用质量有问题的软件, 还可能造成灾难性的后果。

软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一组测试数据, 并利用这些测试数据运行程序, 以发现程序错误的过程。根据测试数据设计方法, 软件测试可分为结构测试和功能测试。在结构测试过程中, 测试者对程序的语句、分支和逻辑路径进行各种覆盖测试, 可以在不同点检查程序的状态, 以确定实际状态与预期状态是否一致。软件测试的目的不是确认其正确性, 而是发现错误, 并且对已进行的测试过程的程度进行评估。

二、测试方法

1. 软件测试实质

软件测试是一项逻辑性强且极具条理的工作, 也是具有风险性的行为。由于软件的输入量、输出结果、软件实现途径都很多, 而且软件产品说明书没有客观的标准, 导致从不同的角度看, 软件缺陷的标准不同, 因而无法对软件实施完全测试。这样, 就无法通过软件测试显示隐藏的软件缺陷, 只能尽量查找软件缺陷, 找到的软件缺陷越多, 说明软件本身的缺陷就越多, 况且还有一些是未发现、不能断定的缺陷, 这就是软件测试的局限性。

2. 软件测试手段

从测试是否针对系统的内部结构和具体实现算法的角度来看, 可分为黑盒测试和白盒测试。

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

(2) 白盒测试。白盒测试也称结构测试或逻辑驱动测试, 它是在已知产品内部工作过程情况下, 通过测试来检测产品内部动作是否按照规格说明书的规定正常进行, 按照程序内部的结构测试程序, 检验程序中的每条通路是否都能按预定要求正确工作, 而不顾它的功能。白盒测试的主要方法有逻辑驱动、基路测试等, 白盒法是穷举路径测试, 主要用于软件验证。

当软件有产品说明书时, 对产品说明书实施测试和审查:由于软件产品说明书属于文档, 因此对产品说明书的测试是黑盒测试。在实施测试时要弄清所开发软件的客户, 并熟悉现有的标准和规范, 基于同类软件测试的经验进行测试。除了这些, 如果时间和条件允许, 应该对产品说明书进行审查, 按照相关的标准, 看产品说明书是否符合要求。这都是通常的一些做法, 当然还可以采用其他软件检测方法。

由于当前软件开发有时不是很正规, 在没有产品说明书时应使用试探性测试。首先要分步骤地弄清软件特性, 记录软件运行情况, 详细描述软件功能, 然后运用静态和动态黑盒测试两种方式来测试软件, 发现软件缺陷。在这种情况下, 可以将一些非法、错误和垃圾数据作为输入数据, 以检验软件的输出结果。测试时, 可采用反复测试、边界值测试和不合条件等方法。

对有些软件实施状态测试:首先是熟悉软件的逻辑流程, 可能的话, 建立状态转换图, 尽量清晰地描绘软件可能的独立状态, 从一种状态到另一种状态所允许的输入和条件, 以及进入或退出某种状态时的设置条件和输出结果。如果要测试的软件规模较大、复杂性较高, 那么建立状态转换图将是非常艰巨的任务。这时, 减少要测试的状态及状态的数量, 但是必须保证每种状态都必须测试一次, 也可以在状态测试时选择那些不常用的分支, 因为这是最容易被忽略的。在此基础上, 测试所有的错误状态及返回值, 测试随机状态转换。

在前述测试的基础上, 对有些测试实施失败状态测试。在实施时, 指的是几个时间对某一资源竞争使用, 比如: (1) 两个不同的程序同时保持或打开同一个文档。 (2) 共享同一台外围设备。 (3) 同时关闭或者启动同一个软件的多个实例。类似这样的竞争条件还有很多, 不一一举例。

在实际测试时还常用反复、压迫和重负测试, 实施这些测试的目的是考验软件在恶劣条件下是否能正常运行和退出, 从而验证软件的性能。反复测试指的是不断地执行同样的操作;压迫测试是使用软件在不够理想的条件下运行, 从而观察软件对外部资源的要求和依赖程度, 借此来测试软件的性能;重负测试是指尽量提供条件任其发挥, 让软件处理尽可能大的数据文件, 即最大限度地发掘软件的能力, 使之不堪重负。大多数情况下, 用时间作为参数实施重负测试, 看其在重负情况下能否正常运行。实际测试时, 常将三种测试方法结合起来使用。

测试软件的另一种有效方法就是进行正式审查, 其中包括以下几个方面:确定问题、制定审查规则、准备工作以及编写报告。进行审查的主要方法就是组织熟悉该类软件的人员逐一检查代码, 其中重要的软件还需要按能力成熟度 (CMM) 中的要求进行同行评审。

三、结束语

“OA系统”系统测试策略与方法 第9篇

“OA系统”由“公文管理”、“网上审批”、“公共信息管理”、“个人信息管理”、“系统权限管理”等五类基础功能模块组成,是面向组织日常运作和管理的应用系统。伴随计算机技术、网络技术、通信技术的发展和应用,企事业单位为实现可持续发展和提高市场竞争力纷纷部署“OA系统”且系统规模不断扩大、应用日趋复杂。由于开发周期以及经费和人员的限制,许多项目没有经过全面、有效的系统测试就上线运行,结果却发现软件的安全性、效率根本达不到要求,各种细节性需求也无法得到满足。项目负责人不得不催促项目开发商供应补丁修正程序,然而这种未经仔细设计、严格测试的“急就章”式的补丁却带来了更多的错误,最终导致项目以失败告终。

从质量保证的角度来说,任何软件正式运行前都必须经过严格的系统测试。“公文管理”、“网上审批”、“系统权限管理”是“OA系统”的核心模块,主要涉及公文流转、签章管理和权限管理等功能,流转流程的可变性、签章的统一管理以及系统需按用户角色分配功能权限是其主要特点。对“OA系统”进行系统测试的过程中要围绕这些特点设计测试策略和测试方法。

1 测试策略

“OA系统”大多采用B/S结构,系统要实现多用户并发访问,使用人员角色和权限的差别较大,登录地点不固定,数据实时性要求较高。因此功能性、安全性、效率特性是“OA系统”系统测试的三个重点。除此之外界面作为用户操作软件的窗口也是系统测试的重点。

功能性测试一般采用黑盒测试方法,测试要覆盖“OA系统”所涉及的所有功能点。测试前必须明确系统那些功能点是流转性的,对于流转性的功能点要模拟现场办公的真实场景,围绕主干流程进行,同时也要考虑到分支流程对主干流程的影响,每个流程可能涉及多种测试路径,每个路径要逐一进行验证。对于非流转性的功能点,采取等价类与边界值相结合的方法进行测试数据的设计,按照用户手册描述的操作执行,在验证功能是否满足用户需求说明书规定的要求的同时,也要进行容错性验证。

安全性测试需要采取手工与测试工具相结合的方式,首先验证登录密码的安全性,系统是否对密码格式、位数以及错误密码输入次数进行了严格规定。然后验证正确登录系统后,用户登录的角色与该角色的使用权限是否与用户需求说明书规定一致。接下来使用测试工具验证系统涉及的用户密码、办公文件、签章等信息传输过程是否进行了加密、签章信息是否能够防止抵赖和篡改,以及系统是否支持数据备份与恢复。

效率特性可以采用自动化测试工具进行验证,首先要充分调研业务人员、开发人员、了解系统的技术架构、业务组成、业务流程、业务频度、数据量等要素。测试围绕关键业务进行,脚本的录制过程要充分模拟实际用户操作并加入人为思考时间,系统加压过程要结合实际业务发生规律进行,并选用多台计算机充当负载发生器由控制机统一管理。对系统的响应时间、最大并发用户数、疲劳强度、系统资源占用率等效率指标进行测试,观察不同压力下,系统资源占用变化曲线,找出系统的性能瓶颈。

界面测试主要测试界面的直观性、一致性、灵活性:直观性测试主要验证用户界面组织和布局是否合理,所需功能或者期待的响应是否明显的出现在预期的范围内,用户是否能够轻松地从一个功能转到另一个功能,且任何时刻都可以决定放弃或者返回、退出,以及对于用户的每一步操作,系统是否提供操作指导并对用户操作及时反馈响应信息;一致性测试主要验证审美一致性即风格和外观一致,如标识、字体、色彩组合等,功能一致性即意义和行为一致,如带下划线的文字即可以点击操作等,内部一致即与系统内的其他组成部分保持一致,如导航界面中的图标系统等,外部一致即与同一环境中的其他系统保持一致,如后台发布与前台系统等;灵活性测试主要验证其在选择人员的操作和委托任务时的方便性,以及数据输入和输出方便性等。

2 测试方法

“OA系统”从功能角度可以划分为“公文管理”、“网上审批”、“公共信息管理”、“个人信息管理”、“系统权限管理”等五类模块,测试将围绕五个模块的特点以及测试策略中描述的测试重点来进行,其中功能性和界面测试涵盖所有功能模块,安全性测试以“网上审批”、“权限管理”模块为主,效率测试以“公文管理”模块为主。具体方法如下:

“公文管理”模块主要由收文管理、发文管理、公文一览等功能组成,在对功能性和界面进行测试的同时,公文流转的正确性作为测试重点,公文流转的流程一般由用户自己定义,流转路径的不确定性和复杂性是测试难点,因此在测试过程中必须采用等价类的方法按用户角色进行分类测试,测试路径设计上必须存在分支和汇聚的情况,测试过程必须百分之百地覆盖测试用例的所有路径。效率测试要在保证功能正确的原则下进行,测试过程模拟真实业务进行,测试内容参照性能测试策略。

“网上审批”模块主要由拟办工作、待办工作、委托代办、公文与签章认证功能组成,主要对公文进行逐级审批操作,流程一般由系统管理员按照审批角色进行定义,测试方法与公文管理基本相同,不同点在于审批角色存在兼职的情况,也就是同一个人拥有不同的角色在流转过程中负责多个批示,并且批示过程中存在退回重新办理和补充材料重新办理等环节,另外由于领导出差,还存在委托办理的情况,这是测试的难点,在测试时要充分考虑到以上情况,有针对性地设计测试用例。除功能性和界面测试以外安全性是“网上审批”的测试重点,由于异地办公的存在,信息需要通过网络进行传输,传输过程中必须保证公文不被篡改、签章不被冒用,因此每个审批环节都要对公文和签章进行验证操作。测试时要采用工具专门对公文和签章进行篡改和冒用,以此来验证系统的安全性。

“公共信息管理”模块主要由“信息发布”、“信息查询”功能组成,用户群包括一般用户和管理用户,一般用户只能浏览查询信息,管理用户能够进行信息的增加、修改、删除等操作。由于公共信息是组织发布的具有影响力和公信力的公共类信息,需保证信息真实可靠。所以测试过程中必须保证一般用户不能对信息进行任何修改,功能测试、界面测试是该模块的测试重点,测试依据用户手册参照测试策略执行即可。

“个人信息管理”模块主要由日程安排、个人资料、个人通讯录、个人记事本、外出声明等功能组成。涉及信息的增加、修改、和删除等操作,主要测试个人资料修改后是否会对其他用户的通信录中关联信息造成影响,同时在添加信息时,系统是否对重复信息或不符合数据字典要求的数据信息进行过滤和检查。必须保证只有本人才能够对个人信息进行相应的维护。

“权限管理”模块通常包含系统设置、用户管理、流程管理、签章认证中心等功能,安全性是权限管理测试重点,首先以超级管理员身份登录系统,登录时分别设计不同的用户名/密码组合,验证内容包括长度、格式、输入次数、显示方式,登录系统后可参照用户手册描述的操作进行功能性验证和界面测试,安全性测试主要针对用户管理与签章认证中心进行,用户管理的删除用户功能必须保证只有超级管理员才能拥有,并且超级管理员不能删除自己的账户。签章认证中心是“OA系统”安全保障中心,必须确保签章与数字证书的统一发放与管理,签章与数字证书必须具有唯一性且与用户绑定。

3 结束语

本文介绍了“OA系统”系统测试的测试策略和测试方法,测试过程中测试人员要从实际情况出发在实际运行环境下模拟用户真实使用情况进行测试,这样才能够有效地检查出程序中的错误或程序中与用户需求不符以及矛盾的地方,从而提出更加完善的解决方案,保障项目的顺利实施。

摘要:“OA系统”是面向组织日常运作和管理的应用系统,以“公文管理”、“网上审批”、“系统权限管理”为核心模块,主要涉及公文流转、签章管理和权限管理等功能,流转流程的可变性、签章的统一管理以及系统需按用户角色分配功能权限是其主要特点。主要介绍如何针对这些特点设计“OA系统”系统测试策略与方法。

测试技术课堂教学改革与实践 第10篇

“测试技术”作为机械类专业的专业基础课。其特点:一是涉及学科多;二是理论基础要求加高;三是与实践结合紧密[4]。长期以来本课程存在教学内容“散、杂、多”、教学模式单一等不足。为此, 作者在总结多年课堂教学经验和借鉴其他院校教学改革经验的基础上, 提出基于虚拟仪器的测试技术课堂教学改革, 取得较好的效果。

一、构建系统化的课程内容体系

教学目标是教学工作的基础, 教学内容应当适应教学目标。作为专业基础课的测试技术, 其课程内容虽然具有“散、杂、多”的特点, 但是建立一套好的内容体系, 可以使这些看似杂乱无章的内容通过一条主线紧紧地联系在一起, 使得教学内容变成一个有机的整体[5,6]。

课堂教学的首堂课是给学生建立本课程的内容体系, 使学生了解需要掌握的内容, 系统地学习本课程相关知识, 引导学生更深入地学习和创新。在以往的“测试技术”课堂教学过程中, 作者以一套完整的测试系统为框架, 以信号流程为主线, 构建如图1 所示的课程内容体系。同时结合课程目录, 将课程的“散”的教学内容串在一起, 如同将一颗颗精美的珍珠穿成一条珍珠项链。让学生明白测试技术“散、杂、多”的特点有时并不是坏事, 因为从另一方面来讲, 充分体现了其内容的丰富性和多样性。这个特点能充分调动学生的主观能动性, 学生以某一部分内容为突破口, 深入研究, 做到扬长避短。教师发现不同学生的闪光点, 组织拥有不同技能的学生形成一个团队, 为实践环节和创新设计打下坚实的基础和技术支持。

课程内容体系的建立让学生理清思路, 分清主次和因果, 使学生对本课程的学习变得目的明确、逻辑清晰、思维流畅。不同的教学内容采用不同的教学方式, 由浅入深, 由易到难, 让学生能提出问题, 会用所学知识科学地分析问题, 最后能用适当的方法解决问题, 从而提高教学的有效性, 在课堂教学中培养学生活学活用的能力。

二、创新课堂教学方法与手段

在工科院校中, 针对高校教学改革注重“加强基础, 拓宽口径, 加强实践和创新能力培养, 提高综合素质”的特点, 实践环节的教学课时在逐步增加, 无形中课堂教学的课时就在减少。这就使得提高教学效率和教学质量变得尤为重要, 课堂教学方法和教学手段的改革和创新迫在眉睫, 以帮助学生更好地获取实用知识和有用信息。

(一) 运用启发式教学

采用引导和启发式教学方式。正所谓“师父领进门, 修行在个人”。引导和启发式教学不仅是教学方法, 更是一种教学思想, 是教学原则和教学观。在明确教学目的和内容的前提下, 掌握学生的现有知识水平和知识规律, 运用各种教学手段调动学生的主观能动性, 引导学生主动思考、主动实践, 达到掌握知识和技能, 增强自主学习能力的目的。

首先, 抓住教学内容的切入点, 激发学生的学习兴趣。在讲述每一部分内容之前, 让学生明确学习它的目标以及在工程实际中的作用。从学生有感性认识的实例出发, 从实际生活中寻找与本课程相联系的, 学生又比较感兴趣的实例。例如, 在讲到传感器原理及应用时, 可以列举电子秤、地磅、水表、煤气表、微波炉、冰箱、空调等用了哪些传感器?测量了哪些物理量?如何测量?光电鼠标应用了光电位移传感器、麦克风应用了电容传声器等;数码照相机、摄像头、手机等应用了CCD传感器等等。这些实例可大大激发起学生的学习兴趣, 认识到传感器的重要性和实用价值, 为后续传感器原理及应用的学习做好思想准备。

其次, 选择有效的讲述方法, 降低学生的学习难度。好的讲述往往会使学生更容易理解所学内容, 更容易举一反三、触类旁通, 从而启发学生、引导学生创新性地解决问题。比如:讲解“卷积”的概念和计算过程时, 多数教师采用平铺直叙的方法进行授课, 先直接给出卷积的定义和计算公式, 然后再解释计算公式是如何得到的 (步骤为翻转, 平移, 乘积, 积分) 。这种讲解无疑只是告诉学生“卷积”的运算过程, 学生没有主动地参与教学过程。作者用另外一种讲述方法效果就大不相同。即:先提出两个或者多个因式的乘积的展开这一问题, 让学生说明展开方法。有90%以上学生不会使用卷积来计算, 但此类问题本身就是离散卷积 (步骤为翻转, 平移, 乘积, 求和) , 解决了这个实际问题, 学生就对离散卷积计算的步骤有了充分的掌握, 连续信号的卷积就迎刃而解了, 只是把求和换成积分即可。通过这种方法降低讲述内容的难度, 同时在讲解时使用双手作为两个离散序列进行互动演示, 学生更容易掌握, 效率更高。

最后, 设计启发性问题, 引导学生“自我修行”。教学是“教”和“学”的相互统一, 而不是相互对立。只有教没有学, 那是对牛弹琴;只有学没有教, 那是没有方向的盲目学习。在每一次教学内容完成之后, 给学生选择一些发散性的问题, 让学生们去探讨和思考, 或者提出一些实际应用性的问题, 让学生在动手实践中找到解决问题的方法。这些探讨、思考以及动手实践的结果会提高学生的“自我修行”能力, 深刻认识到教学内容的重要性。

(二) 改革课堂教学手段

Labview软件是“测试技术”课堂教学的有力工具, 它丰富了多媒体CAI课件内容, 将抽象的理论变得形象, 枯燥的知识变得生动。学生在直观、形象、生动的多媒体材料刺激下, 学习兴趣得到激发, 思维潜能得到充分的挖掘和发挥。多变的课件形式能使学生充分融入课堂教学中, 更好地掌握教学内容。教师使用Labview进行教学的过程中, 教学内容变得更加生动活泼, 教学空间得到拓宽, 教学过程得到优化, 教学效率得到提高, 教学效果变得更好。比如, 信号描述中的时域与频域间的相互变换, 这是信号分析的核心内容, 也是较为抽象和难以理解的。为此, 借助Labview软件, “逆向思维”将信号的分解通过编程变成信号的叠加, 这样更为直观、生动。这样不但可以“绕过”烦琐的傅里叶级数展开和傅里叶变换 (高等数学及相关课程中已经涉及, 在测试技术中, 有的教师只是粗略地一笔带过) 这些较为复杂和抽象的概念, 同时也让学生掌握了解决问题的多种思路和方法, 通过这样的对比讲解加深了学生对信号时域与频域分析及其相互关系的认识。图2 所示为信号的叠加和信号的分解, 通过此程序可以演示一些常见周期信号是如何叠加而成的和分解结果是什么, 既生动又形象, 还能达到拓展学习知识空间的目的, 增强学生的学习兴趣。再如, 窗函数比较, 使用Matlab软件进行窗函数 (如:hanning、hamming、Blackman-Harris和Flat-Top窗等) 的时域和频域图形描述, 讲解更具体、更有针对性, 图3 所示即为四种常用窗函数的时域和频域图形。为了更好地理解窗函数的作用、窗函数对分析结果带来的影响, 图4所示表示了加上述四种窗函数后, 频率为15Hz的正弦信号的频谱分析结果, 从中可以分析出它们之间的区别和不同, 结合图3 就更容易理解窗函数的特性和作用。总之, 通过Labview软件编程将抽象的理论内容直观地展现在动态的演示操作中, 使得教学手段更丰富, 学生学习更有兴趣。

抽象的概念和原理用Labview软件来仿真, 对于一些实物, “眼见为实”是一种最好的学习方法。比如, 传感器部分包括传感器原理和传感器应用两部分, 原理通过多媒体动画进行生动演示;而传感器结构和应用要在课堂中进行“拆解”展示, 让学生自己动手组装, 调试和相互对比分析。比如:“拆解”压电式加速度传感器 (演示用) 时, 可以看到内部是由弹簧—质量块—压电陶瓷组成。“拆解”拉压力传感器 (应变式) 时, 可以看到应变片的布置以及这些应变片是组成电桥的方式 (全桥、半桥等) 。这些操作为后续的实际工程案例教学打下一定的基础, 学生对这类问题不但“知其然”, 而且“知其所以然”。

在实践中找到真知, 结合教学内容, 把与教学内容密切相关的科研课题带进课堂, 或在课堂教学之外, 组织学生成立研究型学习小组[7], 积极参与研究项目中的一些工作。学生在参与科研项目的过程中, 体会到理论知识与实践应用结合的价值, 激发其内在学习动机, 从中学到真知。研究型学习小组活动的开展, 对学生“消化”所学知识, 了解科研项目研究的过程和方法, 培养学生的实践能力和创新意识起到了积极作用。

总之, 教学方法和教学手段在课堂教学中起着至关重要的作用, 如何改革和创新需要教师发挥自己的优势, 敢于挑战, 敢于创新, 敢于实践。同时, 改革和创新要以学生为本, 立足提高学生各方面素质, 培养学生对知识的综合应用能力。

社会在不断发展, 科技在不断进步, 教育也应该与时俱进, 教育的改革和创新必须适应社会需求。测试技术课堂教学改革和实践首先是以学生为本, 在有限的课堂教学时间内, 实现对学生综合能力的培养, 特别是对实践能力和创新意识的培养;其次, 对于工科院校来说, 课程教学改革和实践最为主要的目的是通过教学使学生灵活运用各种工程软件 (如:Labview、Matlab等) , 教授学生“渔”, 而非“鱼”。

参考文献

[1]周英.落实卓越工程师教育培养计划大力培养工程科技创新人才[J].中国大学教学, 2011, (8) .

[2]史荣, 李玉昆, 任玉波等.基于CDIO的卓越工程师试点班课程改革实践[J].教学研究, 2012, (2) .

[3]曾永卫, 刘国荣.“卓越计划”背景下科学构建实践教学体系探析[J].中国大学教学, 2011, (7) .

[4]史荣, 李玉昆, 马筱聪.基于工程的机械工程测试技术教学改革实践[J].教学研究, 2012, (6) .

[5]倪献智, 牟宗刚, 于明.工程技术类课程教学中注重科学研究方法论的教育[J].中国大学教学, 2010, (12) .

[6]张凤生, 王海峰, 孙忠义等.机械工程测试技术课程教学改革与实践[J].教学研究, 2012, (1) .

教学方法与测试 第11篇

【中图分类号】G 【文献标识码】A

【文章标号】0450-9889(2013)06A-0087-02

《数学分层测试卡》是以“承认差异,尊重差异,因材施教,分层评价,差异发展”的教育理念为指导,对每堂课的数学教学内容进行分析,把数学知识结构与不同层次学生的数学认知结构有机结合起来,分层评价,让基础差的学生吃得了,让中等学生吃得饱,让基础好的学生吃得好。教学实践表明:任何一个班级的学生都存在着个体差异,这些差异不仅表现在学生的学习成绩、学习能力上,而且还表现在道德思想、行为规范、心理素质方面。这些差异决定了让不同的学生达到同一目标几乎是不可能的,这就要求教师应该针对不同情况的学生提出不同的教学目标,开展不同的教学过程,进行不同的教学评价。

《数学分层测试卡》的实质是分层次教学模式,它的核心思想是根据学生的个性差异组织不同层次的教学活动,力求让所有学生得到发展,最终都能达到既定目标的方法。具体来说就是教师以教学大纲为依据,在班级授课制条件下,根据教材的知识结构和学生的认知能力、个性差异,实行与不同层次学生的学习可能性相适应的一种教学策略。它改变了满堂灌的教学方式,促使教师认真钻研课程标准和教材,精心设计教学内容,给学生留出足够的时间检测学习效果。具体做法是把数学课本上每一个新知识点分成若干个小新知识点,以习题的形式来呈现。即每一节课有一张对应的测试卡,每卡分为三个层次:第一层次是基础练习,是对学生当堂课所学新内容掌握情况的检测;第二层次是综合练习,是对学生新旧知识结构有机结合的检测;第三层次是拓展练习,侧重于能力的检测。每层3~4题,每层100分。

《数学分层测试卡》蕴涵着深刻的教育理念,特别是关于“关注差异,让每一个学生都能获得成功”的理念解决了学校教育的很多难题。现结合我校重点抓“良好习惯的养成”及“学生自主学习能力培养”两方面内容,谈谈笔者以《数学分层测试卡》为载体,促使学生养成良好的学习数学习惯、逐步形成自主学习能力的体会。

一、借助《数学分层测试卡》,培养学生良好的数学学习习惯

预习是培养学生自学能力、提高学生听课效率的重要途径。一节课40分钟,接受新知识是30分,测试10分钟,要想在这样短短的时间内提高教学质量,必须要求学生提前预习。因此,我们在上每一节新课之前,结合《数学分层测试卡》的基本练习和综合练习让学生自行预习,自主查找资料,领悟知识的重点要点,发现疑难,以便在课内重点解决。充分的预习能使学生掌握听课的主动权,使听课更具针对性。

复习的目的是消化知识,加深理解和记忆,达到举一反三的目的。复习也是通过对知识、解决问题的思路进行提炼、归纳整理,把零碎的知识、分散的记忆串联起来,从而使知识系统化、条理化的过程。因此每次课后,教师都要求学生根据自己当天完成《数学分层测试卡》的情况进行复习和小结,把错题记录到一个本子上,作为单元复习的重点。这样周而复始地进行,学生不仅能养成课前预习和复习的良好习惯,而且提高了学习效率。使用《数学分层测试卡》后,学生每天都有收获、有成功的体验——以前不做作业的想做作业了,能做基础练习的尝试做综合练习了,大部分学生都在研究拓展练习。经过一个学期的使用,笔者所带班级学生期末考试成绩提高了6.4%。

二、依托《数学分层测试卡》,培养学生的自主学习能力

学生自主学习能力是社会发展的需要,是课程改革的首要目标,是学生个体发展的需要,是提高课堂学习效率的基础。

目前我校有95%学生是独生子女,这些学生依赖性强,在学习方面也缺乏自主性,学习成绩不理想,其常见的表现主要有三种:一是对学习缺乏兴趣,想方设法地逃避学习;二是把学习当作任务来应付,学习效果不好;三是学习不得法,畏难情绪严重。

于是,笔者在课堂上利用《数学分层测试卡》进行分层教学,分层评价,让不同的学生尝试到成功的喜悦,激发学生的学习兴趣,提高学生的学习效果,从而培养学生的自主学习能力。

课堂效果的好坏充分体现了教师对教材合理应用以及创新性地整合。我们充分利用《数学分层测试卡》三个层次的习题,使不同的学生在每一节课中都有所发展。例如,我校一位年轻教师在执教《长方体的认识》时,她没有按照教材的编排顺序来教学,而是以《数学分层测试卡》练习出现的形式,先用课件出示一个实体的长方体,接着出示一个透视图,再让学生自主认识长方体的长、宽、高以及长方体的特征,充分发挥学生的主体作用,让学生在已有知识和经验的基础上建构新的认知结构。《数学分层测试卡》改变了教师过去的教学行为模式,使很多年轻教师逐渐成长起来,而且让学生体验到了成功的喜悦,感受到了数学学习的快乐,从而增强学生的自信心,也逐步形成自主学习的能力。

《数学分层测试卡》的教学实践验证了美国教育家布鲁姆提出的掌握学习理论:“只要在提供恰当的材料和进行教学的同时给每个学生提供适度的帮助和充分的时间,几乎所有的学生都能完成学习任务或达到规定的学习目标。”

总之,《数学分层测试卡》的分层评价尊重了学生的学习差异,提高了学生自主学习的积极性,挖掘了学生的创新能力,展示了学生生命的活力。在今后的教学中,我们将认真研讨、仔细钻研,更好地利用《数学分层测试卡》,让它发挥更大的作用。

软件测试方法的分析与研究 第12篇

1.1 软件测试定义

软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计的一组测试数据, 并利用这些测试数据运行程序, 以发现程序错误的过程。根据测试数据设计方法, 软件测试可分为结构测试和功能测试。在结构测试过程中, 测试者须进行多种覆盖测试, 其中包括对程序的语句和逻辑路径的测试, 通过对不同点的程序的状态进行检查, 来判断实际效果是否达到了预期的状态。

1.2 软件测试的目的

软件测试是程序的一种执行过程, 目的是尽可能发现并改正被测试软件中的错误, 提高软件的可靠性。它确保了软件的可靠性, 是软件开发工程中的一项关键重要的工作。

1.3 软件测试的任务

测试任务主要包括:衡量软件的品质, 了解用户需求, 寻找程序中的Bug, 弥补软件开发过程中的漏洞。

2 软件测试分类

2.1 黑盒测试

黑盒测试的测试方式是将被测的系统看成一个黑盒, 外界只需输入相关指令即可, 在测试过程中, 基于需求文档查看输出是否能达到文档的要求。这种测试在系统的功能测试中较为适用。在黑盒测试中, 任何与被测系统内部结构相关的知识或经验的使用都是不允许的。黑盒测试是相对简单的, 并不需要知道内部程序的代码, 从用户的角度来看, 就能了解到用户用到的功能和碰到的问题;从软件的开发文档, 获悉软件的功能实现情况, 更方便于软件自动化测试。

2.2 白盒测试

白盒测试首先要获悉产品内部的工作过程, 可以检测到通过测试的产品内部行动是否按照规定进行, 检验每条通络能否按照预期的目的工作, 在测试过程中, 要按照程序内部固有的测试程序进行。同时白盒测试检验的是工作与否, 而不是软件的功能如何。这种测试主要通过逻辑驱动或是基路测试等两种方法实现。该测试的最直接的好处就是知道哪些地方忽略掉了设计的测试用例。其优点是在很大程度上解决了隐藏在代码中的问题, 增大了代码的覆盖程度, 提高了代码的编写质量。

2.3 灰盒测试

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

3 软件测试方法分析

3.1 软件测试分析阐述

通过软件测试分析可以较早的发现设计中存在的问题和不足, 从而及时纠正设计思路, 有利于项目成本的降低。在软件分析设计的阶段就开始测试, 这种测试工作的前移, 增强了测试需求分析阶段的活动, 一定程度上规避了设计思路上的问题, 这正是软件测试分析设计的主要目的之一。

大量的工作经验表明, 随着软件产品工作的推进, 测试成本会不断增加。如果在产品开发之初的需要分析或设计阶段就存在问题, 而一直等到完成编码完成后才经测试检测出这些问题。此时, 这些问题的解决往往需要更改设计, 这样就又回到了产品设计开发的起点, 这无疑会浪费人力和物力, 是产品的成本增加, 同时也增加了如期的交付产品的风险。

目前的测试工作中大都前期准备不足, 很多都是在产品编码完成或是产品开发即将竣工时才介入。此外, 在测试过程中还经常出现人力不足, 时间仓促的现象。有时甚至在工作人员没有弄清楚测试目的或还未充分认识测试对象的情况下就开始了测试工作, 随着测试的进行, 才渐渐了解被测的系统。这样一来, 工作效率会极大降低, 以致于不能在规定的时间交付, 同时产品的成本也会因此而提高。为此, 在前期的测试需求分析过程中, 对发现的设计错误或是不合理之处, 以及程序设计中的漏洞, 要及时的提出来, 并督促相关的工作人员进行修改, 尽量使这些问题在测试执行开始之前得到解决。

而在实际的工作中, 常常会出现这样的情况, 即如果首先开展用例设计, 就无法保证测试的完备性。在这种情况下, 测试需求分析阶段的工作更显得尤为重要。只有清楚了被测系统的运行环境, 明白了原始需求, 测试才能开展, 才能更真实的模拟程序的实际运行场景, 才能更充分的完成测试。

3.2 几种典型测试方法的分析

黑盒测试相对较为简单, 测试无关于内部代码及实现不需要了解程序内部的代码及实现;从用户的角度来看, 能了解到用户用到的功能和碰到的问题;从软件的开发文档, 获悉软件的功能实现情况, 在软件自动化测试中有突出优势。但是, 黑盒测试的代码覆盖范围较小, 对所有的代码不可能完全覆盖, 覆盖率最多只能达到30%。

白盒测试的突出优点就是知道在哪些地方忽略掉了测试用例, 其优点是在很大程度上解决了隐藏在代码中的问题, 增大了代码的覆盖程度, 提高了代码的编写质量。然而, 该测试程序可以通过不同的途径运行, 在测试工作中, 不可能对每条途径都做出检测;通过测试代码只能检测开发人员正确与否, 而对程序的正确性却不能做出明确的判断, 尤其当系统庞大时, 会造成非常大的测试开销。

灰盒测试则由方法和工具组成, 这些方法和工具取材于应用程序的内部知识盒与之交互的环境, 能够用于黑盒测试以增强测试效率、错误发现和错误分析的效率。灰盒测试结合了白盒测试盒黑盒测试的要素.它考虑了用户端、特定的系统知识和操作环境。它在系统组件的协同性环境中评价应用软件的设计。

4 结语

在计算机应用技术飞速发展的今天, 软件质量的好坏直接影响着企业的发展进程, 完整的测试不仅可以给软件质量进行一个正确的评价, 而且是提高软件质量的重要方法之一。在软件测试过程中, 测试分析是必不可少重要环节。整个的测试分析阶段为后续的进行提供了强有力的保障。

参考文献

[1]戴金龙.软件测试全过程[J].软件世界, 2007.

[2]樊庆林, 吴建国.提高软件测试效率的方法研究[J].计算机技术与发展, 2006.

[3]王虎.软件需求分析探讨[J].科技情报开发与经济, 2008.

上一篇:健康护理干预下一篇:外墙粉刷裂缝的控制