软件的设计与调试

软件的设计与调试
软件的设计与调试

4 软件的设计与调试

软件部分主要是用所编写的语言程序来配合相应的硬件电路,控制所设计

电路实现所预期功能的部分。C8051F120单片机的程序可以使用C语言,也可以使用汇编语言,或者是两者的结合,本设计使用C 语言编写程序实现拖拉机工况油耗仪功能。

软件部分分成几大模块来实现单片机的功能。程序主函数的设计,由于设

计中使用了相应的芯片,所以必须首先对相应的芯片进行初始化并对通讯串口芯片进行初始化、中断向量的设计以及开中断、循环等待等准备。程序的详细如附录中的程序部分所示。

4.1 初始化程序

对所有模块进行初始化,例如单片机的初始化、LED数码管显示的初始化等。程序如附录中所示。初始化是为了让系统正常工作,而给一些变量参数赋

以初值的程序。初始化程序主要任务是清屏幕。初始化模块,如图

4.1所

示。

统加电后进行初始化,测量系统进入起始状态,等待控制面板输入。系统检测控制面板输入,根据控制面板输入进入相应测量程序。

SFRPAGE = CONFIG_PAGE;

WDTCN = 0xde; // Disable watchdog timer

WDTCN = 0xad;

OSCILLATOR_Init (); // Initialize oscillator

PORT_Init_UART0 (); // Initialize crossbar and

GPIO

PORT_Init_UART1 (); // Initialize crossbar and

GPI1

UART0_Init (); // Initialize UART0

UART1_Init (); // Initialize UART1

其中串口uart0 初始化如下

void UART0 {

char SFRPA _Init (void) //uart0 初始化GE_SAVE;

SFRPAGE_ SAVE = SFRPAGE; // Preserve SFRPAGE SFRPAGE = TMR2_PAGE;

TMR2CN = 0x00; // Timer in 16-bit auto-reload

up timer

// mode

TMR2CF = 0x08; // SYSCLK is time base; no

output; // up count only RCAP2 = - ((long) SYSCLK/BAUDRATE/16);

TMR2 = RCAP2;

TR2= 1;

SFRPAGE = UART0_PAGE; SCON0 = 0x50; // Start Timer2

SSTA0 = 0x15;

TI0 = 1;

SFRPAGE = SFRPAGE_SAVE; }

// 8-bit variable baud rate; // 9th bit ignored; RX enabled // clear all flags

// Clear all flags; enable baud rate

// doubler (not relevant for these

// timers);

// Use Timer2 asRX andTX baud rate

// source;

// Indicate TX0 ready

// Restore SFRPAGE

开始

图4.1主程序初始化流程图

拖拉机工况油耗仪的应用软件根据系统功能要求而设计,以可靠地实现系统功能。设计时,将单片机的数据处理模块设计成主程序模块,其他模块在该模块的控制下进行。应用的子程序实行标志化管理,即在需调用的程序模块之前,都设置了程序实现的功能名称,调用时可直接转向该模块程序,这样既便

于调试、链接,又便于移植、修改:程序的调试工作是采用仿真器检验在计算

机上编写的程序运行是否正常、有无语法错误等,查看运行结果是否符合设计

目的,再通过仿真器挂接硬件电路,模拟现场测试,检查硬件的电路连接和软

件程序流程。在测试中由于存在干扰,软件程序设计中需要编写抗干扰程序,

以提高采集数据的准确度。

4.2 串口通讯程序设计串口通讯程序是通过软件程序的编写,过对软件的查询和中断服务程序的检测来实现数据的接受与传送。对UART的控制和访问是通过相关的特殊功能寄存器即串行控制寄存器(SCON)和串行数据缓冲器(SBUF)来实现的。一个SBUF地址可以访问发送寄存器和接收寄存器。读操作将自动访问接收寄存器,而写操作自动访问发送寄存器。

UART 可以工作在查询或中断方式。UART 有两个中断源:一个发送中断标志

TI (SCON )(数据字节发送结束时置位)和一个接收中断标志RI(SCON )(接收完一个数据字节后置位)。当CPU转向中断服务程序时硬件不清除UART中断标志,中断标志必须用软件清除。这就允许软件查询UART 中断的原因(发送完成或接收完成)。

使用双串口,必须用两个独立的波特率发生器,可以用两个时钟,UART0 用时钟2产生波特率,UART1 用时钟1 产生波特率。

判断串口发送标志位TI是否为1,若TI为1,则把数据从单片机发给PC机,并把TI清零,中断子程序返回;若TI 为0,表明RI=0, 则把串口接收标志位RI 清零,把串口接收缓冲器SBUF 中的数据写入串口接收数据单元RECDATA, 再把该数据送到串口发送缓冲器SBUF 中,传给PC 机,置串口成功接收数据标志位RECOKBIT 为1,表明串口成功接收发送数

最后中断子程序返回接收程序流程图’

发送程川流程图:

4.3 数码管显示程序和按键扫描程序设计

本设计有4 个显示界面来提供用户需要显示的信息,其中第一个界面是开机界面,每一个界面显示不同的内容,通过程序来对需要显示的项目进行设显示。数据显示程序的流程图如图4.3。

系统的测试功能是在控制面板的控制下完成的,因此,控制面板管理和控制显得非常重要。在设计测试程序时,把控制面板管理程序模块设计成主程模块,其他模块都是在该模块的控制下进行的。

调整项目需要通过按键进行控制,所以需要扫描按键进行项目的控制,具体的按键扫描控制如下图4-4程序流程图所示

4.4软件系统主程序

通过主程序,能够控制整个硬件系统的功能实现。软件系统的设计流程,如图4. 5所示。

5 主程序流程图

4.5 本章小结测试系统中软件是配合控制硬件电路,共同完成对油耗的智能化显示,其功能通过分程序模块实现,本章介绍了系统主程序,初始化模块、键盘模块、数据显示模块和串口接收和发送数据模块等。同时介绍了程序的调试工作,以

对编写的程序进行运行检查验证。

5.2 系统的软硬件调试

5.2.1系统调试使用的仪器

(1) pc机1块

( 2)单片机编程器 1 台

( 3)电源 1 台

( 4 )万能表 1 台

5.2.2系统调试的内容

在一个课题制作成功之前要经过多次的细心和耐心的调试,只有这样才能完成课题并取得更加理想的效果,每一个细节的检查都是十分必要的,因为很可能一个细节问题的疏漏就会导致整个系统的不能工作!

通电检查,方法是将万用表电流档串联在电源和所测电路板之间,观察电路总静态电流的大小。若发现电流过大,说明电路可能有短路;电流过小或无电流,表示电路存在断路。遇到上述情况,必须无排除故障,才能进行调试

5.2.3系统调试过程中遇到的问题

软件部分

由于编程量很大,有时候把一些循环语句弄混了,导致结果出不来,最后经过仔细从头到尾的检查才发现问题。刚开始按键控制不能循环,选择输出是第 4 路输出不能直接切换到第一路输出,后来加了个循环子程序问题就解决了。

结论

