软件系统的主要测试内容及技术

上传人:suij****uang 文档编号:182639001 上传时间:2023-01-26 格式:DOCX 页数:6 大小:16.51KB
返回 下载 相关 举报
软件系统的主要测试内容及技术_第1页
第1页 / 共6页
软件系统的主要测试内容及技术_第2页
第2页 / 共6页
软件系统的主要测试内容及技术_第3页
第3页 / 共6页
点击查看更多>>
资源描述
软件系统的主要测试内容及技术接口与路径测试功能测试 健壮性测试 性能测试 用户界面测试 信息安全测试 压力测试 可靠性测试 安装/反安装测试一、接口与路径测试1、数据一般通过接口输入和输出,所以接口测试是白盒测试的第一步。每个接口可能 有多个输入参数,每个参数有“典型值”、“边界值”、“异常值”之分,所以输入的组合数可能 并不少。根据接口的定义,可以推断某种输入应当产生什么样的输出。输出包括函数的返回 值和输出参数。如果实际输出与期望的输出不一致,那么说明程序有错误。白盒方式的接口 测试和黑盒方式的功能测试,其方法十分相似。2、一个函数体内的语句可能只有十几条,但逻辑路径可能有成千上万条。想遍历测试 几乎是不可能的,不测试或者胡乱找几条路径测试却又不行。3、对于非严格系统而言,在分析路径方面化费很多精力是不值得的。我认为在构造接 口测试的同时已经建立了测试路径。因为每一种输入将产生唯一的输出,输入与输出之间的 路径也是唯一的。由于接口测试中的输入是有代表性的,因此相应的路径也具有代表性,不 用得着费煞苦心地去找测试路径。4、路径测试的检查表数据类型、变量值、逻辑判断、循环、内存管理、文件I/O、错误处理5、由于接口测试是枚举的,有可能漏掉某些状况,导致一些重要的路径没有被测试。 预防措施有:(1)观察是否有程序语句从来没有被执行过。如果发生在这种情况,要么是程序 有错误,存在无用的代码;要么是接口测试不充分,漏掉了一些路径。(2)要特别留意函数体内的错误处理程序块(如果存在的话),这是最易被人疏忽 的路径,隐患最多。资料: 软件单元测试的主要内容是接口测试和路径测试,毫无疑问应当采用白盒测试方式。 如果对源代码中的某个函数进行白盒测试,那么要跟踪到函数的内部,检查所有代码的运行 状况。初看起来,白盒测试可获得100%的正确性。但不幸的是,即使一段很小的程序,它 的逻辑路径可能多得让人无法彻底地进行白盒测试。数据一般通过接口输入和输出,所以接口测试是白盒测试的第一步。每个接口可能有多个输 入参数,每个参数有“典型值”、 “边界值”、 “异常值”之分,所以输入的组合数可能并不少。 根据接口的定义,可以推断某种输入应当产生什么样的输出。输出包括函数的返回值和输出 参数。如果实际输出与期望的输出不一致,那么说明程序有错误。白盒方式的接口测试和黑 盒方式的功能测试,其方法十分相似。由于接口测试只关心输入和输出,并不知道函数体内是怎样运行的。有时候,输入、输出都 是正确的,而函数体内却可能有错误(或者隐藏了错误)。所以仍需要进行路径测试。二、功能测试1、功能测试的基本方法是构造一些合理输入(在需求范围之内),检查输出是否与期望 的相同。如果两者不一致,即表明功能有误。也有例外的情况,如需求规格说明书中的 某个功能写错了,而实际上软件的功能却是正确的,这时要更改的是需求规格说明书。2、功能测试看起来比较简单,只要看得懂需求规格说明书,谁都会做。难点在于如 何构造有效的输入。由于输入空间通常是无限的,穷举测试显然行不通。那么随便输入一些 东西,碰运气行不行?3、功能测试有两种比较好的测试方法:等价划分法和边界值分析法。(1) 等价划分是指把输入空间划分为几个“等价区间”,在每个“等价区间”中只需要测试一个典型值就可以了。等价划分法来源于人们的直觉与经验,可令测试事半功倍。(2) “缺陷遗漏在角落里,聚集在边界上”。边界值测试法是对等价划分法的补充。 如果A和B是输入空间的边界值,那么除了典型值外还要用A和B作为测试用例。(3) 例如测试函数。凭直觉,等价区间应是(0,1 )和(1, +8)。可取典型值x=0.5 以及x=2.0进行“等价划分”测试。再取x=0以及x=1进行“边界值”测试。三、健壮性测试1、健壮性是指在异常情况下,软件还能正常运行的能力。健壮性有两层含义:一是容 错能力,二是恢复能力。2、容错性测试通常构造一些不合理的输入来引诱软件出错,例如:(1) 输入错误的数据类型。如“猴”年“马”月。(2) 输入定义域之外的数值。如上海人常说的“十三点”3、粗暴一些方式俗称“大猩猩”测试法。除了不能拳打脚踢嘴咬外,什么招术都可以使 出来。例如在测试客户机服务器模式的软件时,把网络线拔掉,造成通信异常中断。4、恢复测试重点考察一下几项:( 1)系统能否重新运行;(2) 有无重要的数据丢失;(3) 是否毁坏了其它相关的软件硬件。5、目标当在进行安装或组装操作过程中,文件丢失时或发生意外后系统有能力重新进 行操作6、如何使用程序的安装,运行方式,工具的使用和关键技术经过足够的评估 系统开发完毕后,介绍一下发生失败后的处理过程7、例子人为的使一个系统在安装或者组装过程中产生错误8、什么时间去使用当操作的连续性是个重点的时候四、性能测试1、性能测试即测试软件处理事务的速度,一是为了检验性能是否符合需求,二是为了 得到某些性能数据供人们参考(例如用于宣传)。2、有时人们关心测试的“绝对值”,如数据送输速率是每秒多少比特。有时人们关心测 试的“相对值”,如某个软件比另一个软件快多少倍。3、在获取测试的“绝对值”时,我们要充分考虑并记录运行环境对测试的影响。例如网 络环境、计算机主频,总线结构和外部设备都可能影响软件的运行速度。4、性能测试的一些注意事项:(1)不要试图让人拿着钟表去测时间,应当编写一段程序用于计算时间以及相关数据。(2)应当测试软件在标准配置和最低配置下的性能。(3)为了排除干扰,应当关闭那些消耗内存、占用CPU的其它应用软件(如杀毒软 件)。(4)不同的输入情况会得到不同的性能数据,应当分档记录。例如传输文件的容量从 100K 到 1M 可以分成若干等级。(5)由于环境的波动,同一种输入情况在不同的时间可能得到不同的性能数据,可以 取其平均值。5、目标确定系统达到了希望达到的性能水平6、如何使用使用软件和硬件的监视器使用模拟的监控模型,对关心的性能指标进行监控创建一个小程序7、例子计算通信的时间单位时间处理的信息量五、用户界面测试绝大多数软件拥有图形用户界面。图形用户界面的测试重点是正确性、易用性和视觉效 果。在评价易用性和视觉效果时,主观性非常强,应当考虑多个人的观点。界面测试l 现在一般人都有使用浏览器浏览网页的经历,用户虽然不是专业人员但是对界面效果 的印象是很重要的。如果你注重这方面的测试,那么验证应用程序是否易于使用就非常重要 了。很多人认为这是测试中最不重要的部分,但是恰恰相反界面对不懂技术的客户来说那相 当关键,慢慢体会你会明白的。l 方法上可以根据设计文档,如果够专业的话可以专业美工人员,来确定整体风格页面 风格,然后根据这个可以页面人员可以生成静态的 HTML, CSS 等甚至生成几套不用的方 案来讨论,或者交给客户评审,最后形成统一的风格的页面/框架。注意不要靠程序员的美 术素养形成你的 web 风格,那样可能会很糟糕。主要包括以下几个方面的内容:? 站点地图和导航条 位置、是否合理、是否可以导航等内容布局 布局是否合理,滚 动条等简介说明 说明文字是否合理,位置,是否正确? 背景 /色调 是否正确、美观,是否符合用户需求;? 页面在窗口中的显示是否正确、美观(在调整浏览器窗口大小时,屏幕刷新是否正 确)表单样式 大小,格式,是否对提交数据进行验证(如果在页面部分进行验证的话)等? 连接 连接的形式,位置,是否易于理解等l web 测试的主要页面元素? 页面元素的容错性列表(如输入框、时间列表或日历)? 页面元素清单(为实现功能,是否将所需要的元素全部都列出来了,如按钮、单选 框、复选框、列表框、超连接、输入框等等)? 页面元素的容错性是否存在? 页面元素的容错性是否正确? 页面元素基本功能是否实现(如文字特效、动画特效、按钮、超连接)? 页面元素的外形、摆放位置(如按钮、列表框、核选框、输入框、超连接等)? 页面元素是否显示正确(主要针对文字、图形、签章)? 元素是否显示(元素是否存在)页面元素清单(为实现功能,是否将所需要的元素全部都列出来了,如按钮、单选框 复选框、列表框、超连接、输入框等等)l 测试技术? 通过页面走查,浏览确定使用的页面是否符合需求。可以结合兼容性测试对不用分 辨率下页面显示效果,如果有影响应该交给设计人员提出解决方案。? 可以结合数据定义文档查看表单项的内容,长度等信息。? 对于动态生成的页面最好也能进行浏览查看。如 Servelet 部分可以结合编码规范, 进行代码走查。是否支持中文,如果数据用XML封装要做的工作会多一点等等。界面测试要素: 符合标准和规范,灵活性,正确性,直观性,舒适性,实用性,一致性l 1. 直观性 :? 用户界面是否洁净,不唐突,不拥挤.界面不应该为用户制造障碍.所需功能或者 期待的响应应该明显,并在预期出现的地方.? 界面组织和布局合理吗?是否允许用户轻松地从一个功能转到另一个功能 ?下 一步做什么明显吗?任何时刻都可以决定放弃或者退回,退出吗?输入得到承认了 吗?菜单或者窗口是否深藏不露? 有多余功能吗?软件整体抑或局部是否做得太多 ?是否有太多特性把工作复杂 化了?是否感到信息太庞杂? 如果其他所有努力失败,帮助系统真能帮忙吗?l 2.一致性? 快速键和菜单选项.在 Windows 中按 F1 键总是得到帮助信息?术语和命令.整个软件使用同样的术语吗?特性命名一致吗?例如,Find是否一直 叫Find,而不是有时叫Search? 软件是否一直面向同一级别用户?带有花哨用户界面的趣味贺卡程序不应该显 示泄露技术机密的错误提示信息.? 按钮位置和等价的按键 .大家是否注意到对话框有 OK 按钮和 Cancle 按钮 时,OK按钮总是在上方或者左方,而Cancle按钮总是在下方或右方?同样原 因,Cancle按钮的等价按键通常是Esc,而选中按钮的等价按钮通常是Enter保持l 3. 灵活性? 状态跳转. 灵活的软件实现同一任务有多种选择方式.? 状态终止和跳过, 具有容错处理能力.? 数据输入和输出.用户希望有多种方法输入数据和查看结果 .例如,在写字板插 入文字可用键盘输入,粘贴,从 6 种文件格式读入,作为对象插入,或者用鼠标从其 他程序拖动.l 4. 舒适性? 恰当 . 软件外观和感觉应该与所做的工作和使用者相符.? 错误处理 .程序应该在用户执行严重错误的操作之前提出警告 ,并允许用户恢 复由于错误操作导致丢失的数据.如大家认为 undo /redo 是当然的.? 性能 . 快不见得是好事.要让用户看得清程序在做什么, 它是有反应的.六、信息安全测试信息安全性(security)是指防止系统被非法入侵的能力,既属于技术问题又属于管理问题。 信息安全性测试有如下步骤:( 1)为非法入侵设立目标,例如“盗窃某个文件”或“更改数据库记录”等。(2) 邀请(或悬赏)一些人扮演黑客,让他们想尽办法入侵系统,实现“目标”。(3) 如果有人成功了,请他详述入侵的过程。别忘了给予奖励。目标 安全性的缺陷很难被发现。 大多数的情况下组织能够防止一般性的破坏者。如何使用 对安全性的需求进行评审 分析与安全性有关的处理流程 转包给专业的人员例子 定义了被保护的资源,权限进行了控制,日志文件和审查追踪是可用的。什么时间使用 当被保护的资源对于组织具有重要的价值的时候七、压力测试 压力测试也叫负荷测试,即获取系统能正常运行的极限状态。了解“极限”是很有价值的, 例如潜艇下潜极限深度。压力测试的主要任务是:构造正确的输入,使劲折腾系统却让它刚好不瘫痪。 压力测试的一个变种是敏感测试。在某种情况下,微小的输入变动会导致系统的表现(如 性能)发生急剧的变化。敏感测试目的是发现什么样的输入可能会引发不稳定现象。目标:模拟出实际用户环境 怎么用:产生测试数据 测试组模拟用户处理被创建的数据例子确定是否分配了足够的磁盘空间通讯的容量是否足够测试系统过载的情况什么时间使用当关于容量的信息不确定的时候八、可靠性测试可靠性是指在一定的环境下、在给定的时间内、系统不发生故障的概率。由于软件不像 硬件那样可以“加速老化”,按此定义,软件可靠性测试可能会花费很长时间。比较实用的办法是,让用户使用该系统,记录每一次发生故障的时刻。计算出相邻故障 的时间间隔,注意要去掉非工作时间。这样我们可以方便地统计出不发生故障的“最小时间 间隔”、“最大时间间隔”和“平均时间间隔”。其中“平均时间间隔”会让人们大体了解到系统“可 靠”的程度。九、安装 / 反安装测试安装 / 反安装测试的目的:避免“大风浪都挺过来了,却在阴沟里翻了船”目前市面上有非常流行的、专门制作安装/反安装程序的一些工具,如Install Shelled。制作 安装/反安装程序不再是件难事,关键是不要麻痹大意。主要测试工作: (1)至少在标准配置和最低配置两种环境下测试; (2)如果有安装界面,应当尝试各种选项,如选择“全部”、 “部分”、 “升级”等。 如何进行安装测试 除了嵌入式软件之外 ,安装是软件产品实现其功能的第一步,没有正确的安装根本就谈 不上正确的执行,因此对于安装的测试就显得尤为重要。那么对于安装测试需要注意一些什 么呢,我们认为至少应该从以下几点来考虑:1. 自动安装还是手工配置安装,测试各种不同的安装组合,并验证各种不同组合的正确性 最终目标是所有组合都能安装成功。2. 安装退出之后,确认应用程序可以正确启动、运行。3. 在安装之前请备份你的注册表,安装之后,察看注册表中是否有多余的垃圾信息。4. 卸载测试和安装测试同样重要,如果系统提供自动卸载工具,那么卸载之后需检验系统 是否把所有的文件全部删除,注册表中有关的注册信息是否也被删除。5. 至少要在一台笔记本上进行安装测试,因为有很多产品在笔记本中会出现问题,尤其是 系统级的产品6. 安装完成之后 ,可以在简单的使用之后再执行卸载操作 ,有的系统在使用之后会发生 变化,变得不可卸载7. 对于客户服务器模式的应用系统,可以先安装客户端,然后安装服务器端,测试是否会 出现问题8. 考察安装该系统是否对其他的应用程序造成影响,特别是Windows操作系统,经常会出 现此类的问题。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!