搜档网
当前位置:搜档网 › 软件测试的策略和方法

软件测试的策略和方法

软件测试的策略和方法
软件测试的策略和方法

软件测试按使用的测试技术不同可以将测试分为静态测试和动态测试。

静态测试

静态测试是指依据需求规格说明书、软件设计说明书、源程序做结构分析、流程图分析、符号执行,对软件进行分析、检查和测试,不实际运行被测试的软件,约可找出30~70%的逻辑设计错误。

动态测试

动态测试是指通过运行软件来检验软件的动态行为和运行结果的正确性。动态测试的两个基本要素:被测试程序和测试数据(测试用例)。

静态测试可以分为静态分析和代码审查。动态测试可为分白盒测试、黑盒测试和穷尽测试。

静态分析

静态分析是一种计算机辅助静态分析方法。主要对程序进行控制流分析、数据流分析、接口分析和表达式分析等。静态分析的对象是计算机程序,程序设计语言不同,相应的静态分析工具也就不同。目前具备静态分析功能的软件测试工具如Purify、Macabe等。

代码走查

代码走查是一种人工测试方法。包括代码评审和走查。主要依靠有经验的程序设计人员根据软件设计文档,通过阅读程序,发现软件缺陷。

白盒测试

白盒测试又称结构测试,玻璃盒测试或基于覆盖的测试。

白盒测试是一种按照程序内部的逻辑结构设计测试方法。在计算机上进行测试,以证实每种内部操作是否符合设计规格要求,所有内部成分是否已经过检查。检验程序的每条通路是否按预期正常进行,力求提高测试覆盖率。

白盒测试把测试对象看做一个打开的盒子,允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。

黑盒测试

黑盒测试又称为功能测试,数据驱动测试,基于规格说明书的测试。

黑盒测试是一种从软件需求开发,根据软件需求规格说明设计测试用例,并按照测试用例的要求运行被测程序的测试方法。它根据软件产品的功能设计规格,在计算机上进行测试,以证实每个已经实现的功能是否符合要求。

黑盒将被测试程序对象看作黑盒子,不考虑其内部程序结构与处理过程,仅仅对于程序接口进行测试。即检查适当的输入是否能够产生适当的输出。

穷尽测试

不论黑盒还是白盒测试都不能进行穷尽测试,所以软件测试不可能发现程序中存在的所有错误,因此需精心设计测试方案,力争尽可能少的次数,测出尽可能多的错误。

1、软件质量工程包括软件质量保证、软件质量规划和软件质量控制三大方面。 2、McCall模型产品修改纬度的质量因素有可维护性、可测试性、灵活性。 3、面向对象模型不同于其他模型的主要特征是组件的密集重用。 4、有两种同行评审方法学:审查和走查。 5、RMA可以划分成三组类别内部风险管理措施,分包风险管理措施,顾客风险管理措施 6、支持性质量手段有模板和检查表。 7、依据软件系统的生命周期和其他阶段,软件质量度量划分为软件过程度量和软件产品度量。 8、软件配置发布的版本有基线版本、中间版本、修订版本。 9、SQA标准被划分成软件质量管理标准和软件项目过程标准两类。 10、软件缺陷的固有特征有软件缺陷的固有性、软件缺陷的敏感性、软件缺陷的感染性。 11、McCall模型划分了软件运行、软件转移、软件修改三个纬度的11个软件质量因素。 12、螺旋模型任何一次迭代都可划分为制定计划、风险分析和化解、工程和顾客评估四个项限。 13、依据合同评审的目标对合同评审主题进行分类为建议草案评审主题和合同草案评审主题两种类型。

14、典型的版本方针包括严格-单一活动版本方针、多版本方针。 15、软件对属于各种质量因素的需求的符合性是由软件质量度量来测量的。 16、CAPA过程的成功运行包含如下活动:信息收集、信息分析、解决方案和改进方法的建立、改进方法的执行、跟踪。 17、常见的软件配置演化模型有线性演化模型和树演化模型。 18、软件更改的质量保证工作需要每个更改的SCI的质量保证和整个新软件系统版本的质量保证两个级别的活动。 19、从内容和重点上我们可以把质量管理标准划分成认证标准和评估标准两种类型。 20、测试人员、SQA单位是SQA专职人员。 21、CMM内容包含初始级、可重复级、已定义级、已管理级和可优化级五个等级。 22、软件质量保证的目标包括面向产品的软件开发和面向过程的软件维护两大方面。 23、开发生命周期阶段SQA部件可以划分成三类:评审、专家观点、软件测试、软件维护SQA部件和由第三方/分包商使用的SQA部件。 24、版本方针和更改方针是维护方针的主要组成。 25、外部参与方可被分类为分包商、COTS软件和重用软件模块的供

