1、2022-12-201动态黑盒测试动态黑盒测试 2022-12-202黑盒测试黑盒测试测试者看不到代码称为功能测试由测试组做关注发生了什么,而不是怎么发生的用户界面变的非常重要测试工作分三步:输入、输出、检验结果2022-12-203测试用例的形成测试用例的形成根据设计文件和产品说明书确定对测试对象的输入和输出根据输入和输出定义测试用例根据测试用例,在软件运行的状态下测试软件的程序测试用例很重要,举例2022-12-204测试的思路测试的思路“通过”测试 检测软件的基本功能和正常的功能是否完全具备 并不是通过就达到要求“失败”测试 通过破坏性的测试发现潜在的缺陷 逆向思维,目的是在软件发布之前
2、,有机会搞跨软件,攻击软件的薄弱环节 不仅仅只是在破坏设计者设计的错误信息2022-12-205测试方案技术测试方案技术:等价分类法等价分类法 等价分配是指分步骤地把过多的测试用例减小到同样有效的小范围的过程,也就是作出等价区间。等价区间是指测试相同目标或者暴露相同软件缺陷的一组测试用例。在寻找等价区间时,把相似的输入、输出、操作分成组,形成等价区间。2022-12-206测试方案技术测试方案技术:等价分类法举例等价分类法举例文件名的测试 内边界是1-255个有效字符 有效字符,不包括非法字符:/、:*?“!等价区间有合法字符、非法字符、合法长度的字符、过长名称、过短名称。数据范围 范围是19
3、99,我们可以划分三类:x1,等价分类法是将输入数据的可能值分成若干“等价类”,每一类以一个代表性的测试数据进行测试,这个数据就等价于这一类中的其它数据。该法的关键在于如何将输入数据分类。输入的数据1=x=999,x12022-12-207测试方案技术:数据测试测试方案技术:数据测试软件的组成:数据和程序代码 数据包括键盘、鼠标、磁盘文件、打印等输入和输出 程序指可执行的流程、转换、逻辑和运算数据的测试 检查用户输入的信息、返回的结果、中间计算结果是否符合要求数据的类别 字符、数字、图形图象、多媒体数据等数据的测试技术主要有 边界条件 次边界条件 空值和无效数据2022-12-208测试方案技
4、术:数据测试测试方案技术:数据测试边界条件(边缘值)分析法用边缘特殊值测试。经验表明:程序往往在边缘情况时犯错误,故测试边缘情况比较有效。例如:输入数据的值的范围是:-1.0至1.0,则可选-1.0,1.0,-1.001,1.001等数据作为测试数据。2022-12-209测试方案技术:数据测试测试方案技术:数据测试边界条件类型边界条件是指操作界限的边缘值。可能数据类型v数值、字符、位置、数量v速度、地址、尺寸可能产生的边界情况v第一/最后v最小/最大,最慢/最快,最高/最低v开始/完成v超过/在内2022-12-2010测试方案技术:数据测试测试方案技术:数据测试测试边界提出边界条件时一定要
5、测试临近边界的合法数据:最后一个可能合法的数据,刚超过边界的非法数据测试方式v按照步长增加或减少:X+STEP OR X-STEP。例如:文件名的测试v边界是1-255个有效字符v测试用例边界输入项:1 和255v测试用例边界临界输入项:0 和254,256测试所有的边界,有助于发现更多的边界2022-12-2011测试方案技术:数据测试测试方案技术:数据测试内部边界隐含在软件内部的边界条件例如:计算机的二进制带来的内部进位边界v16,255,1024等测试方式v分析内边界,测试边界值和临界值。2022-12-2012测试方案技术:数据测试测试方案技术:数据测试默认 空白 空值 零建立这些等价
6、区间例如:日期的的默认值vSYSDATE等v数值的的空值测试方式v定义这些区间,测试是否有正确的反馈或处理2022-12-2013测试方案技术:数据测试测试方案技术:数据测试破坏性测试利用非法和错误的数据验证软件,看是否失败原因v用户的使用千奇百怪v用户的意外操作不可预测测试方式v对正确的数据做逆向思维,看石油有正确的反馈或处理有句话:按照傻子的操作能测试出更多的缺陷2022-12-2014测试方案技术测试方案技术-状态测试状态测试因果图法等价类法与边缘值分析法的缺点是没有检查各种输入条件的组合。因果图法则着重分析输入条件的各种组合,每种组合条件就是“因”,它必然有一个输出的结果,这就是“果”
7、。2022-12-2015测试方案技术:状态测试测试方案技术:状态测试软件状态 软件当前所处的情况或者模式状态的测试 通过不同的状态验证程序的逻辑流程状态的一般流程 初始状态 根据菜单、功能带来的状态变化:比如 外观、操作、菜单旧状态流程控制新状态数据转换变量设置2022-12-2016测试逻辑流程测试逻辑流程 测试的方法:运用等价分配的原则选择状态和分支不可能作到完全测试分支太多面向对象技术中的状态变化复杂程序的选择和选项太多,相互的分支和状态组合很多2022-12-20171.建立状态转换图建立状态转换图状态转换图的建立面向对象的测试技术可以利用面向对象的状态图,也可以利用简单的方框+箭头
8、图状态图包括以下一些项目v软件可能进入的每一种独立状态v从一种状态转入另一种状态所须的输入和条件v进入或者退出某种状态时的设置条件及输出结果2022-12-20182.状态测试的原则状态测试的原则每种状态至少访问一次测试最常见最普遍的状态转换测试状态之间最不常用的分支测试所有错误状态及其返回值测试随机状态转换2022-12-20193.测试状态测试状态设计测试用例,检查所有的状态变量与进入和退出状态相关的静态条件、信息、值、功能等比如(状态可以可选和预定义)v窗口外观v窗口尺寸被设置为上一次使用的尺寸v绘画区域空白v显示工具栏、颜色栏和状态条v铅笔工具被选中,而其他所有工具均未选中v默认颜色是
9、黑色前景v文档名称是untiled 2022-12-2020失败状态测试失败状态测试 失败测试是通过测试的相反做法,做法是测试用例目的是为了损害系统的特定功能。主要测试的项目有并发或者时序错乱重复、压迫和重负2022-12-2021并发或者时序错乱的测试举例并发或者时序错乱的测试举例两个不同的程序同时打开或保存同一个文档共享同一台打印机、通信端口或者其他外围设备当软件处于读取或者修改状态时,按键或者单击鼠标同时关闭或者启动软件的多个实例同时使用不同的程序访问一个共同的数据库2022-12-2022重复、压迫和重负重复、压迫和重负测试目标是:处理程序员没有想到恶劣条件下产生的问题的能力 重复测试
10、:不断执行同样的操作反复读写数据,选择同一个操作测试内存是否足够,经常出现程序的内存分配没有回收 压迫测试:软件在不够理想的条件下运行内存小,磁盘空间少,CPU速度慢等测试软件对外部资源的要求和依赖的程度将支持降到最低限度,这是性能的边界条件测试 重负测试:让软件工作在尽可能大的负载下处理尽可能大的数据文件尽可能大的通信容量尽可能多的进程尽可能长的运行时间2022-12-2023测试方案技术:凭借经验、直觉和预感测试方案技术:凭借经验、直觉和预感错误推测法通过经验或直觉推测程序中可能存在的各种错误,从而有针对性设计测试用例。使用常见错误清单、判定表等2022-12-2024黑盒测试的应用举例黑
11、盒测试的应用举例安装测试最初的验收测试用户界面测试验证活动:功能测试验证活动:系统测试最终验收测试基准化2022-12-2025系统测试的种类系统测试的种类功能测试边界和限定测试强度测试破坏性测试容量测试2022-12-2026系统测试种类系统测试种类兼容性可用性可靠性文档2022-12-2027功能测试功能测试一个确认的活动 检验软件的特征或功能是否按照产品要求、规格说明和合理的用户期望来运行2022-12-2028边界边界/限定测试限定测试测试数值、大小、或者数量是否靠近设计的限定数值限定(Value limits)长度限定(Length limits)容量限定(Volume limits
12、)测试输入靠近极限数值时,越可能发生错误测试当超出边界时,软件该如何反应2022-12-2029单一缺陷假设单一缺陷假设有关可靠性的单一缺陷假设是:失败很少是由两个或两个以上的缺陷同时造成的2022-12-2030边界边界/限定测试限定测试边界值的测试鲁棒(健壮)性测试最坏情况测试鲁棒性和最坏情况同时测试详细2022-12-2031边界测试的局限性边界测试的局限性不需要太多的考虑可能会遗漏内在的边界通常假设变量是独立的边界上的值可能没有任何意义2022-12-2032强度测试强度测试也叫负载测试测试软件在极限状态下的工作负载巨大的数据容量反复的操作对软件扩展周期的操作:持久性测试2022-12
13、-2033破坏性测试破坏性测试称为错误测试产品应该 检测、诊断和控制意外情况 纠正意外情况可能发生的地方 报告意外的情况 恢复原状2022-12-2034考虑破坏性考虑破坏性大部分软件的绝大多数灾难性失败都是数据的丢失或崩溃应该向黑客一样考虑,特别是在测试安全问题的时候破坏性测试通常没有结构化,但是应该记录下测试的过程一定要有创造性如果成功,要考虑后果是什么2022-12-2035用户手册测试用户手册测试安装文档在线帮助2022-12-2036用户手册测试:安装用户手册测试:安装安装产品和选项 卸载一个产品和选项重新安装一个产品和选项升级安装2022-12-2037用户手册测试:测试文档用户手册测试:测试文档评审检查走查和预排正确、完整、风格等2022-12-2038用户手册测试:测试文档用户手册测试:测试文档保留一份测试人员的注释对于新的测试人员可以从注释位置开始测试手册可以是面向任务的,也可以是面向特征功能2022-12-2039用户手册测试:测试的内容用户手册测试:测试的内容安装其他文档(README等)使用方便遗漏的特征部分功能兼容性2022-12-2040测试文档:在线帮助测试文档:在线帮助可用性恰当正确性完整链接控制