本文研究的拖拉机工况油耗仪在单片机的控制下,通过计算机送来的数据,在控制软件的支撑下,能实现拖拉机的静态和动态测试,能测量拖拉机的累计油耗、瞬时油耗、油温、油压。解决了国内油耗检测产品与国外相比测试精度相对较低、测试功能不全面、体积略大和成本较高等问题。该项技术的产品化,将极大地推进拖拉机油耗规范化、提高油耗检测精度,对于新生产车、营运车辆可进行燃料经济性的精确检测、评价。能很好地满足科研院所、车辆制造、使用和维修单位、拖拉机用户等需要,应用前景广阔。主要研究工作:

(1)确定了拖拉机工况油耗仪总体技术方案。拖拉机工况油耗仪应能完成拖拉机工况油耗仪的智能显示,主要解决目前拖拉机油耗检测产品存在的燃油浪费,精度不高,操作系统复杂等问题,为此从燃油流量信号的检测、处理与输出等方面入手进行相关研究,建立检测系统数学模型、构建仪器结构,在软件的支撑下,满足上述要求。并将理论在实践中进行验证。

(2)进行了拖拉机工况油耗仪硬件的设计与选择,构建了仪器结构。根据拖拉机工况油耗仪要实现智能化显示功能的要求,针对智能油耗仪的具体应用情况,选择系统组成元件,主要有单片机、显示器、时钟和日历、监控芯片、键盘、通讯接口和电源等,构成油耗检测系统的硬件部分,进行各组成元件之间的合理匹配,设计系统控制电路,完成硬件部分的设计。

(3)建立了拖拉机工况油耗仪数学模型。根据拖拉机发动机供油系统工作原理和拖拉机运行条件,确定油耗显示方法,建立油耗系统显示数学模型。

(4)进行了油耗显示系统软件的设计与调试,同时提出了系统抗干扰的相关措施。配合硬件部分控制电路编写控制软件,共同完成对油耗的智能化显示。针对油耗检测系统工作过程中会遇到的干扰,分析其原因,采取相应办法,提高油耗检测系统的抗干扰能力。

(5)进行了验证性试验。试验数据分析说明,试验系统实际油耗与油耗仪测量油耗具有很好的一致性,试验结果重复性好,数据可信,可作为建模的基础。大参数测量时系统测量精度高,接近实际测量值。建立的油耗计算模型是可行的,但误差略大,需要对该模型进行修正。根据具体情况对理论模型进行了修正,从而提高了油耗检测精度,可以达到预期研究的目标。进行了试验误差分析。为了更合理的选用测试装置和测试方法,正确地分析误差产生的原因,减小或消除误差,并恰当地处理试验数据,以便得到理想的试验结果。不足之处与进一步研究展望:拖拉机油耗测量的影响因素考虑的不够全面,会影响到测试精度。今后还将加大该方面的研究力度,通过控制程序加以修正。

谢辞

岁月如歌,光阴似箭,回首求学历程,对那些引导我、帮助我、激励我的人,我心中

充满了感激。在论文完成过程之中,除了我自己的潜心学习和研究之外,也凝聚了很多人的心血。所以在这里,我要对帮助我完成论文的所有人表示感谢。

首先,我要对我的导师——机电工程学院赵书尚教授,表示我最由衷的感谢,感谢赵老师在毕业设计过程中给与的指导。赵老师自始至终关心督促毕业设计进程和进度,帮助解决毕业设计中遇到的许多问题。还不断传授分析问题和解决问题的办法,并指出了正确的努力方向,使我在毕设过程中少走很多弯路。能师从赵老师,我为自己感到庆幸!希望我的老师能永远的身体健康、永远年轻、永远幸福!

同时,身边的同学也给了我许多的帮助,特别是机电工程学院机电091 班的各位同学,在我硬件及软件遇到无法解决的困难的时候给予我最真诚的鼓励和帮助,尤其是在c 语言编程的问题上给了我很多的指点,让我有信心完成课题的设计。在此,我向身边关心我的同学致以诚挚的谢意!另外,机电工程学院里的领导和老师也给了我们必要的指导,我也向院和年级的领导们表示衷心的感谢!最后感谢母校河南科技大学,机电工程学院多年来对我的教育与培养。感谢每一位给过我帮助的老师与同学。正是他们使我的知识体系不断的完善,使我的各方面得以进步和发展。同时感谢各位在百忙之中审阅和评议本论文的老师。

软件测试习题

一、选择题 1.软件测试的目的是(B )。 A)试验性运行软件B)发现软件错误C)证明软件正确D)找出软件中全部错误2.软件测试中白盒法是通过分析程序的( B )来设计测试用例的。 A)应用范围B)内部逻辑C)功能D)输入数据 3.黑盒法是根据程序的( C )来设计测试用例的。 A)应用范围B)内部逻辑C)功能D)输入数据 4.为了提高软件测试的效率,应该( D )。 A)随机地选取测试数据B)取一切可能的输入数据作为测试数据 C)在完成编码以后制定软件的测试计划D)选择发现错误可能性最大的数据作为测试用例5.与设计测试用例无关的文档是(A )。 A)项目开发计划B)需求规格说明书C)设计说明书D)源程序 6.测试的关键问题是(B )。 A)如何组织软件评审B)如何选择测试用例 C)如何验证程序的正确性D)如何采用综合策略 7.软件测试用例主要由输入数据和( C )两部分组成。 A)测试计划B)测试规则C)预期输出结果D)以往测试记录分析 8.成功的测试是指运行测试用例后( B )。 A)未发现程序错误B)发现了程序错误C)证明程序正确性D)改正了程序错误9.下列几种逻辑覆盖标准中,查错能力最强的是( D )。 A)语句覆盖B)判定覆盖C)条件覆盖D)条件组合覆盖 10.在黑盒测试中,着重检查输入条件组合的方法是( D )。 A)等价类划分法B)边界值分析法C)错误推测法D)因果图法 11.单元测试主要针对模块的几个基本特征进行测试,该阶段不能完成的测试是(A )。A)系统功能B)局部数据结构C)重要的执行路径D)错误处理 12.软件测试过程中的集成测试主要是为了发现( B )阶段的错误。 A)需求分析B)概要设计C)详细设计D)编码 13.不属于白盒测试的技术是(D )。 A)路径覆盖B)判定覆盖C)循环覆盖D)边界值分析 14.集成测试时,能较早发现高层模块接口错误的测试方法为( A )。

软件测试用例设计方法---决策表

决策表,也叫判定表。在所有的功能性测试方法中,基于决策表的测试方法被认为是最严格的,因为决策表具有逻辑严格性。 在一些数据处理问题当中,某些操作的实施以来与多个逻辑条件的组合,既针对不同逻辑条件的组合之,分别执行不同的操作;决策表就是分析和表达多逻辑条件下执行不同操作情况的工具。 1 决策表通常由以下4部分组成: 条件桩(condition stub):列出了问题的所有条件。通常认为列出的条件的次序无关紧要。 动作桩(action stub):列出了问题规定可能采取的操作。这些操作的排列顺序没有约束。 条件项(condition entry):列出针对它所列条件的取值,在所有可能情况下的真假值。作项(action entry):列出在条件项的各种取值情况下应该采取的动作。 2 决策表的生成: (1)确定规则的个数 ?有n个条件的决策表有2n个规则(每个条件取真、假值)。(2)列出所有的条件桩和动作桩 (3)填入条件项 (4)填入动作项,得到初始决策表 (5)简化决策表,合并相似规则