1.1.1软硬件测试方案 1.1.1.1测试目的和要求 1.1.1.1.1测试目的 作为软件开发的重要环节,软件测试越来越受到人们的重视,软件测试是软件工程过程的一个重要阶段,是在软件投入运行前,对软件需求分析、设计和编码各阶段产品的最终检查,是为了保证软件的正确性、完全性和一致性,从而检测软件错误、修正软件错误的过程。随着软件开发规模的增大、复杂程度的增加,以寻找软件中的错误为目的的测试工作就显得更加困难,因此要求测试计划和测试管理更加完备。本次测试安排在项目进行编码过程中和编码完成后进行,测试的内容包括系统界面风格、主要功能、容错能力、模块间的关联等等,依据正规步骤完成单元测试、边缘测试、整体测试。通过测试,及时发现存在于程序中的错误并根据测试结果对程序进行修改,从而确保提交给用户的程序是经过检验并能顺利运行的。 1.1.1.1.2测试的总体要求 软件测试可运用多种不同的测试策略来实现,最常用的方式是自底向上分阶段进行,对不同开发阶段的产品采用不同的测试方法进行检测,从测试开始,然后进行功能测试,最终进行系统测试。 尽早地和不断地进行软件测试。 保证系统风格与界面统一。 保证各系统联接正确,数据传送正常。

抽检程序的内部编写情况无误。 测试用例应由测试输入数据和对应的预期输出结果两部分组 成。 程序员应避免负责测试自己编写的程序。 测试用例,应当包括合理和不合理的输入条件。 应当检查程序是否有不希望的副作用。 程序流程和接口内容绝不可忽视。 充分注意测试中的群体现象。 严格执行测试计划。 对每个测试结果严格检查。 妥善保存文档。 性能测试和功能测试同等重要。 1.1.1.1.3测试人员及组织分工 参加测试人员包括技术支持组部分人员、开发小组全体成员、质保组测试成员和用户人员。组织分工如下: 单元测试:由实施组成员在编码过程中,各自以及交叉进行单元测试。 集成测试:由质保组两名测试成员、实施组两名成员进行集成测试。 系统测试:由技术组项目技术负责人、系统设计师、用户人员进行系统测试。

软件测试的定义及常用软件测试方法介绍 一、软件测试的定义 1.定义:使用人工或者自动手段来运行或测试某个系统的过程,其目的在于检验它是否满 足规定的需求或弄清预期结果与实际结果之间的差别。 2.内容:软件测试主要工作内容是验证(verification)和确认(validation ),下面分别给 出其概念: 验证(verification)是保证软件正确地实现了一些特定功能的一系列活动,即保证软件以正确的方式来做了这个事件(Do it right) 1.确定软件生存周期中的一个给定阶段的产品是否达到前阶段确立的需求的过程 2.程序正确性的形式证明,即采用形式理论证明程序符合设计规约规定的过程 3.评市、审查、测试、检查、审计等各类活动,或对某些项处理、服务或文件等是否 和规定的需求相一致进行判断和提出报告。 确认(validation)是一系列的活动和过程,目的是想证实在一个给定的外部环境中软件的逻辑正确性。即保证软件做了你所期望的事情。(Do the right thing) 1.静态确认,不在计算机上实际执行程序,通过人工或程序分析来证明软件的正确性 2.动态确认,通过执行程序做分析,测试程序的动态行为,以证实软件是否存在问题。 软件测试的对象不仅仅是程序测试,软件测试应该包括整个软件开发期间各个阶段所产生的文档,如需求规格说明、概要设计文档、详细设计文档,当然软件测试的主要对象还是源程序。 二、软件测试常用方法 1. 从是否关心软件内部结构和具体实现的角度划分: a. 黑盒测试 黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。 黑盒测试是以用户的角度,从输入数据和输出数据的对应关系出发进行测试的,很明显,如果本身设计有问题或者说明规格有错误,用黑盒测试是发现不了的。

