如果x>a[n/2],则我们只要在数组a的右半部继续搜索x。
第五部分测试
仓库管理系统测试策略
仓库管理系统测试策略提供了对仓库管理系统进行仓库管理系统测试的推荐方法。
对于每种仓库管理系统测试,都应提供仓库管理系统测试说明,并解释其实施的原因。
制定仓库管理系统测试策略时所考虑的主要事项有:
将要使用的技术以及判断仓库管理系统测试何时完成的标准。
下面列出了在进行每项仓库管理系统测试时需考虑的事项,除此之外,仓库管理系统测试还只应在安全的环境中使用已知的、有控制的数据库来执行。
注意:
不实施某种仓库管理系统测试,则应该用一句话加以说明,并陈述这样的理由。
例如,“将不实施该仓库管理系统测试。
该仓库管理系统测试本项目不适用”。
5.1仓库管理系统数据和数据库完整性测试
要仓库管理系统中,数据库和数据库进程应作为一个子系统来进行仓库管理系统测试。
在仓库管理系统测试这些子系统时,不应将仓库管理系统的用户界面用作数据的接口。
对于数据库管理系统(DBMS),还需要进行深入的研究,以确定可以支持以下仓库管理系统测试的工具和技术。
仓库管理系统测试目标:
确保数据库访问方法和进程正常运行,数据不会遭到损坏
技术:
调用各个数据库访问方法和进程,并在其中填充有效的和无效的数据(或对数据的请求)。
检查数据库,确保数据已按预期的方式填充,并且所有的数据库事件已正常发生;或者检查所返回的数据,确保正当的理由检索到了正确的数据
完成标准:
所有的数据库访问方法和进程都按照设计的方式运行,数据没有遭到损坏。
需考虑的特殊事项:
仓库管理系统测试可能需要DBMS开发环境或驱动程序在数据库中直接输入或修改数据。
进程应该以手工方式调用。
应使用小型或最小的数据库(记录的数量有限)来使所有无法接受的事件具有更大的可视度。
5.2仓库管理系统接口测试
仓库管理系统测试目标确保接口调用的正确性
仓库管理系统测试范围:
所有软件、硬件接口,记录输入输出数据
需考虑的特殊事项:
接口的限制条件
5.3仓库管理系统集成测试
集成仓库管理系统测试―主要目的检测系统是否达到需求对业务流程及数据流的处理是否符合标准,检测系统对业务流处理是否存在逻辑不严谨及错误,检测需求是否存在不合理的标准及要求。
此阶段仓库管理系统测试基于功能完成的仓库管理系统测试。
仓库管理系统测试目标检测需求中业务流程,数据流的正确性
仓库管理系统测试范围:
需求中明确的业务流程,或组合不同功能模块而形成一个大的功能。
技术:
利用有效的和无效的数据来执行各个用例、用例流或功能,以核实以下内容:
在使用有效数据时得到预期的结果。
在使用无效数据时显示相应的错误消息或警告消息。
各业务规则都得到了正确的应用。
开始标准:
在完成某个集成仓库管理系统测试时必须达到标准
完成标准:
所计划的仓库管理系统测试已全部执行。
所发现的缺陷已全部解决。
仓库管理系统测试重点和优先级:
仓库管理系统测试重点指在仓库管理系统测试过程中需着重仓库管理系统测试的地方,优先级可以根据需求及严重来定
需考虑的特殊事项:
确定或说明那些将对功能仓库管理系统测试的实施和执行造成影响的事项或因素(内部的或外部的)
5.4仓库管理系统功能测试
对仓库管理系统的功能仓库管理系统测试应侧重于所有可直接追踪到用例或业务功能和业务规则的仓库管理系统测试需求。
这种仓库管理系统测试的目标是核实数据的接受、处理和检索是否正确,以及业务规则的实施是否恰当。
此类仓库管理系统测试基于黑盒技术,该技术通过图形用户界面(GUI)与应用程序进行交互,并对交互的输出或结果进行分析,以此来核实应用程序及其内部进程。
以下为各种应用程序列出了推荐使用的仓库管理系统测试概要:
仓库管理系统测试目标确保仓库管理系统测试的功能正常,其中包括导航,数据输入,处理和检索等功能。
技术:
利用有效的和无效的数据来执行各个用例、用例流或功能,以核实以下内容:
在使用有效数据时得到预期的结果。
在使用无效数据时显示相应的错误消息或警告消息。
各业务规则都得到了正确的应用。
需考虑的特殊事项:
确定或说明那些将对功能仓库管理系统测试的实施和执行造成影响的事项或因素(内部的或外部的)
5.5仓库管理系统用户界面测试
用户界面(UI)仓库管理系统测试用于核实用户与软件之间的交互。
UI仓库管理系统测试的目标是确保用户界面会通过仓库管理系统的功能来为用户提供相应的访问或浏览功能。
另外,UI仓库管理系统测试还可确保UI中的对象按照预期的方式运行,并符合公司或行业的标准。
仓库管理系统测试目标核实以下内容:
通过仓库管理系统测试进行的浏览可正确反映业务的功能和需求,这种浏览包括窗口与窗口之间、字段与字段之间的浏览,以及各种访问方法(Tab键、鼠标移动、和快捷键)的使用
窗口的对象和特征(例如,菜单、大小、位置、状态和中心)都符合标准。
技术:
为每个窗口创建或修改仓库管理系统测试,以核实各个应用程序窗口和对象都可正确地进行浏览,并处于正常的对象状态。
完成标准:
成功地核实出各个窗口都与基准版本保持一致,或符合可接受标准
需考虑的特殊事项:
并不是所有定制或第三方对象的特征都可访问。
5.6性能评测
性能评测是一种性能仓库管理系统测试,它对响应时间、事务处理速率和其他与时间相关的需求进行评测和评估。
性能评测的目标是核实性能需求是否都已满足。
实施和执行性能评测的目的是将仓库管理系统的性能行为当作条件(例如工作量或硬件配置)的一种函数来进行评测和微调。
注:
以下所说的事务是指“逻辑业务事务”。
这种事务被定义为将由系统的某个Actor通过使用仓库管理系统来执行的特定用例,添加或修改给定的合同。
仓库管理系统测试目标核实所指定的事务或业务功能在以下情况下的性能行为:
正常的预期工作量,预期的最繁重工作量
技术:
使用为功能或业务周期仓库管理系统测试制定的仓库管理系统测试过程。
通过修改数据文件来增加事务数量,或通过修改脚本来增加每项事务的迭代数量。
脚本应该在一台计算机上运行(最好是以单个用户、单个事务为基准),并在多个客户机(虚拟的或实际的客户机,请参见下面的“需要考虑的特殊事项”)上重复。
需考虑的特殊事项:
综合的性能仓库管理系统测试还包括在服务器上添加后台工作量。
可采用多种方法来执行此操作,其中包括:
直接将“事务强行分配到”服务器上,这通常以“结构化语言”(SQL)调用的形式来实现。
通过创建“虚拟的”用户负载来模拟许多个(通常为数百个)客户机。
此负载可通过“远程终端仿真(RemoteTerminalEmulation)工具来实现。
此技术还可用于在网络中加载“流量”。
使用多台实际客户机(每台客户机都运行仓库管理系统测试脚本)在系统上添加负载。
性能仓库管理系统测试应该在专用的计算机上或在专用的机时内执行,以便实现完全的控制和精确的评测。
性能仓库管理系统测试所用的数据库应该是实际大小或相同缩放比例的数据库。
5.7仓库管理系统负载测试
负载仓库管理系统测试是一种性能仓库管理系统测试。
在这种仓库管理系统测试中,将使仓库管理系统承担不同的工作量,以评测和评估仓库管理系统在不同工作量条件下的性能行为,以及持续正常运行的能力。
负载仓库管理系统测试的目标是确定并确保系统在超出最大预期工作量的情况下仍能正常运行。
此外,负载仓库管理系统测试还要评估性能特征,例如,响应时间、事务处理速率和其他与时间相关的方面。
注:
以下所说的事务是指“逻辑业务事务”。
这各事务被定义为将由系统的某个最终用户通过使用应用程序来执行的特定功能,例如,添加或修改给定的合同。
仓库管理系统测试目标核实所指定的事务或商业理由在不同的工作量条件下的性能行为时间。
技术:
使用为功能或业务周期仓库管理系统测试制定的仓库管理系统测试。
通过修改数据文件来增加事务数量,或通过修改脚本来增加每项事务发生的次数。
完成标准:
多个事务或多个用户:
在可接受的时间范围内成功地完成仓库管理系统测试,没有发生任何故障。
需考虑的特殊事项:
负载仓库管理系统测试应该在专用的计算机上或在专用的机时内执行,以便实现完全的控制和精确的评测。
负载仓库管理系统测试所用的数据库应该是实际大小或相同缩放比例的数据库。
5.8仓库管理系统强度测试
强度仓库管理系统测试是一种性能仓库管理系统测试,实施和执行此类仓库管理系统测试的目的是找出因资源不足或资源争用而导致的错误。
如果内存或磁盘空间不足,仓库管理系统就可能会表现出一些在正常条件下并不明显的缺陷。
而其他缺陷则可能由于争用共享资源(如数据库锁或网络带宽)而造成的。
强度仓库管理系统测试还可用于确定仓库管理系统能够处理的最大工作量。
仓库管理系统测试目标核实仓库管理系统能够在以下强度条件下正常运行,不会出现任何错误:
服务器上几乎没有或根本没有可用的内存(RAM和DASD)
连接或模拟了最大实际(实际允许)数量的客户机
多个用户对相同的数据或帐户执行相同的事务
最繁重的事务量或最差的事务组合(请参见上面的“性能仓库管理系统测试”)。
注:
强度仓库管理系统测试的目标可表述为确定和记录那些使系统无法继续正常运行的情况或条件。
客户机的强度仓库管理系统测试在“配置仓库管理系统测试”的
技术:
使用为性能评测或负载仓库管理系统测试制定的仓库管理系统测试。
要对有限的资源进行仓库管理系统测试,就应该在一台计算机上运行仓库管理系统测试,而且应该减少或限制服务器上的RAM和DASD。
对于其他强度仓库管理系统测试,应该使用多台客户机来运行相同的仓库管理系统测试或互补的仓库管理系统测试,以产生最繁重的事务量或最差的事务组合。
完成标准:
所计划的仓库管理系统测试已全部执行,并且在达到或超出指定的系统限制时没有出现任何软件故障,或者导致系统出现故障条件的并不在指定的条件范围之内。
5.9仓库管理系统容量测试
容量仓库管理系统测试使仓库管理系统处理大量的数据,以确定是否达到了将使软件发生故障的极限。
容量仓库管理系统测试还将确定仓库管理系统在给定时间内能够持续处理的最大负载或工作量。
例如,如果仓库管理系统正在为生成一份报表而处理一组数据库记录,那么容量仓库管理系统测试就会使用一个大型的仓库管理系统测试数据库。
检验该软件是否正常运行并生成了正确的报表。
仓库管理系统测试目标核实仓库管理系统在以下高容量条件下能否正常运行:
连接或模拟了最大(实际或实际允许)数量的客户机,所有客户机在长时间内执行相同的、且情况(性能)最坏的业务功能。
已达到最大的数据库大小(实际的或按比例缩放的),而且同时执行多个查询或报表事务。
技术:
使用为性能评测或负载仓库管理系统测试制定的仓库管理系统测试。
应该使用多台客户机来运行相同的仓库管理系统测试或互补的仓库管理系统测试,以便在长时间内产生最繁重的事务量或最差的事务组合(请参见上面的“强度仓库管理系统测试”)
创建最大的数据库大小(实际的、按比例缩放的、或填充了代表性数据的数据库),并使用多台客户机在长时间内同时运行查询和报表事务。
完成标准:
所计划的仓库管理系统测试已全部执行,而且达到或超出指定的系统限制时没有出现任何软件故障。
5.10仓库管理系统安全性和访问控制测试
安全性和访问控制仓库管理系统测试侧重于安全性的两个关键方面:
应用程序级别的安全性,包括对数据或业务功能的访问。
系统级别的安全性,包括对系统的登录或远程访问。
应用程序级别的安全性可确保:
在预期的安全性情况下,Actor只能访问特定的功能或用例,或