?若表中有两条以上规则具有相同的动作,并且在条件项之间存在极为相似的关系,便可以合并。 ?合并后的条件项用符号“-”表示,说明执行的动作与该条件的取值无关,称为“无关条件”。 举个例子↓↓

3 决策表的优缺点: 决策表最突出的优点是,能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏。 ? 利用决策表能够设计出完整的测试用例集合。 ? 运用决策表设计测试用例可以将条件理解为输入,将动作理解为输出 4 何种情况下使用? ? 规格说明以决策表形式给出,或较容易转换为决策表;

软件测试试题实例

1.什么是软件测试 使用人工和自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差异 2.软件测试的目的是什么 软件测试的目的在于发现错误;一个好的测试用例在于发现从前未发现的错误;一个成功的测试是发现了从前未发现的错误的测试。 3.软件测试的目标 软件测试以检验是否满足需求为目标。 4.什么是软件缺陷 满足下列五个规则之一才称为软件缺陷: 1)软件未达到产品说明书标明的功能。 2)软件出现了产品说明书指明不会出现的错误。 3)软件功能超出产品说明书指明的范围。 4)软件未达到产品说明书虽未指出但应该达到的目标。 5)软件测试人员认为软件难以理解、不易使用、运行速度缓慢,或者最终用户认为不好。 5.什么黑盒测试 黑盒测试是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。因此黑盒测试又叫功能测试或数据驱动测试。 6.黑盒测试方法都包括哪些 等价类划分、边界值分析、决策分析法、因果图分析、错误推测法等。 7.什么是等价类划分 把所有可能的输入数据(有效的和无效的)划分成若干个等价的子集(称为等价类),使得每个子集中的一个典型值在测试中的作用与这一子集中所有其它值的作用相同. 可从每个子集中选取一组数据来测试程序 8.什么是边界值分析法 边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法.通常边界值分析法是作为对等价类划分法的补充 9.什么情况下使用决策分析法 在一些数据处理问题当中,某些操作的实施依赖于多个逻辑条件的组合,即:针对不同逻辑条件的组合值,分别执行不同的操作。决策表很适合于处理这类问题 10.你是如何利用决策分析法设计用例 (1)确定规则的个数。 有n个条件的决策表有2n个规则(每个条件取真、假值)。 (2)列出所有的条件桩和动作桩。

系统测试用例设计方法

系统测试用例设计方法 --------------王永安

目录 一、测试用例格式以及写作要点 (3) 二、系统测试用例设计方法 (4) 1、等价类划分法 (5) 2、边界值分析法 (6) 3、判定表法 (7) 4、因果图法 (9) 5、状态迁移图法 (15) 6、流程分析法 (20) 7、正交试验法 (35) 8、错误推测法 (42)

一、测试用例格式以及写作要点 测试用例编号 测试用例编号是由字母和数字组合而成的,用例的编号应该具有唯一性,易识别性。比如可以采用统一的约定,产品编号—ST—系统测试项名—系统测试子项名—编号。这样看到编号就可以知道是做的什么测试,测试的对象是什么。也方便维护。 测试项目 你现在这个测试用例所测的项目名,可以是测试用例所属的大类,被测需求,被测的模块,或者是被测的单元。例如:计算器加法功能。 测试标题 测试标题是对测试用例的简单描述。用概括的语言描述该测试用例的测试点。每个测试用例的标题不能够重复,因为每个测试用例的测试点是不一样的。例如:手机在没有SIM 卡的情况下,拨打119。 重要级别 重要级别分为高中底三等: 高:保证系统基本功能、重要特性、实际使用频率比较高的用例; 中:重要程度介于高和底之间的测试用例; 底:实际使用频率不高、对系统业务功能影响不大的模块或功能的测试用例。 注:一般情况下,重要级别为高的测试用例,一个测试子项里有且尽有一个,大多数都是重要级别为中的测试用例。因为一般我们会进行一个系统测试预测试,如果重要级别为高的太多,则就失去了预测试的实际意义。 预置条件 就是执行当前测试用例的前提条件,如果不满足这些条件,则无法进行测试。 输入 测试用例执行时,需要输入的外部信息。例如某一个文件,数据记录等。

软件测试标准及方法

软件测试方法 β测试_Beta测试 β测试,英文是Beta testing。又称Beta测试,用户验收测试(UAT)。 β测试是软件的多个用户在一个或多个用户的实际使用环境下进行的测试。开发者通常不在测试现场,Beta测试不能由程序员或测试员完成。 当开发和测试根本完成时所做的测试,而最终的错误和问题需要在最终发行前找到。这种测试一般由最终用户或其他人员员完成,不能由程序员或测试员完成。 α测试_Alpha测试 α测试,英文是Alpha testing。又称Alpha测试. Alpha测试是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的受控测试,Alpha测试不能由该系统的程序员或测试员完成。 在系统开发接近完成时对应用系统的测试;测试后,仍然会有少量的设计变更。这种测试一般由最终用户或其他人员来完成,不能由程序员或测试员完成。 可移植性测试 可移植性测试,英文是Portability testing。又称兼容性测试。 可移植性测试是指测试软件是否可以被成功移植到指定的硬件或软件平台上。 用户界面测试-UI测试 用户界面测试,英文是User interface testing。又称UI测试。 用户界面,英文是User interface。是指软件中的可见外观及其底层与用户交互的部分(菜单、对话框、窗口和其它控件)。 用户界面测试是指测试用户界面的风格是否满足客户要求,文字是否正确,页面是否美观,文字,图片组合是否完美,操作是否友好等等。UI 测试的目标是确保用户界面会通过测试对象的功能来为用户提供相应的访问或浏览功能。确保用户界面符合公司或行业的标准。包括用户友好性、人性化、易操作性测试。 用户界面测试用户分析软件用户界面的设计是否合乎用户期望或要求。它常常包括菜单,对话框及对话框上所有按钮,文字,出错提示,帮助信息(Menu 和Help content)等方面的测试。比如,测试Microsoft Excel中插入

软件测试试题及答案分析

