2007-05-11 18:22
人们常常以为,开发一个程序是困难的,测试一个程序则比较容易。这其实是误解。设计测试用例是一项细致并需要高度技巧的工作,稍有不慎就会顾此失彼,发生不应有的疏漏。
不论是黑盒测试方法还是白盒测试方法,由于测试情况数量巨大,都不可能进行彻底的测试。所谓彻底测试,就是让被测程序在一切可能的输入情况下全部执行一遍。通常也称这种测试为“穷举测试”。 “黑盒”法是穷举输入测试,只有把所有可能的输入都作为测试情况使用,才能以这种方法查出程序中所有的错误。实际上测试情况有无穷多个,人们不仅要测试所有合法的输..
2007-05-11 18:21
排错(即调试)与成功的测试形影相随。测试成功的标志是发现了错误。根据错误迹象确定错误的原因和准确位置,并加以改正的主要依靠排错技术。
1. 排错过程
如下图所示,排错过程开始于一个测试用例的执行,若测试结果与期望结果有出入,即出现了错误征兆,排错过程首先要找出错误原因,然后对错误进行修正。因此排错过程有两种可能,一是找到了错误原因并纠正了错误,另一种可能是错误原因不明,排错人员只得做某种推测,然后再设计测试用例证实这种推测,若一次推测失败,再做第二次推测,直到发现并纠正了错误。
..
2007-05-11 18:21
计算机软件是基于计算机系统的一个重要组成部分,软件开发完毕后应与系统中其它成分集成在一起,此时需要进行一系列系统集成和确认测试。对这些测试的详细讨论已超出软件工程的范围,这些测试也不可能仅由软件开发人员完成。在系统测试之前,软件工程师应完成下列工作:
(1) 为测试软件系统的输入信息设计出错处理通路;
(2) 设计测试用例,模拟错误数据和软件界面可能发生的错误,记录测试结果,为系统测试提供经验和帮助;
(3) 参与系统测试的规划和设计,保证软件测试的合理性。
系统测试应该由若干个不同测..
2007-05-11 18:20
通过综合测试之后,软件已完全组装起来,接口方面的错误也已排除,软件测试的最后一步——确认测试即可开始。确认测试应检查软件能否按合同要求进行工作,即是否满足软件需求说明书中的确认标准。
1. 确认测试标准
实现软件确认要通过一系列墨盒测试。确认测试同样需要制订测试计划和过程,测试计划应规定测试的种类和测试进度,测试过程则定义一些特殊的测试用例,旨在说明软件与需求是否一致。无是计划还是过程,都应该着重考虑软件是否满足合同规定的所有功能和性能,文档资料是否完整、准确人机界面和其他方面(例如..
2007-05-11 18:20
时常有这样的情况发生,每个模块都能单独工作,但这些模块集成在一起之后却不能正常工作。主要原因是,模块相互调用时接口会引入许多新问题。例如,数据经过接口可能丢失;一个模块对另一模块可能造成不应有的影响;几个子功能组合起来不能实现主功能;误差不断积累达到不可接受的程度;全局数据结构出现错误,等等。综合测试是组装软件的系统测试技术,按设计要求把通过单元测试的各个模块组装在一起之后,进行综合测试以便发现与接口有关的各种错误。
某设计人员习惯于把所有模块按设计要求一次全部组装起来,然后进行整体测试..
2007-05-11 18:19
单元测试的对象是软件设计的最小单位——模块。单元测试的依据是详细设描述,单元测试应对模块内所有重要的控制路径设计测试用例,以便发现模块内部的错误。单元测试多采用白盒测试技术,系统内多个模块可以并行地进行测试。
单元测试任务
单元测试任务包括:1 模块接口测试;2 模块局部数据结构测试;3 模块边界条件测试;4 模块中所有独立执行通路测试;5 模块的各条错误处理通路测试。
模块接口测试是单元测试的基础。只有在数据能正确流入、流出模块的前提下,其他测试才有意义。测试接口正确与否应该考虑下列因素..
2007-05-11 18:19
软件测试的方法和技术是多种多样的。
对于软件测试技术,可以从不同的角度加以分类:
从是否需要执行被测软件的角度,可分为静态测试和动态测试。
从测试是否针对系统的内部结构和具体实现算法的角度来看,可分为白盒测试和黑盒测试;
1、黑盒测试
黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用,在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求..
2007-05-11 18:18
作为软件开发的重要环节,软件测试越来越受到人们的重视。随着软件开发规模的增大、复杂程度的增加,以寻找软件中的错误为目的的测试工作就显得更加困难。然而,为了尽可能多地找出程序中的错误,生产出高质量的软件产品,加强对测试工作的组织和管理就显得尤为重要。
从软件的生存周期看,测试往往指对程序的测试,这样做的优点是被测对象明确,测试的可操作性相对较强。但是,由于测试的依据是规格说明书、设计文档和使用说明书,如果设计有错误,测试的质量就难以保证。即使测试后发现是设计的错误,这时,修改的代价是相当昂..
2007-05-11 18:18
软件测试的目的决定了如何去组织测试。如果测试的目的是为了尽可能多地找出错误,那么测试就应该直接针对软件比较复杂的部分或是以前出错比较多的位置。如果测试目的是为了给最终用户提供具有一定可信度的质量评价,那么测试就应该直接针对在实际应用中会经常用到的商业假设。
不同的机构会有不同的测试目的;相同的机构也可能有不同测试目的,可能是测试不同区域或是对同一区域的不同层次的测试。
在谈到软件测试时,许多人都引用Grenford J. Myers在《The Art of Software Testing》一书中的观点:
①、软件测试是为..
2007-05-11 18:17
信息技术的飞速发展,使软件产品应用到社会的各个领域,软件产品的质量自然成为人们共同关注的焦点。不论软件的生产者还是软件的使用者,均生存在竞争的环境中,软件开发商为了占有市场,必须把产品质量作为企业的重要目标之一,以免在激烈的竞争中被淘汰出局。用户为了保证自己业务的顺利完成,当然希望选用优质的软件。质量不佳的软件产品不仅会使开发商的维护费用和用户的使用成本大幅增加,还可能产生其他的责任风险,造成公司信誉下降,继而冲击股票市场。在一些关键应用 (如民航订票系统、银行结算系统、证券交易系统、自动飞行..
2007-05-11 18:17
首先谈谈软件测试。这可以说是一个非常令人捉摸不定的领域。“应该怎样对我们的产品进行测试?”和“怎样才算对产品进行了足够的测试?”等问题,对于不同企业的不同类产品、同一企业的不同类产品、或不同企业的同一类产品,实际操作上都会有很大的不同。
SEI的SW-CMM在它的成熟度第三级的“软件产品工程”关键过程域中,把软件开发周期中不同阶段的测试作为实施活动中的关键实践。(在SW-CMM版本2.0 的讨论过程中,曾经有过提议,在成熟度第二级设立一个关键过程域“软件测试管理”。但在版本2.0 的讨论稿C 中,并没有这样做。从..
2007-05-11 18:16
一 现有自动化测试工具的不足
当前,一个摆在软件测试自动化面前的一个很明显的事实是目前可用的工具并不能做一切我们想要它们做的事情;指望任何一种工具能够完全支持众多不同应用的测试自动化是不现实的。由于很难找到一个能完全满足测试自动化需要的测试工具,而且测试自动化工具都十分昂贵,所以常用的做法是使用一种主要的自动化测试工具,然后用传统的编程语言如Java, C++ 和 Visual Basic编写自动化测试脚本以弥补该工具的不足之处。
二 Visual Basic 应用于自动化测试的优点和局限性
利用Visual Basic之所以能实现..
2007-05-11 18:13
一、 测试的目的和原则
测试概念的范畴
广义上讲,测试是指软件产品生存周期内所有的检查、评审和确认活动。如:设计评审、系统测试。
狭义上讲,测试是对软件产品质量的检验和评价。它一方面检查软件产品质量中存在的质量问题,同时对产品质量进行客观的评价。
测试的目的
简单地说,就是替用户受过,测试的最终目的是确保最终交给用户的产品的功能符合用户的需求,把尽可能多的问题在产品交给用户之前发现并改正。
具体地讲,测试一般要达到下列目标:
(1)确保产品完成了它所承诺或公布的功能,并且所..
2007-05-11 18:12
简介
测试的主要评测方法包括覆盖和质量。
测试覆盖是对测试完全程度的评测,它建立在测试覆盖基础上,测试覆盖是由测试需求和测试用例的覆盖或已执行代码的覆盖表示的。
质量是对测试对象(系统或测试的应用程序)的可靠性、稳定性以及性能的评测。质量建立在对测试结果的评估和对测试过程中确定的变更请求(缺陷)的分析的基础上。
覆盖评测
覆盖指标提供了"测试的完全程度如何?"这一问题的答案。最常用的覆盖评测是基于需求的测试覆盖和基于代码的测试覆盖。简而言之,测试覆盖是就需求(基于..
2007-05-11 18:11
本人是上海大学研究生,做测试用例生成的研究。因为读过一些关于测试方面的书籍,很早就想把他们总结一下,又不知道是不是自己在献丑,假如我读过的别人都读过呢?那我不就自做多情了。不过只要有人读过我的这一段, 并能对你起到一点点的帮助,我就心满意足了。:)
测试的书,在国内并不是很多,不过我最近到
www.cnforyou.com和计算机书店看了一下,最近引进和翻译了一些国外有名的软件工程方面的书,包括软件过程,配置管理,UML,代码设计,需求分析方面的 一些经典之作(经不经典不知道,既然引进了大概经典的比较多)..
2007-05-11 18:10
SEANHE 2002-3-12
可能在大多数的公司内,测试人员都没有得到他们应该得到的待遇,无论是金钱上还是地位上。可是
我们能通过什么方法来改善那?当然可以换工作,但是有没有更积极的做法那?大家都出出主意,让
我们可以一起发展。
SAjiang 2002-3-1 10:8:29
我觉得应该从多个方面入手来进行:
1、管理层重视,如果管理层不重视,就给他洗脑,如何还不行,就换工作。
2、开发人员对测试的看法,开发人员往往自我感觉好,认为测试是低一等的工作,必须转变开发人
..
2007-05-11 18:10
ü 黑盒测试 (Black box testing) ── 不考虑内部设计和代码,根据需求和功能进行测试。
黑盒测试(Black box testing) ____不考虑内部设计和代码,根据需求和功能进行测试
ü 白盒测试 (White box testing) ── 根据应用软件的代码的内部逻辑,按照代码的语句、分支、路径和条件进行测试。
白盒测试(White box testing) -------根据应用软件的代码的内部逻辑,按照代码的语句、分支、路径和条件进行测试
ü &n..
2007-05-11 18:09
介绍
本文将 web 测试分为 6 个部分:
用户界面测试
功能测试
接口测试
兼容性测试
负载/压力测试
安全测试
本文的目的是覆盖 web 测试的各个方面,未就某一主题进行深入说明。
用户界面
使用 Web 浏览器作为应用程序的前台的一个原因就是它易于使用。用户知道如何浏览一个构建良好的网站。如果你注重这方面的测试,那么验证应用程序是否易于使用就非常重要了。很多人认为这是测试中最不重要的部分,但是如果你想通过网站赚钱,最好使你的网站使用起来更加方便。
使用说明
应该确认你的站点有使用说明。即使你认为你..
2007-05-11 18:08
一、整体流程
编码人员进行单元测试
设计人员验证单元测试;进行组合测试
需求人员验证组合测试;进行系统测试
测试部进行α测试
市场中心组织用户进行β测试
递交产品管理部/用户
二、说明
1、 编码人员进行单元测试工作,以规范的格式提交可运行的程序模块;单元测试结果由设计人员进行核实和验证;
2、 设计人员确认移交产品各项功能完备和稳定性之后,进行组合测试;组合测试结果提交需求人员进行核实和验证;
3、 需求人员确认移交产品各项功能完备和稳定性之后,进行系统测试;系统测试结果经产品/项目经..
2007-05-11 18:07
测试生命周期
测试计划 → 测试设计 → 测试开发 → 测试执行 → 测试评估
测试计划就是定义一个测试项目的过程,以便能够正确的度量和控制测试。
第一部分:测试计划
测试计划的问题:
1、测试计划经常是等到开发周期后期才开始实行,使得没有时间有效的执行计划;
2、测试计划的组织者可能缺乏Client/Server测试经验;
3、测试的量度和复杂性可能太大,没有自动化工具,很难计划和控制。
测试策略:
测试策略描述测试工程的总体方法和目标。描述目前在进行哪一阶段的测试(单元测试、集成测..