第一章引言1.2软件测试的背景和意义随着计算机技术的迅速发展和越来越广泛深入的应用于国民经济和社会生活的各个方面,随着软件系统的规模和复杂性与日俱增,软件的生产成本和软件中存在的缺陷和故障造成的各类损失也大大增加,甚至会带来灾难性的后果。软件质量问题已成为所有使用软件和开发软件的人关注的焦点。由于软件是人脑的高度智力化的体现和产品这一特殊性,不同于其他科技和生产领域,因此软件与生惧来就有可能存在着缺陷。如何防止和减少这些可能存在的问题呢?回答是进行软件测试。测试是最有效的排除和防止软件缺陷与故障的手段,并由此促进了软件测试理论与技术实践的快速发展。新的测试理论,测试方法,测试技术手段在不断涌出,软件测试机构和组织也在迅速产生和发展,由此软件测试技术职业也同步完善和健全起来。1.3软件测试理论基础1.3.1软件测试定义为了发现程序中的错误而执行程序的过程。1.3.2软件测试的目标◆测试是为了发现程序中的错误而执行程序的过程;◆好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案;◆成功的测试是发现了至今为止尚未发现的错误的测试。1.3.3软件测试的内容软件测试主要工作内容是验证和确认,下面分别给出其概念:验证是保证软件正确地实现了一些特定功能的一系列活动,即保证软件做了你所期望的事情。◆确定软件生存周期中的一个给定阶段的产品是否达到前阶段确立的需求的过程;◆程序正确性的形式证明,即采用形式理论证明程序符号设一计规约规定的过程;◆评市、审查、测试、检查、审计等各类活动,或对某些项处理、服务或文件等是否和规定的需求相一致进行判断和提出报告。2确认是一系列的活动和过程,目的是想证实在一个给定的外部环境中软件的逻辑正确性,即保证软件以正确的方式来做了这个事件。◆静态确认,不在计算机上实际执行程序,通过人工或程序分析来证明软件的正确性;◆动态确认,通过执行程序做分析,测试程序的动态行为,以证实软件是否存在问题。第二章相关技术和工具介绍2.1相关测试技术介绍按照软件测试用例的设计方法而论,软件测试可分为黑盒测试和白盒测试;2.1.1黑盒测试黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用,在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。黑盒测试方法主要有等价类划分、边界值分析、因—果图、错误推测等,主要用于软件确认测试。等价类划分等价类划分:是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例.该方法是一种重要的,常用的黑盒测试用例设计方法.边界值分析法3边界值分析法:边界值分析方法是对等价类划分方法的补充.边界值分析方法的考虑:长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部.因此针对各种边界情况设计测试用例,可以查出更多的错误.因果图方法前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系,相互组合等.考虑输入条件之间的相互组合,可能会产生一些新的情况.但要检查输入条件的组合不是一件容易的事情,即使把所有输入条件划分成等价类,他们之间的组合情况也相当多.因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例.这就需要利用因果图(逻辑模型).错误推测法错误推测法:基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法.其基本思想:列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例.2.1.2白盒测试白盒测试也称结构测试或逻辑驱动测试,它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能,白盒测试的主要方法有逻辑测试、基路测试等,主要用于软件内部结构的验证。2.2相关测试工具的介绍2.2.1TestDirector简介TestDirector是MI公司一个测试管理工具,是业界第一个基于web的测试管理系统,它可以在您公司内部或外部进行全球范围内测试的管理。通过在一个整体的应用系统中集成了测试管理的各个部分,包括需求管理,测试计划,测试执行以及错误跟踪等功能,TestDirector极大地加速了测试过程。4TestDirector能消除组织机构间、地域间的障碍。它能让测试人员、开发人员或其它的IT人员通过一个中央数据仓库,在不同地方就能交互测试信息。TestDirector将测试过程流水化——从测试需求管理,到测试计划,测试日程安排,测试执行到出错后的错误跟踪——仅在一个基于浏览器的应用中便可完成,而不需要每个客户端都安装一套客户程序。TestDirector™是业界第一个基于Web的测试管理解决方案,它可以在您公司内部进行全球范围的测试协调。TestDirector能够在一独立的应用系统中提供需求管理功能,并且可以把测试需求管理于测试计划、测试日程控制、测试执行和错误跟踪等功能融合为一体,因此极大地加速了测试的进程。电子商务正改变着许多公司在如何规划并建立IT系统方面的决定。常常在一瞬间,一个Web应用就完成了创建和部署,并展现在您的客户、供应商或合作伙伴的面前。但是,由于紧凑的开发计划和复杂的系统结构,Web应用测试经常是被忽视的。为了与心经济同步,您必须开发经过全面测试的高品质的网络应用。在正式面试之前,测试管理提供了一套测试Web应用的组织框架。由于测试方案会根据不断推陈出新的应用要求而改进,您需要设立一个中央点来管理测试过程。一套基于Web的测试管理系统提供了一个协同合作的环境和一个中央数据仓库。由于测试人员分布在各地,您需要一个统一的测试管理系统能让用户不管在何时何地都能参与到整个测试过程中,并献计献策。IT部门的增长速度非常快,人员也经常流动。您必须以最快的速度培训新的测试人员,教会他们所有的测试有关的知识技术。而TestDirector所提供的一种单点模式,便于管理复杂的部署过程,改善部门间的沟通,加速您测试的成功。2.2.2TestDirector功能TestDirector可以快速有效地部署高质量的应用程序,其方法是为收集要求、计划和安排测试、分析结果并管理缺陷和故障提供一个持续、可重复的流程。TestDirector是一个用于测试管理所有重要方面的基于Web的单个应用程序-要求管理、测试计划、测试实验室和缺陷管理。您可以将这些核心模块作为独立的解决方案或在全局QualityCenterofExcellence环境集.TestDirector让您的组织可以在大型应用程序生命周期内实现特定质量流程和过程的数字化。通过与MercuryITGovernanceCenter™集成,您可以实施针对应用程序变更或新项目的质量流程。5TestDirector支持IT团队之间的高水平沟通和合作。无论您是正在协调多个完全不同的QA团队的工作,还是正在使用大型的分布式CenterofExcellence,该测试管理工具都会帮助您跨地理界限和组织界限访问信息。此外,TestDirector还提供对相关质量资产的实时可视性。在“要求管理器”中设计的要求可与测试案例、缺陷或测试运行实例关联,以实现详细的追踪功能。第三章需求分析需求分析是指理解用户需求,就软件功能与客户达成一致,估计软件风险和评估项目代价,最终形成开发计划的一个复杂过程,在这个过程中,用户的确是处在主导地位。下面的是对MSN7.5测试的需求分析。3.1MSN需求分析报告titleIDtesttitle相关人员备注MSN主窗口1.0个人信息区郑晓明1.1.用户图标测试1.2用户状态测试1.2.1联机测试状态1.2.2忙碌测试状态1.2.3马上回来测试状态1.2.4离开测试状态1.2.5接听电话测试状态1.2.6外出就餐测试状态1.2.7显示为脱机测试状态1.3用户消息的设置测试1.3.1打开“我正在收听的内容”暂不测试1.3.2MSNShell提醒:地球很危险,还是回去火星吧!测试是否能链接1.3.3MSNSHELL-玩转你的MSN!测试是否能链接1.3.4神仙?妖怪?谢谢!测试是否能链接61.3.5修改我的个性化签名测试1.3.6滚动我的个性化签名测试1.3.7获取此功能的帮助测试是否能链接1.4电子邮件收件箱测试是否能链接1.5共享空间测试是否能链接1.6今日焦点测试是否能链接1.7标签暂不测试2.0联系人管理区2.1添加联系人测试是否能链接2.1.1根据电子邮件地址创建新的联系人测试是否能链接2.1.2从通讯薄名单中选择现有的联系人测试是否能链接2.1.3根据移动电话号码创建新的联系人测试是否能链接2.2删除联系人测试2.3管理联系人暂不测试2.4管理组测试2.4.1创建组测试2.4.2删除组测试2.4.3重命名组测试2.5搜索联系人测试是否能链接2.5.1高级搜索测试是否能链接2.5.2按兴趣搜索测试是否能链接3.0聊天模式基本功能3.1发送即时消息测试3.2发送其他内容测试3.2.1发送电子邮件测试3.2.2向移动设备发送消息暂不测试3.2.3发送传情动漫暂不测试3.2.4发送文件或照片测试是否能链接3.3语音/视频测试是否能链接3.4阻止联系人测试3.2功能点列表3.2.1个人信息区FunctionPoint(功能点)用户信息Descriptiontext(描述文本)1.用户图标有特殊的功能2.用户有“联机,忙碌,显示为脱机,离开,接听电话,外出就餐,马上回来”这几种状态73.用户图标右边可以设置个人消息。4.电子邮件收件箱,共享空间,今日焦点的链接功能3.2.2联系人管理区FunctionPoint(功能点)联系人信息显示方式(注:显示小头像—显示传统模式)Descriptiontext(描述文本)1.联系人的头像显示成大头像或者显示成小头像,也可以显示自己定义的头像。2.可以将自己的头像显示成自己喜欢的上传头像,或者显示系统中所提供的头像3.将联系人中的头像显示成居中,或者偏左。4.改变联系人的名字颜色,可以选自己喜欢的颜色。5.将联系人的名称显示成原始的名称,或者你注释过的名称6.选择联系人在列表中的排序方式7.联系人用户上线提示与否,是否发出声音8.联系人分组显示方式FunctionPoint(功能点)添加信息方式Descriptiontext(描述文本)1.添加组,是添加联系人分组。能将联系人分成不同的自定义组2.添加用户,即添加联系人。3.查找用户,即搜索联系人(高级搜索,或者按兴趣搜索)。3.3.3聊天模式基本功能FunctionPoint3.0(功能点)聊天模式基本功能8Descriptiontext(描述文本)1.发送即时信息,即:立即,直接的向联系人发送信息。2.可以向联系人发送视频聊天,发送语音聊天3.给联系人发送文件,电子邮件。4.可以阻止与联系人通信第四章软件测试过程4.1测试计划专业的软件测试必须以一个好的测试计划为基础。尽管测试的每一个步骤是独立的,但是必定要有一个起到框架结构作用的测试计划。测试计划应该作为测试的起始步骤和重要环节。测试计划是软件测试工作中遇到的最基本的测试文档。那什么是“测试计划”呢?测试计划是描述测试目的、范围、方法和软件测试的重点等的文档。下面是对MSN7.5进行测试的测试计划:4.1.1测试范围与主要内容MSN控制面板为此次测试的重点内容,包括:●个人信息区1)用户图标2)用户状态3)用户消息的设置4)电子邮件收件箱5)共享空间6)今日焦点7)标签●联系人管理区1)添加联系人2)删除联系人3)管理联系人4)管理组5)搜索联系人●聊天模式基本功能91)发送即时消息2)发送其他