单选 1. 属于黑盒测试的方法?( C) A.基于基本路径 B.控制流 C.基于用户需求测试 D.逻辑覆盖 2.在Assert类中断言对象为NULL是_____。(D) A.assertEquals B.assertTrue C.fail D.assertNull 3.___________的目的是对最终软件系统进行全面的测试确保最终软件系统产品满足需求(A) A.系统测试B.集成测试 C.单元测试D.功能测试 4.有一组测试用例使得每一个被测试用例的分支覆盖至少被执行一次,它满足的覆盖标准___________。(B) A. 语句覆盖 B.判定覆盖 C.条件覆盖 D.路径覆盖 5.软件测试的目的是___________。(C) A.表明软件的正确性B.评价软件质量 C.尽可能发现软件中的错误D.判定软件是否合格 6.关于白盒测试与黑盒测试的最主要区别,正确的是___________。(A) A.白盒测试侧重于程序结构,黑盒测试侧重于功能 B.白盒测试可以使用测试工具,黑盒测试不能使用工具 C.白盒测试需要程序参与,黑盒测试不需要 D.黑盒测试比白盒测试应用更广泛 7.软件测试类型按开发阶段划分___________。(B) A.需要测试﹑单元测试﹑集成测试 B.单元测试﹑集成测试﹑确认测试﹑系统测试﹑验收测试 C.单元测试﹑集成测试﹑确认测试 D.调试﹑单元测试﹑功能测试 8.在Junit中,testXXX()方法就是一个测试用例,测试方法是______。(B) A.private void testXXX() B.public void testXXX() C.public float testXXX() D.public int testXXX() 9.软件测试是软件质量保证的重要手段,下述哪种测试是软件测试的最基础环节?(A)A.单元测试B.集成测试 C.目的测试D.确认测试 10.增量式集成测试有3种方式:自顶向下增量测试方法,和混合增量测试方式。(D ) A.自中向下增量测试方法B.多次性测试 C.维护D.自底向上增量测试方法 1)以下不属于软件测试的原则有(D )。 A.程序最好别让由编写该程序的程序员自己来测试

绝密软件测试方法和技术重点和试题与答案

太原理工大学软件测试技术 适用专业:软件工程2011级考试日期:2014.1 时间:120 分钟 一、判断题 1. 测试是调试的一个部分(╳) 2. 软件测试的目的是尽可能多的找出软件的缺陷。(√ ) 3. 程序中隐藏错误的概率与其已发现的错误数成正比(√ ) 4. Beta 测试是验收测试的一种。(√ ) 5. 测试人员要坚持原则,缺陷未修复完坚决不予通过。(√ ) 6. 项目立项前测试人员不需要提交任何工件。(╳) 7. 单元测试能发现约80%的软件缺陷。(√ ) 8. 测试的目的是发现软件中的错误。(√ ) 9. 代码评审是检查源代码是否达到模块设计的要求。(√ ) 10. 自底向上集成需要测试员编写驱动程序。(√ ) 11. 测试是证明软件正确的方法。(╳) 12. 负载测试是验证要检验的系统的能力最高能达到什么程度。(√ ) 13. 测试中应该对有效和无效、期望和不期望的输入都要测试。(√ ) 14. 测试人员要坚持原则,缺陷未修复完坚决不予通过。(√ ) 黑盒测试也称为结构测试。(╳) 集成测试计划在需求分析阶段末提交。(╳) 15. 软件测试的目的是尽可能多的找出软件的缺陷。(√) 16. 自底向上集成需要测试员编写驱动程序。(√) 17. 负载测试是验证要检验的系统的能力最高能达到什么程度。(╳) 18. 测试程序仅仅按预期方式运行就行了。(╳) 19. 不存在质量很高但可靠性很差的产品。(╳) 20. 软件测试员可以对产品说明书进行白盒测试。(╳) 21. 静态白盒测试可以找出遗漏之处和问题。(√) 22. 总是首先设计白盒测试用例。(╳) 23. 可以发布具有配置缺陷的软件产品。(√) 24. 所有软件必须进行某种程度的兼容性测试。(√) 25. 所有软件都有一个用户界面,因此必须测试易用性。(╳) 26. 测试组负责软件质量。(╳) 27. 按照测试实施组织划分,可将软件测试分为开发方测试、用户测试和第三方测试。(√) 28. 好的测试员不懈追求完美。(×) 29. 测试程序仅仅按预期方式运行就行了。( ×) 30. 在没有产品说明书和需求文档的条件下可以进行动态黑盒测试。( √) 31. 静态白盒测试可以找出遗漏之处和问题。( √) 32. 测试错误提示信息不属于文档测试范围。( ×)

软件测试练习题及答案

、判断 01 )测试是为了验证软件已正确地实现了用户的要求。错 02 )白盒测试仅与程序的内部结构有关,完全可以不考虑程序的功能要求。对 03 )白盒测试不仅与程序的内部结构有关,还要考虑程序的功能要求。错 04)程序员兼任测试员可以提高工作效率。错 05 )黑盒测试的测试用例是根据应用程序的功能需求设计的。对 06 )当软件代码开发结束时,软件测试过程才开始。错 07 )据有关数据统计,代码中 60%以上的缺陷可以通过代码审查发现出来。对 08)无效等价类是无效的输入数据构成的集合,因此无需考虑无效的等价类划分。错 09 )软件本地化就是将一个软件产品按特定国家或语言市场的需要翻译过来。错 10)在压力测试中通常采用的是黑盒测试方法。对 11)软件测试员无法对产品说明书进行白盒测试。对 12)功能测试工具主要适合于回归测试。对 13)测试人员说:“没有可运行的程序,我无法进行测试工作” 。错 14)自底向上集成需要测试员编写驱动程序。对 15)测试是可以穷尽的。错 16)自动化测试相比手工测试而言,能发现更多的错误。错 17)软件测试自动化可以提高测试效率,可以代替手工测试。错语句至少被执行一次。对 18)语句覆盖法的基本思想是设计若干测试用例,运行被测程序,使程序中的每个可执行19) Beta 测试是验收测试的一种。对 20 )软件开发全过程的测试工作都可以实现自动化。错 21 )软件只要经过严格严谨的内部测试之后,可以做到没有缺陷。错 22)结构性测试是根据软件的规格说明来设计测试用例。错 23 )软件测试工具可以代替软件测试员。错 24 )通过软件测试,可以证明程序的正确性。错 25)在单元测试中,驱动程序模拟被测模块工作过程中所调用的下层模块。错26)软件缺陷可能会被修复,可能会被保留或者标识出来。对 27)测试用例是由测试输入数据和对应的实际输出结果这两部分组成。错28)单元测试通常由开发人员进行。对 (29 )现在人们普遍认为软件测试不应该贯穿整个软件生命周期,而应在编程完毕之后再进行,这样可以降低成本。错 (30)文档的错误不是软件缺陷。错 31) Junit 只是单元测试工具,并不能进行现回归测试。 (32)判定表法是一种白盒测试方法。

软件测试中的测试用例设计方法场景VS功能