1、判定覆盖设计足够多的测试用例,使得被测试程序中的每个判断的“真”、“假”分支_至少被执行一次。 2、黑盒测试的具体技术方法 ____________、 __________、 __________、____________。 等价类划分法,边界值分析法,决策表法,因果图法 3、黑盒测试又称之为___________测试。 功能 4、等价类划分有两种不同的情况:____________和____________。 有效等价类,无效等价类 5、根据覆盖目标的不同,逻辑覆盖又可分为:________________,_____________,_______________,__________________,条件组合覆盖,判断/条件覆盖。 语句覆盖,判定覆盖,条件覆盖,路径覆盖 6、根据软件生命周期中的定义,可以把自动化测试工具划分3大类____________,____________和 ____________。 白盒测试工具、黑盒测试工具、测试管理工具 7、软件测试是为发现程序中的______________而执行程序的______________。 错误,过程 8、测试用例是由______________和预期的______________两部分组成。 测试输入数据,输出数据 9、白盒测试又称为______________,可以分为______________和______________两大类。 结构测试,静态测试,动态测试 10、软件是包括____________﹑____________﹑____________的完整集合。 程序,数据,相关文档 11、边界值分析法属于____________。 黑盒测试 12、单元测试是以____________说明书为指导,测试源程序代码。 详细设计 13、集成测试以____________说明书指导,测试软件结构。 概要设计 14、确认测试以____________说明书为指导。 需求分析 15、软件开发的基本过程____________,_____________,_______________,_____________, _____________,______________。 需求分析、概要设计、详细设计,编码,测试、维护 16、代码复审属于____________,不实际运行程序。 静态测试 17、集成测试把模块组成成系统的测试方式:_____________和______________。 一次性集成测试,增量式集成测试 18、黑盒测试有两种基本方法,即:_____________和______________。 通过测试,失败测试 二、选择题(每题3分,共10题,分数为30分) 1. 下列哪一项不是白盒测试?(C) A.单元测试 B.集成测试 C.系统测试 D.回归测试 2. 属于黑盒测试的方法?(C) A.基于基本路径 B.控制流 C.基于用户需求测试 D.逻辑覆盖 3.在Assert类中断言对象为NULL是_____。(C) A.assertEquals B.assertTrue C.assertNull D.fail 4.___________的目的是对最终软件系统进行全面的测试确保最终软件系统产品满足需求。(A)

C D M A手机测试经验总结手机测试前要先注意手机上市的三个里程碑: 1.信息产业部 TA测试 由信息产业部进行的为获取NAL(Network Access License)而进行的测试。与软件测试相关的主要是CTTL的一部分测试用例和UG交叉检查。UG提到的功能都要求已经实现。一般来说,检查的都是比较基本的功能。网络运营商PA测试 由运营商进行的产品接受性测试。与软件测试相关的主要是增值业务测试。这里要求有关增值业务的软件,都能符合运营商的要求(有终端规范和测试规范)。另外,要求手机软件成熟、稳定。3. 手机上市 主要的测试策略 ?Release Test:每个软件版本都要进行的测试,主要涉及每个Feature最基本的功能。 ?Error Verification:集中在这个版本相对上个版本修改的Error、增强的功能以及新加的功能的测试。 ?Full Feature Test: Feature功能的全面的测试。考虑到人力,资源以及有效性,只在比较重要的软件版本上测。(要求测试的软件版本具有一定稳定性和成熟度) ?CTTL Related Test&UG Cross Check: 主要是针对TA做的准备测试。 ?Error Regression Test:在最后相对稳定的软件版本上,把已经修改好的Error重新验证一遍,以确保没有重新出现。 ?Pre-PA Test:按照运营商的测试规范进行的增值业务相关的测试。

?Free Test:有效地弥补测试用例的缺陷。发现深层次错误的重要途径。 测试重点:Before TA ?每个软件版本都要进行Release Test和Error Verification。 ?手机的所有Feature都Configuration好之后,就可以进行一次全面的Full Feature Test。 ?尽早进行CTTL Related Test&UG Cross Check,给研发人员充分的时间去修改Error。 ?如果只有一部分的Feature提前做好Configuration,就可以对这些Feature进行单独的Full Feature Test。 测试重点:Before PA?在这段时期主要针对增值业务的测试以及对于先前发现的Error的跟踪测试。 ?对于支持运营商的增值业务的手机,要对相关Feature进行Full Feature Test和准备PA测试。 ?由于前一阶段时间有限,为了弥补对一些没有覆盖的功能以及一些深层次的测试,需要对各个Feature进行有方向的大量的Free Test。 ?在要送往运营商做PA测试的软件版本上,进行所有Feature的Full Feature Test,以及准备PA测试,确保能够通过测试。 测试重点:Before Launch ?这段时期软件相对比较成熟,主要应该考虑一些以前测试比较薄弱的地方、或者Error比较集中的地方。 如何做好手机UI测试项目的管理 ?角色分工清晰

软件系统测试报告 ——网上招聘系统 学院:计算机科学学院 背景: 如今网上招聘越来越普遍,但有些招聘系统的综合性能不是很好,

比如系统的冗余、系统的性能、安全性、完整性等等都有待提高,本次测试的目的就是针对本系统的性能进行测试。 一.实验目的 1、通过对测试结果的分析,得到对软件质量的评价 2、分析测试的过程,产品,资源,信息,为以后制定测试计划提供参考 3、评估测试测试执行和测试计划是否符合 4、分析系统存在的缺陷,为修复和预防bug提供建议 二、实验内容 该文档的目的是描述网上招聘系统项目客户端系统测试的总结报告,其主要内容包括: ●系统环境简介 1、软件名称:网上招聘求职系统 2、软件功能:为求职者提供求职、收藏、信息交互等功能;为招聘单位提供招聘、收藏、信息交互等功能;为管理员提供管理网站公告、友情链接和网站会员的管理功能。 3、用户:求职者、招聘单位、管理员 4、开发者:ZSS ●系统数据度量 ●系统结果评估 用户群:1、项目管理人员 2、测试人员 范围:该文档定义了客户端系统测试的结果,总结了测试客户端的

