




已阅读5页,还剩50页未读, 继续免费阅读
(计算机应用技术专业论文)软件测试技术及其管理工具的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
华北电力大学硕十学位论文 摘要 软件测试工具的研究与应用是提高软件测试效率 保证软件质量的重要手段 本文研究了典型的软件测试技术和测试工具 对软件测试过程和任务进行了分析 在参考国内外已有软件测试管理系统的基础上 利用u m l 及 n e t 框架设计和实现 了一个软件测试管理工具 该工具实现了软件测试的信息集成及软件测试的全过程管理 包括测试需求 测试计划 测试用例设计 测试执行及软件缺陷跟踪管理 支持已有软件测试工具 的集成 并具有批处理及定时执行测试任务的功能 形成了一个完整的测试管理平 台 可以有效提高软件测试的管理水平及测试效率 关键词 软件测试 测试管理 测试工具集成 n e t 框架 u m l a b s t r a c t t h er e s e a r c ha n da p p l i c a t i o no fs o f t w a r et e s t i n gt o o l sp l a ya l li m p o r t a n tr o l ei nt e s t e f f i c i e n c yi m p r o v e m e n ta n ds o f t w a r eq u a l i t ya s s u r e t y p i c a ls o f t w a r et e s t i n gt e c h n o l o g ya n d t o o l sa r es t u d i e d a n ds o f t w a r et e s t i n gp r o c e s sa n dt a s k sa r ea n a l y z e di nt h i sp a p e r b a s e do n r e f e r e n c i n gm a n yf o r e i 弘a n dd o m e s t i cs o t h v a r et e s t i n gm a n a g e m e n ts y s t e m s at e s t i n g m a n a g e m e n tt o o li sd e s i g n e da n di m p l e m e n t e du s i n gu m l a n d n e tf r a m e w o r k t h i st o o li m p l e m e n t si n f o r m a t i o ni n t e g r a t i o na n dp r o c e s sm a n a g e m e n to fs o f t w a r e t e s t i n g i n c l u d i n gt e s tr e q u i r e m e n t s t e s tp l a n t e s tc a s ed e s i g n t e s te x e c u t i o na n dd e f a u l t t r a c i n gm a n a g e m e n t i ta l s oh a st h ef u n c t i o n so fb a t c he x e c u t i o na n dt i m i n ge x e c u t i o no ft e s t t a s k s a n ds u p p o r t st h ei n t e g r a t i o no fe x i s t i n gt o o l s t h u sf o r m sac o m p l e t e dt e s t i n g m a n a g e m e n tp l a t f o r mw h i c hc a ni m p r o v et h em a n a g e m e n tl e v e la n de f f i c i e n c yo fs o f t w a r e t e s t i n g l i nt i a n h u a c o m p u t e ra p p l i c a t i o n st e c h n o l o g y d i r e c t e db yp r o f m as u x i a k e yw o r d s s o f t w a r et e s t t e s tm a n a g e t e s tt o o l si n t e g r a t i o n n e tf r a m e w o r k u m l 华北电力大学硕十学位论文 摘要 软件测试工具的研究与应用是提高软件测试效率 保证软件质量的重要手段 本文研究了典型的软件测试技术和测试工具 对软件测试过程和任务进行了分析 在参考国内外已有软件测试管理系统的基础上 利用u m l 及 n e t 框架设计和实现 了一个软件测试管理工具 该工具实现了软件测试的信息集成及软件测试的全过程管理 包括测试需求 测试计划 测试用例设计 测试执行及软件缺陷跟踪管理 支持已有软件测试工具 的集成 并具有批处理及定时执行测试任务的功能 形成了一个完整的测试管理平 台 可以有效提高软件测试的管理水平及测试效率 关键词 软件测试 测试管理 测试工具集成 n e t 框架 u m l a b s t r a c t t h er e s e a r c ha n da p p l i c a t i o no fs o f t w a r et e s t i n gt o o l sp l a ya l li m p o r t a n tr o l ei nt e s t e f f i c i e n c yi m p r o v e m e n ta n ds o f t w a r eq u a l i t ya s s u r e t y p i c a ls o f t w a r et e s t i n gt e c h n o l o g ya n d t o o l sa r es t u d i e d a n ds o f t w a r et e s t i n gp r o c e s sa n dt a s k sa r ea n a l y z e di nt h i sp a p e r b a s e do n r e f e r e n c i n gm a n yf o r e i 弘a n dd o m e s t i cs o t h v a r et e s t i n gm a n a g e m e n ts y s t e m s at e s t i n g m a n a g e m e n tt o o li sd e s i g n e da n di m p l e m e n t e du s i n gu m l a n d n e tf r a m e w o r k t h i st o o li m p l e m e n t si n f o r m a t i o ni n t e g r a t i o na n dp r o c e s sm a n a g e m e n to fs o f t w a r e t e s t i n g i n c l u d i n gt e s tr e q u i r e m e n t s t e s tp l a n t e s tc a s ed e s i g n t e s te x e c u t i o na n dd e f a u l t t r a c i n gm a n a g e m e n t i ta l s oh a st h ef u n c t i o n so fb a t c he x e c u t i o na n dt i m i n ge x e c u t i o no ft e s t t a s k s a n ds u p p o r t st h ei n t e g r a t i o no fe x i s t i n gt o o l s t h u sf o r m sac o m p l e t e dt e s t i n g m a n a g e m e n tp l a t f o r mw h i c hc a ni m p r o v et h em a n a g e m e n tl e v e la n de f f i c i e n c yo fs o f t w a r e t e s t i n g l i nt i a n h u a c o m p u t e ra p p l i c a t i o n st e c h n o l o g y d i r e c t e db yp r o f m as u x i a k e yw o r d s s o f t w a r et e s t t e s tm a n a g e t e s tt o o l si n t e g r a t i o n n e tf r a m e w o r k u m l 声明尸叫 本人郑重声明 此处所提交的硕士学位论文 软件测试技术及其管理工具的研究与 实现 是本人在华北电力大学攻读硕士学位期间 在导师指导下进行的研究工作和取 得的研究成果 据本人所知 除了文中特别加以标注和致谢之处外 论文中不包含其他 人已经发表或撰写过的研究成果 也不包含为获得华北电力大学或其他教育机构的学位 或证书而使用过的材料 与我一同工作的同志对本研究所做的任何贡献均已在论文中作 了明确的说明并表示了谢意 学位论文作者签名 一窒奎叁笙 日期 翌里望 三 堑 关于学位论文使用授权的说明 本人完全了解华北电力大学有关保留 使用学位论文的规定 即 学校有权保管 并向有关部门送交学位论文的原件与复印件 学校可以采用影印 缩印或其它复制手 段复制并保存学位论文 学校可允许学位论文被查阅或借阅 学校可以学术交流为 目的 复制赠送和交换学位论文 同意学校可以用不同方式在不同媒体上发表 传播 学位论文的全部或部分内容 涉密的学位论文在解密后遵守此规定 作者签名 导师签名 e t 期 也墨 三 f日期 竺矿 7 1 r 华北电力大学硕士学位论文 1 1 课题背景 第一章引言 为了保证软件产品的质量 需要对软件过程进行控制 同时也需要对软件产品 本身进行检测 在目前形式化方法和程序正确性证明还无望成为实用性方法的情况 下 软件测试在将来的相当一段时间仍然是软件质量保证的有效方法 l j 软件测试的工作量很大 据统计 一些可靠性要求非常高的软件 测试时间甚 至占到总开发时间的6 0 同时因为测试的许多操作是重复性的 非智力创造性 的 软件测试是整个软件过程中极有可能应用计算机进行自动化的阶段 实现软件 测试自动化将大大提高整个团队的开发效率 如今国内外已经有丰富的软件测试工 具 如单元测试工具x u n i t 功能测试工具w i n r u n n e r 性能测试工具l o a d r u n n e r 世 时 为确保测试工作的顺利进行 就要对其进行有效的管理 软件测试管理 包括 对各阶段的测试计划 测试案例 测试流程进行管理 跟踪 记录 并将结果反馈 给系统的开发者和管理者 同时将测试人员发现的错误记录下来 生成 报告并跟 踪缺陷 测试管理的工作量非常大 如对成千上万个测试用例的管理 对测试中产 生的缺陷进行跟踪等 如果没有相应的辅助工具 仅依靠人工处理 那么对软件测 试的管理是很麻烦的 甚至可以说是不现实的 2 训 1 2 国内外现状 软件测试管理工具是支持软件测试自动化的主要工具 目前国外已经有比较成 熟的测试管理工具 而国内在这个领域的研究还处于起步阶段 1 2 1 国外研究现状 国外有代表性的软件测试管理工具主要有m e r c u r yi n t e r a c t i v e 公司的 t e s t d i r e c t o r i b m 公司的r a t i o n a lt e s t m a n a g e r 和s i l i c o nv a l l e yn e t w o r k s 公司的t e s t e x p e r t 1 t e s t d i r e c t o r t e s t d i r e c t o r 是一个用于规范和管理日常测试项目工作的平台 t e s t d i r e c t o r 能 够系统地控制整个测试过程 并创建整个测试工作流的框架和基础 使整个测试管 理过程变得更为简单和有组织 t e s t d i r e c t o r 能指导需求定义 测试计划 测试执行 和缺陷跟踪等整个测试过程的各个阶段 5 1 1 华北电力大学硕十学位论文 t e s t d i r e c t o r 能够帮助维护测试工程数据库 能够覆盖应用程序功能性的各个方 面 t e s t d i r e c t o r 还提供了直观和有效的方式来计划和执行测试集 收集测试结果并 分析数据 t e s t d i r e e t o r 提供了完善的缺陷跟踪系统 它能够让测试人员全过程跟踪缺陷 t e s t d i r e c t o r 可以与邮件系统相关联 缺陷跟踪的相关信息可以被整个应用开发组 q a 客户支持 负责信息系统的人员所共享 t e s t d i r e c t o r 提供了与m e r c u r yi n t e r a c t i v e 公司的测试工具 w i n r u n n e r l o a d r u n n e r 等 的整合功能 t e s t d i r e c t o r 能够与这些测试工具很好的无缝连接 提供全套解决方案来进行全部自动化的应用测试 2 r a t i o n a lt e s t m a n a g e r r a t i o n a lt e s t m a n a g e r 是一款优秀的测试管理工具 r a t i o n a lt e s t m a n a g e r 让测试 团队可以控制测试工作 通过自动化测试和简化关键任务来集中测试团队的精力 该工具允许团队执行 跟踪和测试应用程序所需的所有功能 确保了测试覆盖信息 缺陷信息和应用程序状态的高度可见性 6 r a t i o n a lt e s t m a n a g e r 支持功能测试 性能测试 人工测试 集成测试 回归测 试等所有的测试类型 为q a 领导 项目经理和业务分析人员提供一个应用程序的 所有测试活动和测试结果的全面视图 r a t i o n a lt e s t m a n a g e r 支持在本地机器或远程机器上运行测试 它能建立和管理 可跟踪性 将需求链接到测试用例 确保了适当的测试覆盖 r a t i o n a lt e s t m a n a g e r 提供一个集成的日志阅读器 为每次测试运行构建一个日 志 内容包括测试状态 环境信息以及附加的信息标签 r a t i o n a lt e s t m a n a g e r 包括一系列预定义的图形报告和文本报告 用于捕捉应用 程序质量和测试完整性的关键信息 如为性能测试分析而专设的报告 包括将响应 时间与远程机器上的资源利用率结合起来的报告 r a t i o n a lt e s t m a n a g e r 能与r a t i o n a l st e a mu n i f y i n gp l a t f o r m 工具深入集成 3 t e s t e x p e r t t e s te x p e r t 也是一个英文版的测试管理工具 能管理整个测试过程 从测试计 划 测试例程 测试执行到测试报告 它具有如下的一些特点 7 1 数据库管理测试文档 测试结果 测试例程 支持标准s q l 访问 2 支持以m i c r o s o f tw o r d 格式输入测试条件 3 提供测试例程a p i 命令行接口 选项个性化定制 4 支持高速多任务测试 5 集成r a t i o n a lc l e a r c a s e r a t i o n a lp u r i f y r a t i o n a lp u r e c o v e r a g e r a t i o n a l v i s u a lt e s t 等测试软件 6 可按用户要求生成测试报告 支持h t t p 协议测试报告传递 2 华北电力大学硕士学位论文 1 2 2 国内研究现状 目前国内的软件测试管理工具主要有中科软科技股份有限公司的软件测试管 理系统i t e s t 上海泽众软件科技有限公司的t e s t c e n t e r 等 其中比较成熟的是i t e s t i t e s t 可提高测试的有效性和效率 大幅度降低测试人员的工作量 提高管理 层监控 协调软件测试过程的能力 提高软件产品质量 减少开发和维护成本 其 主要功能及特色有 1 采用b s 结构 可以安装在w e b 服务器上 相关人员可通过i n t e m e t 网同 时登录和使用 协同完成软件测试 减少人员集中的麻烦和出差费用 2 提供测试用例数据库和软件缺陷数据库 项目有关人员可以按照访问权 限设置 共享和使用这些数据库 3 提供相应的自动化功能 可高效编写 运行 查询测试用例 可快速填 写 修改和查询软件缺陷报告 自动统计工作进度 自动生成各种统计图表 提供 测试文档模板 可将测试文档及数据传送到m so f f i c e 排版 打印 4 将软件缺陷生命周期分为6 个生命状态 o p e n w o r k i n g v e r i f y c a n c e l c l o s e d e f e r 可详细记录 跟踪和管理每个软件缺陷的生命过程 直至解决这个缺 陷 可设置软件缺陷的类型 严重级别和优先级别 按轻重缓急处理软件缺陷 5 加强人员的沟通和管理 所有相关人员随时可查看测试文档 用例 缺 陷信息 测试图表 随时可参与任一软件缺陷的讨论 b b s 上传图片 查看图片 6 加强软件测试管理的透明度 提高管理层监控 协调软件测试过程的能 力 可随时分析动态数据 发现问题 解决问题 以客观测试数据作为决策的依据 目前 国内外软件测试管理工具主要存在以下几个方面的局限性哺芦 1 管理工具无法与测试工具集成 整合成一个完整的测试平台 虽然部分 管理工具也能与测试工具集成 但仅限于特定的测试工具 如t e s t d i r e c t o r 仅限于 m e r c u r y 公司的测试工具 无法提供开放的集成环境 2 由于经济和文化等方面的原因 难以适应国内企业和单位的要求 3 未提供测试任务的跟踪和协同管理功能 1 3 课题研究的内容 目标与意义 课题研究的内容是典型的测试技术和相关测试工具 测试的过程与任务 测试 管理方法和模式 测试管理工具的开发 课题研究目标是针对现有的软件测试管理工具的一些局限性 借鉴软件测试领 域中先进的软件测试管理方法和模式 并结合作者在软件测试方面的实践经验 研 究和实现一个实用先进的软件测试管理工具 3 华北电力大学硕士学位论文 使用测试管理工具能为测试人员 测试管理人员提供方便 能改进软件测试过 程 从而提高软件测试效率和保证软件质量 因此 测试管理工具的研究与开发是 非常有实用价值的 1 4 课题的研究方案与开发平台 课题以测试的过程和任务为基础 探索测试过程中常用的测试技术 测试方法 测试策略等 并深入了解这些测试技术经常用到的自动化测试工具 如w i n r u n n e r n u n i t 等 通过研究这些测试工具的共同特点 找出开放式集成各种自动化测试工 具的方法 课题以测试用例为核心 通过对测试需求和测试计划的管理来有效管理 测试用例 为方便不同版本的用例执行 引入测试任务的管理 为提高测试效率 使用批处理文件封装测试任务 并以w i n d o w s 服务的形式定时调用执行批处理文 件 然后以手工或自动的形式从指定的路径读取测试结果文件 根据测试结果更新 测试任务和测试用例的状态 并添加缺陷 通过缺陷管理跟踪缺陷状态直到其关闭 系统开发平台选择 n e t 平台 开发工具选择v i s u a ls t u d i o2 0 0 5 以a s p n e t a d o n e t 及x m l 作为开发技术 c i i 作为开发语言 数据库选择s q ls e r v e r2 0 0 0 4 华北电力大学硕士学位论文 第二章相关测试技术与测试工具研究 2 1 软件测试方法 测试用例是软件测试的核心 测试用例的质量直接决定了测试的效率和发现问 题的能力 因此测试用例的管理是测试管理工具的核心功能 管理工具需要为测试 用例编写提供支持 如为各种测试方法或测试策略提供不同的用例模板 常用的软件测试方法有黑盒测试 白盒测试和灰盒测试 2 1 1 黑盒测试技术 软件的黑盒测试意味着测试要在软件的接口处进行 也就是说 这种方法是把 测试对象看做一个黑盒子 测试人员完全不考虑程序内部的逻辑结构和内部特性 只依据程序的需求规格说明书 检查程序的功能是否符合它的功能说明 1 0 2 1 因此 黑盒测试又叫做功能测试或数据驱动测试 黑盒测试主要是为了发现以下几类错误 1 是否有不正确或遗漏的功能 2 在接口上 输入是否能正确接收 能否输出正确的结果 3 是否有数据结构错误或外部信息 例如数据文件 访问错误 4 性能上是否能够满足要求 5 是否有初始化或终止性错误 黑盒测试要通过制定测试用例指导测试的实施 保证软件测试有组织 按步骤 以及有计划地进行 黑盒测试行为必须能够加以量化 才能真正保证软件质量 而 测试用例就是将测试行为具体量化的方法之一 具体的黑盒测试用例设计方法包括 等价类划分法 边界值分析法 错误推测法 因果图法 判定表驱动法 正交试验 设计法 功能图法等 1 3 1 4 1 等价类划分 等价类划分是把所有可能的输入数据 即程序的输入域 划分成若干部分 子 集 然后从每一个子集中选取少数具有代表性的数据作为测试用例 该方法是一 种重要的 常用的黑盒测试用例设计方法 等价类是指某个输入域的子集合 在该子集合中 各个输入数据对于揭露程序 中的错误都是等效的 并合理地假定 测试某等价类的代表值就等于对这一类其它 值的测试 因此 可以把全部输入数据合理划分为若干等价类 在每一个等价类中 取一个数据作为测试的输入条件 就可以用少量代表性的测试数据取得较好的测试 5 华北电力大学硕士学位论文 结果 等价类划分可有两种不同的情况 有效等价类和无效等价类 设计测试用例 时 要同时考虑这两种等价类 因为软件不仅要能接收合理的数据 也要能经受意 外的考验 这样的测试才能确保软件具有更高的可靠性 2 边界值分析法 边界值分析方法是对等价类划分方法的补充 长期的测试工作经验告诉我们 大量的错误是发生在输入或输出范围的边界上 而不是发生在输入输出范围的内 部 因此针对各种边界情况设计测试用例 可以查出更多的错误 使用边界值分析方法设计测试用例 首先应确定边界情况 通常输入和输出等 价类的边界 就是应着重测试的边界情况 应当选取正好等于 刚刚大于或刚刚小 于边界的值作为测试数据 而不是选取等价类中的典型值或任意值作为测试数据 3 错误推测法 错误推测法是基于经验和直觉推测程序中所有可能存在的各种错误 从而有针 对性的设计测试用例的方法 4 因果图方法 前面介绍的等价类划分方法和边界值分析方法 都是着重考虑输入条件 但未 考虑输入条件之间的联系 相互组合等 考虑输入条件之间的相互组合 可能会产 生一些新的情况 但要检查输入条件的组合不是一件容易的事情 即使把所有输入 条件划分成等价类 他们之间的组合情况也相当多 因此设计测试用例时必须考虑 采用一种方法来描述这种情况 这就需要利用因果图 逻辑模型 2 1 2 白盒测试技术 软件的自盒测试是对软件的过程性细节做细致的检查 这种方法是把测试对象 看做一个打开的盒子 它允许测试人员利用程序内部的逻辑结构及有关信息 设计 或选择测试用例 对程序所有逻辑路径进行测试 通过在不同点检查程序状态 确 定实际状态是否与预期的状态一致 1 0 j 2 1 因此白盒测试又称为结构测试或逻辑驱动 测试 白盒测试主要是想对程序模块进行如下检查 1 对程序模块的所有独立的执行路径至少测试一遍 2 对所有的逻辑判定 取 真 与取 假 的情况都能至少测一遍 3 在循环的边界和运行的界限内执行循环体 4 测试内部数据结构的有效性 等等 白盒测试的测试方法 l5 有代码检查法 静态结构分析法 静态质量度量法 逻 辑覆盖法 基本路径测试法 域测试 符号测试 z 路径覆盖 程序变异 其中逻辑覆盖法是主要的测试方法 逻辑覆盖法主要包括下面几类 6 华北电力大学硕士学位论文 1 语句覆盖 语句覆盖就是设计若干个测试用例 运行被测试程序 使得 每一条可执行语句至少执行一次 2 判定覆盖 也称为分支覆盖 设计若干个测试用例 程序中每个判断的取真分支和取假分支至少执行一次 3 条件覆盖 设计足够多的测试用例 运行所测程序 的每个条件的每个可能取值至少执行一次 运行所测程序 使 使程序中每个判断 4 判定 条件覆盖 设计足够多的测试用例 运行所测程序 使程序中每个 判断的每个条件的所有可能取值至少执行一次 并且每个可能的判断结果也至少执 行一次 换句话说 即是要求各个判断的所有可能的条件取值组合至少执行一次 5 条件组合覆盖 设计足够多的测试用例 运行所测程序 使程序中每个 判断的所有可能的条件取值组合至少执行一次 2 1 3 灰盒测试技术 灰盒测试是介于黑盒测试和白盒测试之间的 可以这样理解 灰盒测试关注输 出对于输入的正确性 同时也关注内部表现 但这种关注不象白盒那样详细 完整 只是通过一些表征性的现象 事件 标志来判断内部的运行状态 有时候输出是正 确的 但内部其实已经错误了 这种情况非常多 如果每次都通过白盒测试来操作 效率会很低 因此需要采取这样的一种灰盒的方法 l 仉1 2 灰盒测试结合了黑盒测试和白盒测试的要素 它考虑了用户端 特定的系统知 识和操作环境 它在系统组件的协同性环境中评价应用软件的设计 2 2 软件测试策略 测试过程一般按4 个步骤进行 即单元测试 集成测试 确认测试和系统测试 图2 1 标出软件测试经历的4 个步骤 7 华北屯力大学硕士学位论文 图2 1 软件测试的4 个步骤 第一步是单元测试 对每一个程序单元进行测试 检查各个程序模块是否正确 地实现了规定的功能 第二步是把已测试过的模块集成起来 进行集成测试 主要 对与设计相关的软件体系结构的构造进行测试 对正确性和程序结构等方面进行检 查 确认测试是检查已实现的软件是否满足了需求规格说明中确定了的各种需求 以及软件配置是否完整 正确 最后是系统测试 把已经经过确认的软件纳入实际 运行环境中 与其他系统成分组合在一切进行测试 2 2 1 单元测试 单元测试又称模块测试 是针对软件设计中的最小单位 程序模块一一进行 正确性检验的测试工作 其目的在于发现各模块内部可能存在的各种差错 i f 1 6 单 元测试需要从程序的内部结果出发设计测试用例 多个模块可以平行独立地进行单 元测试 1 单元测试的内容 在单元测试时 测试者需要依据详细设计说明书和源程序清单 了解该模块的 输入 输出条件和模块的逻辑结构 主要采用白盒测试的测试用例 辅之以黑盒测试 的测试用例 使之对任何合理的输入和不合理的输入 都能正确响应 因此单元测 试的主要内容包括 1 模块接口测试 2 局部数据结构测试 3 路径测试 4 错误处理测试 8 华北电力大学硕士学位论文 5 边界测试 2 单元测试的步骤 通常单元测试是在编码阶段进行的 在源代码编制完成 经过评审和验证 确 认没有语法错误之后 就开始进行单元测试 测试的关键在于测试用例的设计 利 于设计文档 设计可以验证程序功能 尽可能发现错误的测试用例 对于每一组输 入 应该有预期的正确结果 模块并不是一个独立的程序 在考虑测试模块时 同时要考虑它和外界的联系 用一些辅助模块去模拟与所测模块相联系的其他模块 这些辅助模块分为两种 驱动模块 d r i v e r 相当于所测模块的主程序 它结束测试数据 把这些数据 传送给所测模块 最后再输出实测结果 桩模块 s t u b 也叫存根模块 用来代替所测模块调用的子模块 桩模块可以 做少量的数据操作 不需要把子模块所有功能都实现 所测模块 驱动模块和桩模块共同构成了单元测试的 测试环境 如图2 2 2 2 2 集成测试 图2 2 单元测试的测试环境 单元测试完成之后 接下来的工作就是集成测试 软件集成测试主要依据是概 要设计文档 测试主要内容有功能性 可靠性 易用性 效率 维护性和可移植性 中相关的部分 根据软件需求和设计的要求而选定 集成测试验证各软件单元集成 后形成的模块能否达到概要设计规格说明中各模块的设计目标 这里的模块可能是 指某个软件部件 也可能是指某个或某几个子系统 软件集成测试具体内容包括 1 1 1 功能性测试 指检查各个子功能组合起来能否满足设计所要求的功能 包括程序单元或模块的功能是否互相产生不利影响 程序单元或模块之间的接口是 否正确 各个程序单元或模块所用到的全局变量是否一致等 9 华北电力大学硕士学位论文 2 可靠性测试 根据软件需求和设计中提出的要求 对软件的容错性 易 恢复牲 错误处理能力进行测试 3 易用性测试 根据软件设计中提出的要求 对软件的易理解性 易学性 和易操作性进行检查和测试 4 性能测试 根据软件需求和设计中提出的要求 进行软件的时间特性 资源特性测试 5 维护性测试 根据软件需求和设计中提出的要求 对软件的易修改性进 行测试 6 可移植性测试 根据软件需求和设计中提出的要求 对软件在不同操作 系统环境下被使用的正确性进行测试 2 2 3 确认测试 确认测试的内容主要包括有效性测试 软件配置复审 验收测试和安装测试 1 有效性测试 有效性测试是在模拟的环境下 运用黑盒测试的方法 验 证所测软件是否满足需求规格说明书列出的需求 有效性测试的结果有两种可能 一种是测试结果与预期的结果相符 这说明软件的功能和性能指标满足软件需求说 明的要求 另一种是测试结果与预期的结果不符 这说明软件不满足软件需求说明 的要求 2 配置复审 确认测试的另一个重要环节是配置复审 复审的目的在于保 证软件配置齐全 分类有序 并且包括软件维护所必须的细节 3 验收测试 在通过了系统的有效性测试及软件配置审查之后 就应开始 系统的验收测试 验收测试以用户为主 一般使用实际数据进行测试 测试过程中 除了考虑软件功能和性能外 还应对软件的可移植性 兼容性 可维护性 错误的 恢复功能等进行确认 确认测试的结果有两种情况 1 功能和性能与用户的要求一致 用户接受软件 2 功能和性能与用户的要求不一致 用户不接受软件 确认测试应交付的文档有 确认测试分析报告 最终的用户手册和操作手册 项目开发总结报告 2 2 4 系统测试 系统测试是将通过确认测试的软件 作为整个基于计算机系统的一个元素 与 计算机硬件 外设 某些支持软件 数据和人员等其他系统元素结合在一起 在实 际运行环境下 对计算机系统进行一系列的集成测试和确认测试 1 0 华北电力大学硕士学位论文 系统测试的目的在于通过与系统的需求定义作比较 发现软件与系统定义不符 合或与之矛盾的地方 系统测试的测试用例应根据需求说明书来设计 并在实际使 用环境下来运行 2 3 测试工具 测试工具的使用是提高测试效率的主要途径 因此测试工具的集成是测试管理 工具研究与开发中的重点 目前市场上的测试工具已经非常丰富 本节介绍课题中 已经集成的测试工具 包括单元测试工具n u n i t 功能测试工具w i n r u n n e r 性能 测试工具l o a d r u n n e r 和功能测试工具r o b o t 2 3 1n u n i t n u n i t 是一个单元测试框架 专门针对于 n e t 编写的 它和j u n i t j a v a c p p u n i t c 都是x u n i t 的 员 n u n i t 最初是从j u n i t 而来 它是x u n i t 家族 中的第4 个主打产品 完全由c 群语言来编写 并且编写时充分利用了许多 n e t 的 特性 比如反射 客户属性等等 1 7 1 8 最重要的一点是它适合于所有 n e t 语言 在n u n i t 中 用属性t e s t f i x t u r e 标记某个类包含测试 用属性t e s t 来标记类 已 经标记为t e s t f i x t u r e 的某个方法是可以测试的 另外 在n u n i t 中 用a s s e r t 断 言 进行比较 a s s e r t 是一个类 它包括的方法有a r e e q u a l a r e s a m e e q u a l s f a i l i g n o r e i s f a l s e i s n o t n u l l n u n i t 是一个易用的 灵活的 开源的测试平台 通过使用无需人工干预的n u n i t 自动测试平台 我们很容易积累大量的n u n i t 测试代码 从而保证以往的b u g 不会 重现 另外 n u n i t 便于和编译单元以及i d e 单元集成 n u n i t 的弱点是它仅支持 同步测试 而且是一个黑箱测试平台 因此测试那些不会直接影响功能的b u g 例 如内存泄漏 就非常困难 2 3 2w i n r u n n e r m e r c u r yi n t e r a c t i v e 公司的w i n r u n n e r 是企业级的功能测试工具 用于检测应用 程序是否能够达到预期的功能及正常运行 通过自动录制 检测和回放用户的应用 操作 w i n r u n n e r 能够有效地帮助测试人员对复杂的企业级应用的不同发布版进行 测试 提高测试人员的工作效率和质量 确保跨平台的 复杂的企业级应用 如 w e b 应用系统 e r p 系统 c r m 系统等 无故障发布及长期稳定运行 w i n r u n n e r 具有以下特点 1 9 2 0 1 轻松创建测试 满足测试团队中业务用户和专业技术人员的不同需求 华北电力大学硕士学位论文 2 可以插入各种不同类型的检查点 包括文本 g u i 位图和数据库 3 自动核对数据库内的实际数值和预期的数值 自动显示检测结果 4 数据驱动向导 d a t ad r i v e rw i z a r d 可以轻松把一个业务流程测试转化为 数据驱动测试 从而反映多个用户各自独特且真实的行为 5 通过交互式的报告工具来提供详尽的 易读的报告 报告中能列出测试 中发现的错误内容 位置 检查点和其他重要事件 6 w i n r u n n e r 可以创建在整个应用程序生命周期内都可以重复使用的测试 从而大大地节省时间和资源 支持维护测试 7 w i n r u n n e r 可以方便地实现测试重用 2 3 3l o a d r u n n e r l o a d r u n n e r 是预测系统行为和性能的负载测试工具 2 通过模拟上千万用户 以实旋并发负载及实时性能监测的方式来确认和查找问题 l o a d r u n n e r 能够对整个 企业架构进行测试 通过使用l o a d r u n n e r 企业能最大限度地缩短测试时间 优化 性能和加速应用系统的发布周期 l o a d r u n n e r 能让企业保护自己的收入来源 无需购置额外硬件而最大限度地利 用现有的i t 资源 并确保终端用户在应用系统的各个环节中对其测试应用的质量 可靠性和可扩展性都有良好的评价 l o a d r u r m e r 是适用于各种体系架构的自动负载测试工具 它能预测系统行为并 优化系统性能 l o a d r u n n e r 的测试对象是整个企业的系统 它通过模拟实际用户的 操作行为和实时性能监测 来帮助测试人员更快地查找和发现问题 此外 l o a d r u n n e r 能支持广泛的协议和技术 为特殊测试环境提供特殊的解决方案 l o a d r u n n e r 能极大地减少负载测试所需的硬件和人力资源 使用l o a d r u n n e r 的v i r t u a lu s e rg e n e r a t o r 能很简便地增加系统负载 该引擎能够生成虚拟用户 以虚拟用户的方式模拟真实用户的业务操作行为 l o a d r u n n e r 通过它的d a t aw i z a r d 来自动实现其测试数据的参数化 避免了人 工处理数据的需要 节省了大量的时间 用l o a d r u n n e r 的c o n t r o l l e r 能很快组织起多用户的测试方案 c o n t r o l l e r 的 r e n d e z v o u s 功能提供一个互动的环境 在其中您既能建立起持续且循环的负载 也 能创建真实的负载 l o a d r u n n e r 内含集成的实时监测器 在负载测试过程的任何时候 都可以观察 到应用系统的运行性能 从而更快地发现问题 并分析结果以精确定位问题所在 1 2 华北电力大学硕士学位论文 2 3 4r o b o t 对于使用各种集成开发环境 i d e 和语言创建的应用程序 r a t i o n a lr o b o t 都 可以为其创建功能测试 分布式功能测试 回归测试和集成测试 r a t i o n a lr o b o t 具有以下特点 2 2 2 3 j 1 初级测试人员容易入门 可以在测试人员学习高级脚本技术之前帮助其 进行成功的测试 2 为高级测试人员提供强大的工具 是一种可扩展的 灵活的功能测试工 具 经验丰富的测试人员可以用它来修改测试脚本 改进测试的深度 3 可以捕获所有h t m l 和d h t m l 特征 包括链接目标和不可见数据 4 快速便捷的可视分析 i b mr a t i o n a lr o b o t 自动记录所有测试结果 并在 测试日志查看器中对这些结果进行颜色编码 以便进行快速可视分析 1 3 华北电力大学硕士学位论文 第三章软件测试管理工具的系统分析 本章将首先分析软件测试的过程及其任务 并以此为基础对软件测试管理工具 进行系统分析 3 1 软件测试过程 软件测试过程f 2 4 2 7 的整个生命历程包括测试需求定义 测试进度与专t 戈f j 测试 用例管理 测试执行和缺陷管理 如图3 1 所示 图3 1 软件测试过程 测试对象 测试对象是指被测试项目 包括测试项目的需求说明书 概要设计 说明书 项目的源代码等 测试需求定义 根据项目的文档 如需求说明书等 确定测试需求 形成测试 需求说明书 包括确定测试范围 创建测试需求 描述测试需求 分析审查测试需 求等 测试进度与计划 基于已定义的测试需求 将项目基于模块和功能划分 并对 应到各个单元或测试主题 创建相应的测试计划树 完成测试进度安排表 测试用例管理 根据测试计划树 对每个测试计划创建测试用例 包括测试的 基本说明 测试类型 手工测试和自动测试 测试步骤等 为方便测试用例的复 1 4 华北电力大学硕士学位论文 用 引入了测试用例库的管理 可以从用例库中进行导入导出操作 测试执行 对于手工测试 根据测试步骤手工执行测试 填写测试结果 生成 测试报告 对于自动测试 根据配置调用相应的测试工具执行测试代码 自动填写 测试结果生成测试报告 缺陷管理 根据测试结果填报缺陷 对缺陷进行状态跟踪直到缺陷关闭 3 1 1 测试需求定义 项目的测试过程开始于测试需求的定义 通过测试需求 可以详细地描述项目 中哪些需要被测试 可以为测试组提供整个测试过程的基础 通过测试需求 可以 更好地对测试进行计划和管理 通过需求与测试计划的关联 可以确保整个测试过 程可追溯 一旦测试需求发生改变 可以立即知道哪些测试需要进行调整 测试需求定义包括 定义测试范围 创建测试需求 描述测试需求和分析测试 需求 测试需求定义最终形成测试需求树和测试需求说明书 1 定义测试范围 测试组根据项目情况 收集所有可以利用的文档信息 开始测试处理过程 例 如收集市场和商务需求文档 系统需求说明书和设计文档等 使用这些文档可以对应用程序的测试方面作一个全面彻底的了解 并以此为基 础来确定测试范围 测试目的 目标和策略 g o a l o b j e c t i v e s t r a t e g y 在确定测试范围时应该重点弄清楚以下的几个问题 1 应用程序的主要目的和方向是什么 2 应用程序有哪些主要特点 3 哪些功能在这个产品中是相对重要的 4 在应用程序中 哪些功能是危急的或高风险的 5 测试优先级是什么 6 客户或最终用户是否同意你的测试优先级 7 总的质量目标是什么 2 创建测试需求 一旦测试工作的范围确定下来 就可以开始考虑测试需求的创建 也就是定义 现阶段要 测什么 测试需求的确定将为制定测试进度表 分配资源以及如何确 定某个阶段测试工作是否完成提供一个可供衡量的标准 更重要的是 己被创建的 测试需求是进行测试用例设计和考虑测试覆盖的依据 测试需求的创建最好以树型层次结构组织 先定义测试主题 并将每个测试主 题进行分析和划分 创建子需求主题 如此循环即可形成一个层次化的需求树 此 需求树通过图表的方式形象地描述了整个项目的测试需求 并显示了不同级别需求 1 5 华北电力大学硕士学位论文 的等级关系 3 描述测试需求 在需求树中的每一个需求均要求详细描述 并且应该包括所有与需求相关的附 件 同时为每个需求设定一个优先级 此优先级会作为测试组创建测试计划的一个 考虑因素 优先级别的确定有利于测试工作有的放矢地展开 使测试人员清晰地了 解核心的功能 特性与流程有哪些 客户最为关注的是什么 由此可确定测试的工 作重点在何处 更方便处理测试进度发生问题时 实现不同优先级别的功能 模块 系统等迭代递交或取舍 从而降低测试风险 4 分析测试需求 测试需求创建之后 还要对其进行分析评审 确保测试需求正确 分析评审的 内容包括很多 如 1 与软件需求的对应关系 是否所有的功能点都已被覆盖 2 测试需求的描述是否容易理解 3 测试需求树上的叶子是否只包含一项测试内容 对于多项测试内容应尽可 能地进行剥离 4 测试需求的优先级定义是否合理 3 1 2 测试进度与计划 对成功的测试来说 制定一个清晰简明的测试计划是必要的基础 一个好的测 试计划 能够使测试人员在整个测试过程的任何位置对应用程序的质量进行评定 有利于测试任务的顺利执行 有利于测试资源
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 咨询灭蚊方案
- 义务植树活动策划及方案
- 寒假声乐课程活动策划方案
- 来电咨询推广方案
- 保险咨询保险规划方案
- 大陆公司岗位绩效工资制运行管理办法
- 散装卫生巾营销方案策划
- 大学生吉他招生营销方案
- 动物保护活动策划方案
- 人工智能在教育领域应用前景
- GenAI时代趋势中的TiDB
- 财务免责协议书模板
- 国际工程居间合同协议
- 教师专业发展 课件 第5-9章 教师专业伦理-影响教师专业发展的外部因素
- 济南社工招聘试题及答案
- 中学文明宿舍评比方案
- 村消防安全管理工作制度
- 新版《企业安全生产费用提取和使用管理办法》专题培训课件
- 护士注射法考试题及答案
- T-CALC 007-2025 重症监护病房成人患者人文关怀规范
- 土方内倒合同(2025年版)
评论
0/150
提交评论