软件测试中的测试用例设计方法场景VS功能 发布: 2010-7-16 10:20 | 作者: 网络转载 | 来源: 领测软件测试网采编 | 查看: 92次 | 进入软件测试论坛讨论软件测试中的测试用例设计方法场景VS功能 1、目的 不管我们在做哪些测试我想第一我们要站在用户的角度,以用户的使用逻辑及操作习惯为出发点,结合功能用例的设计方法,使用例设计更符合用户使用逻辑更具有可执行性,从而最大程度上覆盖用户需求。2、使用者 在使用者看来,用例设计、执行及热爱测试的人员 3、测试用例设计方法 按照不同的规则可以将测试用例分为四个部分:场景用例(用户场景)、系统用例(用户场景的细化)、功能用例(基于业务规则、界面)、设计指标(基于环境、性能、安全等)。 ◆ 用户场景用例:按照用户的实际操作与业务逻辑设计用例,不必涉及很复杂的操作或逻辑,把用户最常用的、正常的操作流程作为一个场景设计测试用例 ◆ 系统用例:是用户场景的细化,包含正常场景、分支场景和异常场景,是两个或多个有关联的功能组合而成的场景。 ◆ 功能用例:用于验证各功能点的业务规则,包括界面元素和各功能的业务规则验证。主要针对单个功能点。 ◆ 设计指标:系统所需要达到的各级指标。主要包含环境、性能、安全等方面的指标。 第一步:用户场景用例(关键字:模拟用户实际操作)

描述用户的主要业务目标,包含完整的系统级场景和模拟用户实际操作的不同场景,几个功能点的组合也算是用户场景,这类的用例不宜过多。 第二步:系统各角色的系统用例 将系统划分多个角色,再将每个角色分解为多个任务,每个任务就是一个系统用例。系统用例分别正常流程、异常流程,分支流程,以场景的形式描述。 系统用例命名原则:正常(异常、分支)流程_描述 第三步:功能用例 描述单点功能的逻辑规则及页面元素,分层描述逻辑规则,对逻辑规则细化可直接作为用例的操作步骤描述。 第四步:设计指标 设计指标包含三种类型的用例:环境测试用例、性能测试用例、安全性用例。 环境测试用例可依照操作系统版本,浏览器版本不同划分为多个用例。每个用例下可直接调用已有的用户场景用例、系统用例、功能用例,可无须单独编写用例。 4、用例设计规则 规则如下: 1)每个用例需要选择优先级,分为高、中、低三种。 每个用例需要关联项目。 2)需要特别强调的是,用户场景用例,一定要脱离系统提供功能,站在用户角度来设计用例,从用户实际可能的操作场景考虑。

报表测试用例设计方法总结

报表测试用例设计方法总结 报表的测试主要分为以下几个方面:界面,安全性,准确性,展示速度(性能) 数据统计方面 1、报表统计数据的正确性; 2、报表统计数据的完整性; 3、报表统计数据的合法性;比如,统计金额字段需求要求有“$”等; 报表格式 1、表头字段表示的正确性; 2、表头字段表示的完整性; 3、表头字段表示的字体,字号,美观程度; 4、各统计字段的显示是否满足需求;比如:数据过长时要求折行还是缩小; 5、页眉和页角的表示; 报表的预览和印刷 1、预览中的显示完整性; 2、多页情况下,第2页的表头显示; 3、能否实现需求要求的特定印刷情况;(比如,印刷使用指定的模板) 4、预览后印刷; 5、不预览,直接印刷 6、需求规定各类打印机的测试; 数据准确性测试,带有报表测试的系统分为两类,一类是业务系统中,带有统计分析功能模块,该模块中包含分析报表,这个系统的主体是业务系统,报表是为**业务的而提供帮助的。 比如说,应年检统计报表,某月应交罚款车辆统计报表,这样的报表数据准确与否,可通过增加、删减、修改相关业务或相关业务的参数,查看统计报表数据变化,检查数据准确性。

另一类是系统只有统计功能,就是我说的数据仓库展现这类,它与业务系统分离,并且经过多层处理,比如数据仓库的数据,经过抽取,清洗,展现前会经过数据挖掘,数据再处理,有些字段在原始数据表中根本就没有。这样的数据准确性测试比较复杂,当然检查出数据错误,修改定位也是很不容易的。 从整个项目节约成本看,逐层测试效果是最好的。完全修改率也是最高的。 首先建立测试数据模型,模拟所有应用表,建立简单易跟踪的数据用例,底层的数据表测试,方法很原始,嘿嘿,通过SQL语句和手工计算,对数据进行比对。对系统中的报表数据准确性测试方法较为灵活, ①系统中报表重叠的进行比对 ②对子报表汇总与父报表比对,就是对月报表汇总与年报表比对,日报表汇总与月报表比对,这只是一个方面,可以从维度关系考虑,地域,行政级别、时间,个人等方面下手,进行汇总比对 ③这个方法如果延伸点呢,可以将报表间的业务逻辑关系作为比对依据。呵呵,这要看测试人员的需求了解深度个人能力了。插几句不想干的话,做测试工作总让我保持快乐状态,前两天我的一个同事说,公司里一直没有人喜欢做测试工作,这个工作太枯燥。嘿嘿,我当时就说我做了这么多年的测试工作从来没有感觉到枯燥。重复性工作不代表枯燥,编程其实不也是重复嘛,人每天谁不重复昨天的事啊,吃饭,吃这个动作重复一生,有谁觉得麻烦枯燥啦? ④使用SQL和手工计算进行比对。以上是差错方式,接下来讲一下查什么错?哪些地方容易出错 ● 原始表使用错误:因为表比较多,又加上没有统一的数据关系对应表,很容易表使用错误,当然这应该是单元测试检查出来的错误。 ● 数据处理逻辑错误:这一点容易因为测试人员和开发人员对需求理解有偏差造成争执,所以在需求评审时,对数据处理规则用表达式或伪代码表示清楚。还有就是程序员失误,逻辑编写有偏差,边界值、特殊情况处理不当。 ● 数据权限:不同用户对数据有着不同的查看权限。这关系到数据的安全性。 ● 数据误差:数据的保留位数,数据是否是处理计算是否是最后一次计算使用了位数保留和四舍五入。 ● 由于字典表,数据错误,而造成的数据错误,如,根据性别统计,购买量,表中的男女颠倒,或者没有考虑性别缺失项,用了if else,这样就是把表中缺失该项内容的算成了

软件测试练习题及答案