职位查询、网上提交简历、在线答题的基本功能,以及支持大数据量并发访问的性能,给出了测试的结论。 2.1严重bug:出现以下缺陷,测试定义为严重bug 系统无响应,处于死机状态,需要其他人工修复系统才可复原。 点击某个菜单后出现“The page cannot be displayed”或者返回 异常错误。 进行某个操作(增加、修改、删除等)后,出现“The page cannot be displayed”或者返回异常错误 2.2缩写说明 HR--- Human Resource(人力资源管理)的缩写。 MVC---Model-View-Control(模式-视图-控制)的缩写,表示一个三层的结构体系。 2.3测试类型 a、功能性测试:按照系统需求定义中的功能定义部分对系统实行的系统级别的测试。 b、非功能性测试:按照系统需求定义中的非功能定义部分(如系统的性能指标,安全性能指标等)对系统实行的系统级别的测试。 c、测试用例:测试人员设计出来的用来测试软件某个功能的一种情形 2.4参考资料 [1] 《LoadRunner使用手册》北京长江软件有限公司编制 [2] 《网上招聘客户端需求说明》北京长江软件有限公司编制

软件测试方法 β测试_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、人工测试的方法 (1个人复查 个人复查是指程序员自行设计测试用例 ,对源代码、详细设计进行仔细检查,并记录错误、不足之处等。个人复查主要包括检查变量的正确性、检查标号的正确性、检查子程序、宏、函数、常量检查、标准检查、风格检查、比较控制流、选择、激活路径、对照详细说明书,阅读源代码和补充文档等方面的测试内容。 (2走查

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

目录 目录 (1) 系统总体测试策略 (2) 1概述......................................................................................... 错误!未定义书签。2产品研发状况分析.. (3) 3测试综述 (3) 3.1测试项目分析 (3) 3.2项目继承部分的测试策略 (4) 3.3自动化测试策略 (4) 4测试设计策略 (4) 4.1特性方案设计策略 (4) 5SIT策略.................................................................................... 错误!未定义书签。 5.1测试重点 (5) 5.2测试环境及工具 (5) 5.3入口准则 (6) 5.4出口准则 (6) 6SVT策略 (6) 6.1测试重点 (6) 6.2测试环境及工具 (6) 6.3入口准则 (6) 6.4出口准则 (6) 7认证和标竿测试策略 (6) 7.1测试重点 (6) 7.2测试环境及工具 (6) 7.3入口准则 (7) 7.4出口准则 (7) 8UAT测试策略 (7) 8.1测试重点 (7) 8.2测试环境及工具 (7) 8.3入口准则 (7) 8.4出口准则 (7) 9其它特殊测试的策略 (7)

错误!未找到引用源。关键词: 摘要: 缩略语清单:

1 概述 描述本策略覆盖的范围(包括和不包括的内容),可明确所覆盖的IPD阶段以及产品测试活动。 2 产品研发状况分析 产品的研发状况对该产品的测试策略具有决定性的影响,不同的产品研发状况将可能导致完全不同的测试策略,测试组应根据产品的研发状况确定正确的测试策略以达到最优的测试效果。 参考Build计划,对产品的Build划分以及各个Build包含的主要特性、功能进行简要介绍,作为策略制定的重要基础和依据。 3 测试综述 3.1 测试项目分析 总体上简要介绍产品测试过程中要开展的主要活动,策略,各活动各自的测试关注点。下表中的测试项目仅代表示例,并不是产品内部测试的全部,它仅反映了该测试阶段的部分特点,在实际描述时,可依产品具体情况确定。

进销存系统测试点 一、表结构,与其他表的关联 例:CRM中客户服务、投诉在使用了客户资料,仍可删除已使用的客户资料 二、错误时的提示信息,页面的错别字等、页面的一致性 例:编号重复,提示信息的图标是个正确的图标 三、业务流程 例:采购订单到订单收货的状态间的来回转换,审核——收货——作废——再新增 四、不同状态间的转换,页面处在某一状态(修改、新增),切换其他页面再切换回来时的状态 例:CRM中新增客户分类,在填写完编号和名称不保存状态下,切换到客户资料、服务等项,再切换回来查看当前的新增、修改、保存、取消、删除等按钮的状态 五、大量数据添加 例:商品主档供应商明细添加多条数据 六、每个按钮在有数据和没数据状态下点击的效果 例:CRM客户资料在没有数据的情况下点击转换客户、新增、删除等按钮的提示 七、修改某个页面的某个功能后,对页面其他功能的影响(回归测试) 例:增加供应商明细,对打印的影响,此供应商与采购订单和基础数据供应商的关联 八、在测试某个功能时单独测试所有页面的此个功能 例:进销存的打印,导出excel功能 九、权限 例:系统配置中,普通员工只可查看某项功能 十、未启用某功能时,实际显示是怎样的 例:未启用计税,或买价卖价不可见,实际在界面上,包括二级界面,打印界面等,是否能看到买价和卖价 十一、快捷键、回车、TAB 十二、初始值、焦点的定位、默认值 十三、数据计算,税率,合计,总金额,优惠,成本的计算 十四、刚使用系统,系统没有数据的情况下点击所有可点击按钮

十五、不可编辑的显示框是否可编辑,必填项,非必填项,少填必填项的提示 十六、注册与登录 每项单独填写,查看是否能提交 密码与确认密码的匹配性 十七、表单,提交的表单与实际数据是否对应 十八、关联性,假如某个模块用到这个字段或其他字段,其他有相同字段的是否有同样错误十九、一个页面有修改,取消,删除等功能时,进行这些操作跳转后的页面。 二十、测试网络在断网、更换本机IP、超时等情况下系统的反映 测试方法:主要针对编辑框 等价类测试 正数 负数 小数 空 空格 字母 汉字 特殊符号、 边界值: 例如:编辑框内规定能输入最长20位字符 测试为空空格1位19位20位21位,更多位 例2:编辑框可输入1——100的数 要测的数据有0、1、2、50、49、99、100、101、500 继续教育测试 一、首页、内页排版 兼容性,火狐、谷歌、IE浏览器及其他浏览器 二、数据准确性 前台信息显示与后台添加的数据,课表的查询与课表管理中的对应性,考试安排同三、不同用户登录的权限 学生登录、教师登录 四、用户名、密码登录 五、初始化数据、默认数据 添加课表时,学期和学年的默认数据 六、课表管理、考试安排的冲突处理 七、课表管理的显示

几种常见软件可靠性测试方法综述及应用对比 上海交通大学陈晓芳 [摘要]软件可靠性测试是软件可靠性工程的一项重要工作内容,是满足软件可靠性要求、评价软件可靠性水平及验证软件产品是否达到可靠性要求的重要途径。本文探讨、研究了软件可靠性测试的基本概念,分析、对比了几种软件可靠性测试主要方法的优缺点。 [关键词]软件可靠性软件可靠性测试软件测试方法 引言 软件可靠性工程是指为了满足软件的可靠性要求而进行的一系列设计、分析、测试等工作。其中确定软件可靠性要求是软件可靠性工程中要解决的首要问题,软件可靠性测试是在软件生存周期的系统测试阶段提高软件可靠性水平的有效途径。各种测试方法、测试技术都能发现导致软件失效的软件中残存的缺陷,排除这些缺陷后,一般来讲一定会实现软件可靠性的增长,但是排除这些缺陷对可靠性的提高的作用却是不一样的。其中,软件可靠性测试能最有效地发现对可靠性影响大的缺陷,因此可以有效地提高软件的可靠性水平。 软件可靠性测试也是评估软件可靠性水平,验证软件产品是否达到软件可靠性要求的重要且有效的途径。 一、软件可靠性测试概念 “测试”一般是指“为了发现程序中的错误而执行程序的过程”。但是在不同的开发阶段、对于不同的人员,测试的意义、目的及其采用的方法是有差别的。在软件开发的测试阶段,测试的主要目的是开发人员通过运行程序来发现程序中存在的缺陷、错误。而在产品交付、验收阶段,测试主要用来验证软件产品是否达到用户的要求。或者说,对于开发人员,测试是发现缺陷的一种途径、手段,而对于用户,测试则是验收产品的一种手段。

二、软件测试方法 软件测试方法有以下几个主要概念:白盒测试、黑盒测试、灰盒测试。 白盒测试(W h ite-box testing或glass-box testing是通过程序的源代码进行测试而不使用用户界面。这种类型的测试需要从代码句法发现内部代码在算法,溢出,路径,条件等等中的缺点或者错误,进而加以修正。 黑盒测试(B lack-box testing是通过使用整个软件或某种软件功能来严格地测试,而并没有通过检查程序的源代码或者很清楚地了解该软件或某种软件功能的源代码程序具体是怎样设计的。测试人员通过输入他们的数据然后看输出的结果从而了解软件怎样工作。通常测试人员在进行测试时不仅使用肯定出正确结果的输入数据,而且还会使用有挑战性的输入数据以及可能结果会出错的输入数据以便了解软件怎样处理各种类型的数据。 灰盒测试(Gray-box testing就像黑盒测试一样是通过用户界面测试,但是测试人员已经有所了解该软件或某种软件功能的源代码程序具体是怎样设计的,甚至于还读过部分源代码,因此测试人员可以有的放矢地进行某种确定的条件或功能的测试。这样做的意义在于:如果你知道产品内部的设计和透过用户界面对产品有深入了解,你就能够更有效和深入地从用户界面来测试它的各项性能。 1、白盒测试 白盒测试又称结构测试,透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,你清楚盒子内部的东西以及里面是如何运作的。 白盒的测试用例需要做到: (1保证一个模块中的所有独立路径至少被使用一次; (2对所有逻辑值均需测试true和false;

一、判断题 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. 在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。(∨)

一个常见的软件测试面试题 一个常见的软件测试面试题 考官从办公室(面试现场)随意选取一个简单物品,假定是一个喝水的带广告图案的花纸杯,让应聘人对它设计出尽可能多的测试用例。 测试项目:杯子 需求测试:查看杯子使用说明书 界面测试:查看杯子外观 功能度:用水杯装水看漏不漏;水能不能被喝到 安全性:杯子有没有毒或细菌 可*性:杯子从不同高度落下的损坏程度 可移植性:杯子再不同的地方、温度等环境下是否都可以正常使用 兼容性:杯子是否能够容纳果汁、白水、酒精、汽油等 易用性:杯子是否烫手、是否有防滑措施、是否方便饮用 用户文档:使用手册是否对杯子的用法、限制、使用条件等有详细描述 疲劳测试:将杯子盛上水(案例一)放24小时检查泄漏时间和情况;盛上汽油(案例二)放24小时检查泄漏时间和情况等 压力测试:用根针并在针上面不断加重量,看压强多大时会穿透 跌落测试:??杯子加包装(有填充物),在多高的情况摔下不破损 震动测试: 杯子加包装(有填充物),六面震动,检查产品是否能应对恶劣的铁路\公路\航空运输 测试数据: 测试数据具体编写此处略(最讨厌写测试数据了)。其中应用到:场景法、等价类划分法、因果图法、错误推测法、边界值法等方法 期望输出:

该期望输出需查阅国标、行标以及使用用户的需求 说明书测试: 检查说明书书写准确性 给大家提三个产品:1.手机 2.电饭锅 3.电梯 有兴趣的同学可以把答案写出来 一个常见的软件测试面试题 问题集 1.软件测试分哪两种方法?分别适合什么情况? 2.一套完整的测试应该由哪些阶段组成?分别阐述一下各个阶段。 3.软件测试的类型有那些?分别比较这些不同的测试类型的区别与联系。 4.测试用例通常包括那些内容?着重阐述编制测试用例的具体做法 5.在分别测试winform的C/S结构与测试WEB结构的软件是,应该采取什么样的方法分别测试?他们存在什么样的区别与联系? 6.在测试winform的C/S结构软件时,发现这个软件的运行速度很慢,您会认为是什么原因?您会采取哪些方法去检查这个原因? 7.描述使用bugzilla缺陷管理工具对软件缺陷(BUG)跟踪的管理的流程8.如果您是测试组长,您会采取什么样的方式管理团队?在测试人员同开发人员的沟通过程中,如何提高沟通的效率和改善沟通的效果?维持测试人员同开发团队中其他成员良好的人际关系的关键是什么? 问题解答: 1.软件测试分哪两种方法?分别适合什么情况? 软件测试方法一般分为两种:白盒测试与黑盒测试。白盒测试又称为结构测试、逻辑驱动测试或基于程序本身的测试,它着重于程序的内部结构及算法,通常不关心功能与性能指标;黑盒测试又被称为功能测试、数据驱动测试或基于规格说明的测试,它实际上是站在最终用户的立场,检验输入输出信息及系统性能指标是否符合规格说明书中有关功能需求及性能需求的规定。 2.一套完整的测试应该由哪些阶段组成?分别阐述一下各个阶段。 计划阶段、设计阶段、白盒单元、白盒集成、黑盒单元、黑盒集成、系统测试、回归测

XXX项目 软件测试计划 编号: xxxx公司 20xx年xx月 目录

1文档说明 (2) 1.1文档信息 (2) 1.2文档控制 (2) 1.2.1变更记录 (2) 1.2.2审阅记录 (3) 2引言 (4) 2.1编写目的 (4) 2.2项目背景 (4) 2.3参考资料 (4) 2.4术语和缩略语 (5) 3测试策略 (5) 3.1整体策略 (5) 3.2测试范围 (7) 3.3测试交接标准 (8) 3.3.1单元测试交接标准 (8) 3.3.2集成测试交接标准 (8) 3.4测试通过标准 (8) 3.5测试类型 (8) 3.5.1功能测试 (8) 3.5.2性能测试 (9) 3.5.3容量测试 (9) 3.5.4安全测试 (9) 3.6风险分析 (9) 4测试方法 (10) 4.1里程碑技术 (10) 4.2测试用例设计 (10) 4.3测试实施过程 (11) 4.4测试方法综述 (11) 4.5测试团队结构 (11) 5资源需求 (12) 5.1培训需求 (12) 5.2运行环境 (12) 5.2.1软件运行环境 (12) 5.2.2硬件运行环境 (13) 6各阶段时间分配 (13) 7测试过程管理 (13) 7.1测试文档 (13) 7.1.1测试文档管理 (13) 7.2缺陷处理过程 (14) 7.3测试报告 (14)

1文档说明 1.1文档信息 文档基本信息参看表1-1文档信息表。 表1-1文档信息表 1.2文档控制 1.2.1变更记录 文档变更记录在表1-2中详细记录。

1.2.2审阅记录 表1-3中详细记录了审阅记录。

_软件测试面试必备 第一部分软件测试策略基础 为什么要编写测试策略?测试策略就是如何进行软件测试的计划。测试策略的目标包括: 取得利益相关者(比如管理部门、开发人员、测试人员、顾客和用户等)的一致性目标; 从开始阶段对期望值进行管理; 确保“开发方向正确”; 确定所有要进行的测试类型。 1、策略与软件测试策略 (1)策略:在一定的政治路线指导下,根据具体条件而规定的斗争原则、方式和方法。<新华字典> (2)软件测试策略:在一定的软件测试标准、测试规范的指导下,依据测试项目的特定环境约束而规定的软件测试的原则、方式、方法的集合。 测试策略为测试提供全局分析,并确定或参考: 项目计划、风险和需求; 相关的规则、政策或指示; 所需过程、标准与模板; 支持准则; 利益相关者及其测试目标; 测试资源与评估; 测试层次与阶段; 测试环境; 各阶段的完成标准;

所需的测试文档与检查方法。 2、软件测试策略的重要性 (1)任何一个完全测试或穷举测试的工作量都是巨大的,在实践上是行不通的,因此任何实际测试都不能保证被测程序中不遗漏错误或缺陷; (2)为了最大程度较少这种遗漏,同时最大限度发现可能存在的错误,在实施测试前必须确定合适的测试方法和测试策略,并以此为依据制定详细的测试案例。 3、软件测试策略的目的 是不是所有软件测试都要运用现有软件测试方法去测试呢?答案是否定的。依据软件本身性质、规模和应用场合的不同,我们将选择不同测试方案,以最少的软硬件、人力资源投入得到最佳的测试效果,这就是测试策略的目标所在。 4、软件测试策略的影响因素 软件测试策略随着软件生命周期的变化、软件测试方法、技术与工具的不同发生的变化。这就要求我们在制定测试策略时候,应该综合考虑测试策略的影响因素及其依赖关系。这些影响因素可能包括:测试项目资源因素、项目的约束和测试项目的特殊需要等。 5、软件测试策略的制定过程 (1)输入 需要的软硬件资源的详细说明; 针对测试和进度约束而需要的人力资源的角色和职责; 测试方法、测试标准和完成标准; 目标系统的功能性和技术性需求; 系统局限(即系统不能够提供的需求)等等。 (2)输出 已批准和签署的测试策略文档、测试用例、测试计划; 需要解决方案的测试项目;

2.集成测试

集成测试,英文是Integration Testing。 集成测试是指一个应用系统的各个部件的联合测试,以决定他们能否在一起共同工作并没有冲突。部件可以是代码块、独立的应用、网络上的客户端或服务器端程序。这种类型的测试尤其与客户服务器和分布式系统有关。一般集成测试以前,单元测试需要完成。 集成测试是单元测试的逻辑扩展。它的最简单的形式是:两个已经测试过的单元组合成一个组件,并且测试它们之间的接口。从这一层意义上讲,组件是指多个单元的集成聚合。在现实方案中,许多单元组合成组件,而这些组件又聚合成程序的更大部分。方法是测试片段的组合,并最终扩展进程,将您的模块与其他组的模块一起测试。最后,将构成进程的所有模块一起测试。此外,如果程序由多个进程组成,应该成对测试它们,而不是同时测试所有进程。 集成测试识别组合单元时出现的问题。通过使用要求在组合单元前测试每个单元,并确保每个单元的生存能力的测试计划,可以知道在组合单元时所发现的任何错误很可能与单元之间的接口有关。这种方法将可能发生的情况数量减少到更简单的分析级别 3.冒烟测试 冒烟测试,英文是Smoke testing。 冒烟测试的名称可以理解为该种测试耗时短,仅用一袋烟功夫足够了。也有人认为是形象地类比新电路板基本功能检查。任何新电路板焊好后,先通电检查,如果存在设计缺陷,电路板可能会短路,板子冒烟了。

冒烟测试的对象是新编译的每一个需要正式测试的软件版本,目的是确认软件基本功能正常,可以进行后续的正式测试工作。冒烟测试的执行者是版本编译人员。 4.系统测试 系统测试,英文是System Testing。 系统测试是基于系统整体需求说明书的黑盒类测试,应覆盖系统所有联合的部件。系统测试是针对整个产品系统进行的测试,目的是验证系统是否满足了需求规格的定义,找出与需求规格不相符合或与之矛盾的地方。 系统测试的对象不仅仅包括需要测试的产品系统的软件,还要包含软件所依赖的硬件、外设甚至包括某些数据、某些支持软件及其接口等。因此,必须将系统中的软件与各种依赖的资源结合起来,在系统实际运行环境下来进行测试。 5.回归测试 回归测试,英文是Regression testing。 回归测试是指在发生修改之后重新测试先前的测试以保证修改的正确性。理论上,软件产生新版本,都需要进行回归测试,验证以前发现和修复的错误是否在新软件版本上再次出现。 根据修复好了的缺陷再重新进行测试。回归测试的目的在于验证以前出现过但已经修复好的缺陷不再重新出现。一般指对某已知修正的缺陷再次围绕它原来出现

通常的软件测试中,需要制定合理的测试策略来保证测试的进行。制定测试策略时要综合考虑一些因素,现总结如下,希望对大家有所帮助。本文适用于软件类开发项目,尤其是定制开发类软件项目。 制定测试策略时,一定要考虑三个问题,为什么要制定测试策略?怎么制定测试策略?测试策略怎么执行? 第一个问题,测试策略可以认为是一种方法论。制定测试策略的最主要原因是为了更高效、更有计划、更有目的测试。测试策略是预先规划好的,又是需要根据实际测试情况进行灵活的动态变化。如果没有指定测试策略,进行软件测试的时候通常会没有目标,遇到一些问题时也会难以应对。以打仗攻击为例,简单理解,测试策略就是计策和谋略,没有好的计划和策略,一味的猛攻或者蛮攻,可能会有效果,但往往是杀敌一千,自损八百。好的测试策略可以更好的发现BUG,提升产品质量。 第二个问题,怎么制定测试策略?可以根据以下几个方面来考虑: 1、产品的开发阶段;前期、中期,还是后期,在不同的开发阶段及周期采取的策略是不同 的;开发前期,一般是需求分析,开发模块的设计及实现的讨论,这个时间段的测试策略以需求分析、测试计划制定和测试点提取、测试用例编写及测试前期准备为主;开发中期,应该实现了部分功能,并完善了相关开发文档,这个时间段的测试策略以及时与项目经理沟通,实时的掌握项目开发进展情况,并跟踪是否有可以执行部分测试的简单版本,提前做到心中有数;开发后期,功能开发基本完毕,开发文档完整,这个时间段的测试策略以参考开发文档,了解内部模块设计与实现方式为主,并与项目经理或开发人员讨论模块测试的细节,进一步完善测试点和测试用例,并对之前的测试点进行再次评估和修正。 2、产品的风险:人员风险;测试时间风险;测试资源风险;客户的风险等;每个项目都有 相关的风险因素,人员风险是经常遇到的,要提前应对,可以找领导申请资源,或者组内之间实时调整;测试时间风险,时间紧,任务重,压力大,此时应该如何应对,当然加班是一种方式,但是更多的是对有效的规划测试任务和安排测试人员;测试资源风险,资源紧张,怎么样更成分的利用现有资源,怎么样减少资源风险的可能,需要做好测试策略;客户的风险,那些应该测试,那些不应该测试,那些优先测试,那些延迟测试,客户关注什么,需要提前做好规划和研究,测试的策略一定要考虑客户的应用场景和使用重点; 3、产品的成熟度:不同成熟度的产品的测试策略是不一样的;产品初期,关注的是功能的 实现与基本需求;产品成熟后,需要更多的关注可用性、可靠性及应用场景的复杂性,包括测试的手段和方法、方式都会有所提升。合理的测试策略会与当前的产品成熟度相互匹配,产品不成熟,我们优先关注可用性、外观呈现、用户体验的话,就会本末倒置,最开始一定是关注基本的需要和功能、性能指标;设备逐步提升到一定的层次之后,我们的测试策略会随之提高,一个成熟产品所应有的我们都需要关注并执行测试。 4、定制开发客户:定制开发的软件,针对的是固定的用户,很多时候需要根据客户的特点 来制定相关的测试策略。客户的需求是否明确?需求是否经常变更?与客户的沟通是否顺畅?客户的验收方式是什么?客户的使用方式是什么?这些必须要搞清楚,才能更好地制定测试策略,任何一点的疏忽都可能会导致测试疏漏或者功能的偏离。 5、实时修正测试策略:测试策略并不是一成不变的,要根据实际情况来调整,以便测试策 略能够更好的指导测试。制定测试策略的时候一般都是事前,至于事中发生了什么,很难预料,所以必须要根据当前的变化,来改变测试策略。 6、测试分级分类:按照测试的难以程度可以对测试进行分级分类,比如说按照简单、一般、 困难、极难来分级;按照测试的时间长短类进行分类;按照逐级递进的思路进行测试策

相关主题