练习题 一、判断 (01)测试是为了验证软件已正确地实现了用户的要求。错 (02)白盒测试仅与程序的内部结构有关,完全可以不考虑程序的功能要求。对 (03)白盒测试不仅与程序的内部结构有关,还要考虑程序的功能要求。错 (04)程序员兼任测试员可以提高工作效率。错 (05)黑盒测试的测试用例是根据应用程序的功能需求设计的。对 (06)当软件代码开发结束时,软件测试过程才开始。错 (07)据有关数据统计,代码中60%以上的缺陷可以通过代码审查发现出来。对(08)无效等价类是无效的输入数据构成的集合,因此无需考虑无效的等价类划分。错(09)软件本地化就是将一个软件产品按特定国家或语言市场的需要翻译过来。错(10)在压力测试中通常采用的是黑盒测试方法。对 (11)软件测试员无法对产品说明书进行白盒测试。对 (12)功能测试工具主要适合于回归测试。对 (13)测试人员说:“没有可运行的程序,我无法进行测试工作”。错 (14)自底向上集成需要测试员编写驱动程序。对 (15)测试是可以穷尽的。错 (16)自动化测试相比手工测试而言,能发现更多的错误。错 (17)软件测试自动化可以提高测试效率,可以代替手工测试。错 (18)语句覆盖法的基本思想是设计若干测试用例,运行被测程序,使程序中的每个可执行语句至少被执行一次。对 (19)Beta测试是验收测试的一种。对 (20)软件开发全过程的测试工作都可以实现自动化。错 (21)软件只要经过严格严谨的内部测试之后,可以做到没有缺陷。错 (22)结构性测试是根据软件的规格说明来设计测试用例。错 (23)软件测试工具可以代替软件测试员。错 (24)通过软件测试,可以证明程序的正确性。错 (25)在单元测试中,驱动程序模拟被测模块工作过程中所调用的下层模块。错(26)软件缺陷可能会被修复,可能会被保留或者标识出来。对 (27)测试用例是由测试输入数据和对应的实际输出结果这两部分组成。错(28)单元测试通常由开发人员进行。对 (29)现在人们普遍认为软件测试不应该贯穿整个软件生命周期,而应在编程完毕之后再进行,这样可以降低成本。错 (30)文档的错误不是软件缺陷。错 (31)Junit只是单元测试工具,并不能进行现回归测试。错 (32)判定表法是一种白盒测试方法。错 (33)白盒测试不考虑程序内部结构。错 (34)在单元测试中,桩程序模拟被测模块工作过程中所调用的下层模块。对

软件测试用例设计--场景分析方法

·软件测试用例设计--场景分析方法 方法简介 现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。这种在软件设计方面的思想也可以引入到软件测试中,可以比较生动地描绘出事件触发时的情景,有利于测试设计者设计测试用例,同时使测试用例更容易理解和执行。 基本流和备选流:如下图所示,图中经过用例的每条路径都用基本流和备选流来表示,直黑线表示基本流,是经过用例的最简单的路径。备选流用不同的色彩表示,一个备选流可能从基本流开始,在某个特定条件下执行,然后重新加入基本流中(如备选流1和3);也可能起源于另一个备选流(如备选流2),或者终止用例而不再重新加入到某个流(如备选流2和4)。 二.实战演习 1. 例子描述 下图所示是ATM例子的流程示意图。

表3-8 场景设计 注:为方便起见,备选流3和6(场景3和7)内的循环以及循环组合未纳入上表。 3.用例设计 对于这7个场景中的每一个场景都需要确定测试用例。可以采用矩阵或决策表来确定和管理测试用例。下面显示了一种通用格式,其中各行代表各个测试用例,而各 列则代表测试用例的信息。本示例中,对于每个测试用例,存在一个测试用例

ID、条件(或说明)、测试用例中涉及的所有数据元素(作为输入或已经存在于数据库中)以及预期结果。 表3-9 测试用例表 4.数据设计 一旦确定了所有的测试用例,则应对这些用例进行复审和验证以确保其准确且适度,并取消多余或等效的测试用例。

测试用例一经认可,就可以确定实际数据值(在测试用例实施矩阵中)并且设定测试数据,如表3-10所示。 表3-10 测试用例表

软件测试方法和技术练习题与答案

一、判断题 1. 测试是调试的一个部分(╳) 2. 软件测试的目的是尽可能多的找出软件的缺陷。(√) 3. 程序中隐藏错误的概率与其已发现的错误数成正比(√) 4. Beta 测试是验收测试的一种。(√) 5. 测试人员要坚持原则,缺陷未修复完坚决不予通过。(√) 6. 项目立项前测试人员不需要提交任何工件。(╳) 7. 单元测试能发现约80%的软件缺陷。(√) 8. 测试的目的是发现软件中的错误。(√) 9. 代码评审是检查源代码是否达到模块设计的要求。(√) 10. 自底向上集成需要测试员编写驱动程序。(√) 11. 测试是证明软件正确的方法。(╳) 12. 负载测试是验证要检验的系统的能力最高能达到什么程度。(√) 13. 测试中应该对有效和无效、期望和不期望的输入都要测试。(√)验收测试是由最终用户来实施的。(√) 14. 测试人员要坚持原则,缺陷未修复完坚决不予通过。(√) 黑盒测试也称为结构测试。(╳) 集成测试计划在需求分析阶段末提交。(╳) 15. 软件测试的目的是尽可能多的找出软件的缺陷。(√) 16. 自底向上集成需要测试员编写驱动程序。(√) 17. 负载测试是验证要检验的系统的能力最高能达到什么程度。(╳) 18. 测试程序仅仅按预期方式运行就行了。(╳)19. 不存在质量很高但可靠性很差的产品。(╳) 20. 软件测试员可以对产品说明书进行白盒测试。(╳) 21. 静态白盒测试可以找出遗漏之处和问题。(√) 22. 总是首先设计白盒测试用例。(╳) 23. 可以发布具有配置缺陷的软件产品。(√) 24. 所有软件必须进行某种程度的兼容性测试。(√) 25. 所有软件都有一个用户界面,因此必须测试易用性。(╳) 26. 测试组负责软件质量。(╳) 27. 按照测试实施组织划分,可将软件测试分为开发方测试、用户测试和第三方测试。(√) 28. 好的测试员不懈追求完美。(×) 29. 测试程序仅仅按预期方式运行就行了。( ×) 30. 在没有产品说明书和需求文档的条件下可以进行动态黑盒测试。( √) 31. 静态白盒测试可以找出遗漏之处和问题。( √) 32. 测试错误提示信息不属于文档测试范围。( ×) 33. 代码评审是检查源代码是否达到模块设计的要求。(√) 34. 总是首先设计黑盒测试用例。( √) 35. 软件测试是有风险的行为,并非所有的软件缺陷都能够被修复。(∨) 36. 软件质量保证和软件测试是同一层次的概念。(x ) 37. 程序员兼任测试员可以提高工作效率。(x ) 38. 在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。(∨)

软件测试技术习题参考答案

第1章软件测试概述 1、简述软件缺陷的含义。 答:软件缺陷是软件开发过程中潜在的缺陷,这些缺陷可能在软件运行后出现,因而使软件的性能和可靠性等方面与系统的设计需求不符。 2、说明软件缺陷、软件错误和软件失败的关系。 答:缺陷、缺点、偏差统称为缺陷,是软件故障的根源;错误、谬误、问题、异常、矛盾等统称为错误,软件错误出现的原因是软件缺陷所致;失败、事故、灾难统称失败,失败的直接原因是软件系统存在软件错误。 14、“软件测试是有风险的工作”,试解释这种说法的含义。 答:软件不测试,就会有风险;软件测试,同样也会有风险。因为,软件是个复杂的系统,其复杂性体现在软件实现的内容复杂性、开发过程的复杂性和组织工作的复杂性等方面。而软件测试的目的是为了发现故障,并加以排除。对一个复杂的软件系统来说,故障的排除往往可能又带来新的软件缺陷。所以,软件测试又会带来一定的风险。 第2章软件测试基础 2、条件覆盖是否高于判断覆盖的逻辑覆盖程度如果不是,请给出反例加以说明。 答:条件覆盖是高于判断覆盖的逻辑覆盖程度。 a 、用条件覆盖所设计的测试用例可使得程序中的每一个判断的每一个条件的可能 取值至少执行一次。 b、用判断覆盖所设计的测试用例可使被测程序中的每个判断的真分支和假分支至少经历 一次。 每个判断语句可能包含多个条件(比如,if (A>3&&B<7……)。条件覆盖针对判断语句的每一个条件的所有可能取值编写测试用例;判断覆盖只针对每一个判断语句整体的所有可能取值编写测试用例。所以,条件覆盖的逻辑覆盖程度高于判断覆盖。 4、已知某种计算机程序设计语言的标识符语法规则规定“标示符是由非数字开头的,有效 字符数为32个,最大字符数为128个的任意符号串”。试用等价类划分法设计测试用例。

谈软件测试常用方法和测试流程.

摘要:软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码的最终复审,是软件开发过程的重要组成部分,是软件质量保证的关键步骤。软件测试的方法可分为人工测试和机器测试,人工测试包括个人复查、走查和会审,机器测试可分为白盒测试和黑盒测试。软件测试虽然是一个独立的阶段, 但在实际工作中,测试的流程主要包含单元测试、组装测试、确认测试、系统测试四个阶段。 关键词:软件测试;白盒;黑盒;单元测试;组装测试;确认测试;系统测试 一、软件测试的常用方法 软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码的最终复审,是软件开发过程的重要组成部分,是软件质量保证的关键步骤。采用面向对象技术进行软件开发产生了两个结果:一是开发出功能更强大更便于用户使用的软件产品,二是生成规模庞大的程序代码和文档,这也必然导致更大规模的软件测试和维护工作。因此, 规范化的软件测试势在必行。规范化不只是测试的需求 (有效代码量、结构 /逻辑的复杂性、高性能 /高精确性 /高可靠性需求和消耗资源(人力 /时间 /测试频度规模化,更要求在面对规模庞大的软件测试需求,在合理的资源消耗基础上,实施有效的测试。 下图描述的是常用的一些测试方法 : 1、人工测试的方法 (1个人复查 个人复查是指程序员自行设计测试用例 ,对源代码、详细设计进行仔细检查,并记录错误、不足之处等。个人复查主要包括检查变量的正确性、检查标号的正确性、检查子程序、宏、函数、常量检查、标准检查、风格检查、比较控制流、选择、激活路径、对照详细说明书,阅读源代码和补充文档等方面的测试内容。 (2走查

走查是指测试人员先阅读相应的文档和源代码,然后人工将测试数据输入被测试程序,并在纸上跟踪监视程序的执行情况,人工沿着程序的逻辑走查运行一遍,跟踪走查运行的进程来发现程序的错误。走查的具体测试内容包括模块特性、模块接口、模块的对外输入或输出、局部数据结构、数据计算错误、控制流错误、处理出错和边界测试等方面。 (3会审 会审是指测试人员在会审前仔细阅读软件的有关资料,根据错误类型清单(根据以往的经验、对源程序的估计等,并在以后测试中给以丰富补充填写检测表,提出根据错误类型要提出的问题。会审时,由程序设计人员讲解程序的设计方法,由程序编写人员逐个讲解程序代码的编写,测试人员需要逐个审查, 提问,讨论可能出现的问题。会审对程序的功能、结构、逻辑和风格都要进行审定。会审的测试内容与“ 走查” 的内容相同。 2、机器测试 (1定义 机器测试的目的是检查程序的动态性能,检查程序在执行过程中存在的错误。尤其是发现程序在实现功能、逻辑通路、数值计算、数据处理、边界处理、错误处理等方面存在的错误。机器测试分为白盒测试和黑盒测试。 (2黑盒测试 黑盒测试即功能测试 ,这种方法是把软件看成一个看不见里面内容的黑盒,在完全不考虑程序内部结构和特性的情况下,测试软件的外部特性。根据软件的需求规格说明书设计测试用例,从程序输入和输出特性上检查程序是否满足设定的功能。黑盒测试常采用的方法是设计适量有效和无效的输入数据进行测试, 以期用最小的代价发现最多的错误。 (3白盒测试

如何设计和执行测试用例

如何设计和执行测试用例测试需求收集完毕后,开始测试设计。 测试用例是什么?测试用例就是一个文档,描述输入、动作、或者时间和一个期望的结果,其目的是确定应用程序的某个特性是否正常的工作。设计测试用例需要考虑以下问题: 测试用例的基本格式: 软件测试用例的基本要素包括测试用例编号、测试标题、重要级别、测试输入、操作步骤、预期结果,下面逐一介绍。 用例编号:测试用例的编号有一定的规则,比如系统测试用例的编号这样定义规则: PROJECT1-ST-001 ,命名规则是项目名称+测试阶段类型(系统测试阶段)+编号。定义测试用例编号,便于查找测试用例,便于测试用例的跟踪。 测试标题:对测试用例的描述,测试用例标题应该清楚表达测试用例的用途。比如“测试用户登录时输入错误密码时,软件的响应情况”。 重要级别:定义测试用例的优先级别,可以笼统的分为“高”和“低”两个级别。一般来说,如果软件需求的优先级为“高”,那么针对该需求的测试用例优先级也为“高” ;反之亦然, 测试输入:提供测试执行中的各种输入条件。根据需求中的输入条件,确定测试用例的输入。测试用例的输入对软件需求当中的输入有很大的依赖性,如果软件需求中没有很好的定义需求的输入,那么测试用例设计中会遇到很大的障碍。 操作步骤:提供测试执行过程的步骤。对于复杂的测试用例,测试用

例的输入需要分为几个步骤完成,这部分内容在操作步骤中详细列出。 预期结果:提供测试执行的预期结果,预期结果应该根据软件需求中的输出得出。如果在实际测试过程中,得到的实际测试结果与预期结果不符,那么测试不通过;反之则测试通过。 软件测试用例的设计主要从上述 6 个域考虑,结合相应的软件需求文档,在掌握一定测试用例设计方法的基础上,可以设计出比较全面、合理的测试用例。具体的测试用例设计方法可以参见相关的测试书籍,白盒测试方法和黑盒测试方法在绝大多数的软件测试书籍中都有详细的介绍。 一般来说,每个软件公司的项目可以分为固定的几大类。可以按业务类型划分,比如 ERP 软件、产品数据管理软件、通信软件、地理信息系统软件等等;可以按软件结构来划分,比如 B/S 架构的软件、 C/S 架构的软件、嵌入式软件等等。参考同类别软件的测试用例,会有很大的借鉴意义。如果,公司中有同类别的软件系统,千万别忘记把相关的测试用例拿来参考。如果,系统非常接近,甚至经过对测试用例简单修改就可以应用到当前被测试的软件。“拿来主义”可以极大的开阔测试用例设计思路,也可以节省大量的测试用例设计时间。 加强测试用例的评审: 测试用例设计完毕后,最好能够增加评审过程。 同行评审是 CMM3 级的一个 KPA ,如果因为公司没有通过 CMM3 级,就不开展同行评审是不恰当的。测试用例应该由产品相关的软件测试人员和软件开发人员评审,提交评审意见,然后根据评审意见更新测试用例。如果认真操作这个环节,测试用例中的很多问题都会暴露出来,比如用例设计错

软件测试中UI测试及其测试用例设计

界面是软件与用户交互的最直接的层,界面的好坏决定用户对软件的第一印象。而且设计良好的界面能够引导用户自己完成相应的操作,起到向导的作用。同时界面如同人的面孔,具有吸引用户的直接优势。设计合理的界面能给用户带来轻松愉悦的感受和成功的感觉,相反由于界面设计的失败,让用户有挫败感,再实用强大的功能都可能在用户的畏惧与放弃中付诸东流。目前界面的设计引起软件设计人员的重视的程度还远远不够,直到最近网页制作的兴起,才受到专家的青睐。而且设计良好的界面由于需要具有艺术美的天赋而遭拒绝。 目前流行的界面风格有三种方式:多窗体、单窗体以及资源管理器风格,无论那种风格,以下规则是应该被重视的。 按钮名称应该易懂,用词准确,屏弃没楞两可的字眼,要与同一界面上的其他按钮易于区分,能望文知意最好。理想的情况是用户不用查阅帮助就能知道该界面的功能并进行相关的正确操作。 易用性细则: 1) 完成相同或相近功能的按钮用Frame框起来,常用按钮要支持快捷方式。 2) 完成同一功能或任务的元素放在集中位置,减少鼠标移动的距离。 3) 按功能将界面划分局域块,用Frame框括起来,并要有功能说明或标题。 4) 界面要支持键盘自动浏览按钮功能,即按Tab键的自动切换功能。 5) 界面上首先应输入的和重要信息的控件在Tab顺序中应当靠前,位置也应放在窗口上较醒目的位置。 6) 同一界面上的控件数最好不要超过10个,多于10个时可以考虑使用分页界面显示。 7)分页界面要支持在页面间的快捷切换,常用组合快捷键Ct r l+Tab 8) 默认按钮要支持Ent er及选操作,即按Ent er后自动执行默认按钮对应操作。 9) 可写控件检测到非法输入后应给出说明并能自动获得焦点。 10) Tab键的顺序与控件排列顺序要一直,目前流行总体从上到下,同时行间从左到右的方式。 11) 复选框和选项框按选择几率的高底而先后排列。 12) 复选框和选项框要有默认选项,并支持Tab选择。 13) 选项数相同时多用选项框而不用下拉列表框。 14) 界面空间较小时使用下拉框而不用选项框。 15) 选项数叫少时使用选项框,相反使用下拉列表框。

软件测试的方法概念

软件测试的方法概念性: 1、按是否查看程序内部结构分为: (1)黑盒测试(black-box testing):只关心输入和输出的结果 (2)白盒测试(white-box testing):去研究里面的源代码和程序结构 2、按是否运行程序分为: (1)静态测试(static testing):是指不实际运行被测软件,而只是静态地检查程序代码、界面或文档可能存在的错误的过程。 静态测试包括: 对于代码测试,主要是测试代码是否符合相应的标准和规范。 对于界面测试,主要测试软件的实际界面与需求中的说明是否相符。 对于文档测试,主要测试用户手册和需求说明是否真正符合用户的实际需求。(5)动态测试(dynamic testing),是指实际运行被测程序,输入相应的测试数据,检查输出结果和预期结果是否相符的过程 3、按阶段划分: (1)单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。 桩模块(stud)是指模拟被测模块所调用的模块,驱动模块(driver)是指模拟被测模块的上级模块,驱动模块用来接收测试数据,启动被测模块并输出结果。(2)集成测试(integration testing),是单元测试的下一阶段,是指将通过测试的单元模块组装成系统或子系统,再进行测试,重点测试不同模块的接口部门。 集成测试就是用来检查各个单元模块结合到一起能否协同配合,正常运行。(3)系统测试(system testing),指的是将整个软件系统看做一个整体进行测试,包括对功能、性能,以及软件所运行的软硬件环境进行测试。 系统测试的主要依据是《系统需求规格说明书》文档。

软件测试习题集及答案详细版

精品文档 第一章 1.什么是软件测试?软件测试的目的和作用是什么? 答: 软件测试是在受控制的条件下对系统或应用程序进行操作并评价操作的结果。 软件测试的目的是以最少的时间和人力,系统地找出软件中潜在的各种错误和缺陷。测试是为了证明程序有错,而不是证明程序无错。一个成功的测试是发现了至今未发现的错误的测试。 软件测试的原则包括:所有的测试都应追溯到用户的需求;尽早地和不断地进行软件测试;不可能完全的测试,因为输入量太大,执行路径太多;注意测试中的群集现象;避免测试自己的程序;设计周密的测试用例。 2.软件缺陷产生的原因? 答:A.软件需求说明书编写的不全面,不完整,不准确,而且经常更改B.软件设计说明书C.软件操作人员的水平D.开发人员不能很好的理解需求明书和沟通不足 3.软件测试的意义? 意义: 1.对产品质量完成全面的评估,为软件产品发布(如验收测试)、软件系统部署(如性能规划测试)、软件产品鉴定(第三方独立测试)委托方和被委托方纠纷仲裁(第三方独立测试)和其它决策提供信息; 2.通过持续的测试(包括需求评审、设计评审、代码评审等)可以对产品质量提供持续的、快速的反馈,从而在整个开发过程中不断地、及时地改进产品的质量,并减少各种返工,降低软件开发的成本; 3.通过测试发现所要交付产品的缺陷,特别是尽可能地发现各种严重的缺陷,降低或消除产品质量风险,提高客户的满意度,扩大市场份额,提高客户的忠诚度。 4.通过对缺陷进行分析,找出缺陷发生的根本原因(软件过程中的问题,包括错误的行为方式)或总结出软件产品的缺陷模式,避免将来犯同样的错误或产生类似的产品问题,达到缺陷预防的目的 4.软件测试与软件开发的关系? 答:软件开发是一个系统的工程。包括需求分析,设计,编码,测试,维护等等几个环节。测试是整个软件开发流程中的一个环节。 5.简述软件测试过程v模型和w模型的主要区别: V模型是软件开发完了之后才开始测试活动。 而W模型则是软件测试活动伴随着软件开发活动。和软件开发同时开展。 W模型更加敏捷,对于软件的交付期和品质的保证能力更强。 精品文档. 精品文档第二章 6.测试计划的目的是什么?答:软件测试计划是指导测试过程的纲领性文件,包含了产品概述、测试策略、测试方法、测试区域、测试配置、测试周期、测试资源、测试交流、风险分析等内容。借助软件测试计划,参与测试的项目成员,尤其是测试管理人员,可以明确测试任务和测试方法,保持测试实施过程的顺畅沟通,跟踪和控制测试进度,应对测试

相关文档
最新文档