A. 软件测试的原则与策略是什么
测试方法是指解决问题的技术手段或工具的集合。
软件测试策略是指如何选择和运用方法来解决具体问题。
软件测试有很多方法等价类、边界值、语句覆盖、条件覆盖、路径覆盖、场景法、自顶向下&自底向上集成法等等。当你掌握和了解这些方法之后,怎么运用到实际项目中呢。就需要制定测试策略,在测试项目中什么时间、什么任务需要运用哪个或哪些方法或哪些工具、怎么组织起来去解决完成,这就是策略。
例如:一个测试项目中在单元测试阶段采用技术评审法(代码审查),在集成阶段采用三明治法,在系统测试阶段采用场景法,在针对功能进行测试时选用适当的黑盒测试方法设计测试用例;在进行单元、集成测试时选用适当的白盒方法设计测试用例;在进行性能相关测试时选用适当的测试工具进行等等,这就是测试策略。
它们的范围不是以大小而论,也不是包含关系。测试工作涉及的方法很多,策略是根据项目需要从方法集中选择适合的技术方法,把他们合理的组织起来完成测试任务;测试策略能够指导测试工作的顺利进行。
B. 什么是测试策略
测试策略描述测试工程的总体方法和目标。
描述目前在进行哪一阶段的测试(单元测试、集成测试、系统测试)以及每个阶段内在进行的测试种类(功能测试、性能测试、覆盖测试等)。
测试策略的制定主要包含三个方面的内容:
(1)确定测试过程要使用的测试技术和工具;
(2)制定测试启动、停止、完成标准;
(3)进行风险分析和应对方案。例如测试与外部接口或者模拟物理损坏、安全性威胁。测试计划最关键的一步就是将软件分解成单元,按照需求编写测试计划。
(2)测试策略制定常用的理论方法扩展阅读。
测试英文名Test、Measure;中文拼音cè shì;由中文"测"与中文"试"两个字组成的词语。
是动词、名词。
测试行为,一般发生于为检测特定的目标是否符合标准而采用专用的工具或者方法进行验证,并最终得出特定的结果。
C. 测试架构师:4 如何才能制定好测试策略
测试策略总觉得这样喊太深奥,或者换个方式:做什么样的事情才能将软件的质量真实的评估出来,答案是,覆盖所有业务路径和功能场景,但是日常生产是不可能做到的,所以有取舍。取舍的依据有很多点可以参考衡量,一般核心业务比边缘业务要投入更多,实现技术复杂的要比简单的更侧重,测试策略最终直接体现在我们如何安排系统的测试优先级以及对于某个具体功能测试哪些点
D. 测试计划的测试策略
提供了对测试对象进行测试的推荐方法。
对于每种测试,都应提供测试说明,并解释其实施的原因。
制定测试策略时所考虑的主要事项有:将要使用的技术以及判断测试何时完成的标准。
下面列出了在进行每项测试时需考虑的事项,除此之外,测试还只应在安全的环境中使用已知的、有控制的数据库来执行。
注意:不实施某种测试,则应该用一句话加以说明,并陈述这样的理由。例如,“将不实施该测试。该测试本项目不适用”。
[要<项目名称>中,数据库和数据库进程应作为一个子系统来进行测试。在测试这些子系统时,不应将测试对象的用户界面用作数据的接口。对于数据库管理系统(DBMS),还需要进行深入的研究,以确定可以支持以下测试的工具和技术。]
测试目标:[确保数据库访问方法和进程正常运行,数据不会遭到损坏]
测试范围:
技术:[调用各个数据库访问方法和进程,并在其中填充有效的和无效的数据(或对数据的请求)。
检查数据库,确保数据已按预期的方式填充,并且所有的数据库事件已正常发生;或者检查所返回的数据,确保正当的理由检索到了正确的数据]
完成标准:[所有的数据库访问方法和进程都按照设计的方式运行,数据没有遭到损坏。]
测试重点和优先级:
需考虑的特殊事项:[测试可能需要DBMS开发环境或驱动程序在数据库中直接输入或修改数据。
进程应该以手工方式调用。
应使用小型或最小的数据库(记录的数量有限)来使所有无法接受的事件具有更大的可视度。]
测试目标:确保接口调用的正确性
测试范围:所有软件、硬件接口,记录输入输出数据
技术:
开始标准:
完成标准:
测试重点和优先级:
需考虑的特殊事项:接口的限制条件
[集成测试―主要目的检测系统是否达到需求对业务流程及数据流的处理是否符合标准,检测系统对业务流处理是否存在逻辑不严谨及错误,检测需求是否存在不合理的标准及要求。此阶段测试基于功能完成的测试。]
测试目标:检测需求中业务流程,数据流的正确性
测试范围:需求中明确的业务流程,或组合不同功能模块而形成一个大的功能。
技术:[利用有效的和无效的数据来执行各个用例、用例流或功能,以核实以下内容:在使用有效数据时得到预期的结果。
在使用无效数据时显示相应的错误消息或警告消息。各业务规则都得到了正确的应用。]
开始标准:在完成某个集成测试时必须达到标准
完成标准:[所计划的测试已全部执行。所发现的缺陷已全部解决。]
测试重点和优先级:测试重点指在测试过程中需着重测试的地方,优先级可以根据需求及严重来定
需考虑的特殊事项:[确定或说明那些将对功能测试的实施和执行造成影响的事项或因素(内部的或外部的)]
[对测试对象的功能测试应侧重于所有可直接追踪到用例或业务功能和业务规则的测试需求。这种测试的目标是核实数据的接受、处理和检索是否正确,以及业务规则的实施是否恰当。此类测试基于黑盒技术,该技术通过图形用户界面(GUI)与应用程序进行交互,并对交互的输出或结果进行分析,以此来核实应用程序及其内部进程。以下为各种应用程序列出了推荐使用的测试概要:]
测试目标:[确保测试的功能正常,其中包括导航,数据输入,处理和检索等功能。]
测试范围:
技术:[利用有效的和无效的数据来执行各个用例、用例流或功能,以核实以下内容:在使用有效数据时得到预期的结果。
在使用无效数据时显示相应的错误消息或警告消息。各业务规则都得到了正确的应用。]
开始标准:
完成标准:
测试重点和优先级:
需考虑的特殊事项:[确定或说明那些将对功能测试的实施和执行造成影响的事项或因素(内部的或外部的)]
[用户界面(UI)测试用于核实用户与软件之间的交互。UI测试的目标是确保用户界面会通过测试对象的功能来为用户提供相应的访问或浏览功能。另外,UI测试还可确保UI中的对象按照预期的方式运行,并符合公司或行业的标准。]
测试目标:[核实以下内容:
通过测试进行的浏览可正确反映业务的功能和需求,这种浏览包括窗口与窗口之间、字段与字段之间的浏览,以及各种访问方法(Tab键、鼠标移动、和快捷键)的使用窗口的对象和特征(例如,菜单、大小、位置、状态和中心)都符合标准。]
测试范围:
技术:[为每个窗口创建或修改测试,以核实各个应用程序窗口和对象都可正确地进行浏览,并处于正常的对象状态。]
开始标准:
完成标准:[成功地核实出各个窗口都与基准版本保持一致,或符合可接受标准]
测试重点和优先级:
需考虑的特殊事项:[并不是所有定制或第三方对象的特征都可访问。]
[性能评测是一种性能测试,它对响应时间、事务处理速率和其他与时间相关的需求进行评测和评估。性能评测的目标是核实性能需求是否都已满足。实施和执行性能评测的目的是将测试对象的性能行为当作条件(例如工作量或硬件配置)的一种函数来进行评测和微调。
注:以下所说的事务是指“逻辑业务事务”。这种事务被定义为将由系统的某个Actor通过使用测试对象来执行的特定用例,添加或修改给定的合同。]
测试目标:[核实所指定的事务或业务功能在以下情况下的性能行为:正常的预期工作量预期的最繁重工作量]
测试范围:
技术:[使用为功能或业务周期测试制定的测试过程。通过修改数据文件来增加事务数量,或通过修改脚本来增加每项事务的迭代数量。脚本应该在一台计算机上运行(最好是以单个用户、单个事务为基准),并在多个客户机(虚拟的或实际的客户机,请参见下面的“需要考虑的特殊事项”)上重复。]
开始标准:
完成标准:[单个事务或单个用户:在每个事务所预期时间范围内成功地完成测试脚本,没有发生任何故障。][多个事务或多个用户:在可接受的时间范围内成功地完成测试脚本,没有发生任何故障。]
测试重点和优先级:
需考虑的特殊事项:[综合的性能测试还包括在服务器上添加后台工作量。可采用多种方法来执行此操作,其中包括:直接将“事务强行分配到”服务器上,这通常以“结构化语言”(SQL)调用的形式来实现。通过创建“虚拟的”用户负载来模拟许多个(通常为数百个)客户机。此负载可通过“远程终端仿真(Remote Terminal Emulation)工具来实现。此技术还可用于在网络中加载“流量”。使用多台实际客户机(每台客户机都运行测试脚本)在系统上添加负载。性能测试应该在专用的计算机上或在专用的机时内执行,以便实现完全的控制和精确的评测。性能测试所用的数据库应该是实际大小或相同缩放比例的数据库。]
[负载测试是一种性能测试。在这种测试中,将使测试对象承担不同的工作量,以评测和评估测试对象在不同工作量条件下的性能行为,以及持续正常运行的能力。负载 测试的目标是确定并确保系统在超出最大预期工作量的情况下仍能正常运行。此外,负载测试还要评估性能特征,例如,响应时间、事务处理速率和其他与时间相关 的方面。]
[注:以下所说的事务是指“逻辑业务事务”。这各事务被定义为将由系统的某个最终用户通过使用应用程序来执行的特定功能,例如,添加或修改给定的合同。]
测试目标:[核实所指定的事务或商业理由在不同的工作量条件下的性能行为时间。]
测试范围:
技术:[使用为功能或业务周期测试制定的测试。通过修改数据文件来增加事务数量,或通过修改脚本来增加每项事务发生的次数。]
开始标准:
完成标准:[多个事务或多个用户:在可接受的时间范围内成功地完成测试,没有发生任何故障。]
测试重点和优先级:
需考虑的特殊事项:[负载测试应该在专用的计算机上或在专用的机时内执行,以便实现完全的控制和精确的评测。
负载测试所用的数据库应该是实际大小或相同缩放比例的数据库。]
[强度测试是一种性能测试,实施和执行此类测试的目的是找出因资源不足或资源争用而导致的错误。如果内存或磁盘空间不足,测试对象就可能会表现出一些在正常条 件下并不明显的缺陷。而其他缺陷则可能由于争用共享资源(如数据库锁或网络带宽)而造成的。强度测试还可用于确定测试对象能够处理的最大工作量。]
[注:以下提到的事务都是指逻辑业务事务。]
测试目标:[核实测试对象能够在以下强度条件下正常运行,不会出现任何错误:服务器上几乎没有或根本没有可用的内存(RAM和DASD)连接或模拟了最大实际(实际允许)数量的客户机多个用户对相同的数据或帐户执行相同的事务最繁重的事务量或最差的事务组合(请参见上面的“性能测试”)。注:强度测试的目标可表述为确定和记录那些使系统无法继续正常运行的情况或条件。
客户机的强度测试在“配置测试”的第3.1.11节中进行了说明。]
测试范围:
技术:[使用为性能评测或负载测试制定的测试。要对有限的资源进行测试,就应该在一台计算机上运行测试,而且应该减少或限制服务器上的RAM和DASD。对于其他强度测试,应该使用多台客户机来运行相同的测试或互补的测试,以产生最繁重的事务量或最差的事务组合。]
开始标准:
完成标准:[所计划的测试已全部执行,并且在达到或超出指定的系统限制时没有出现任何软件故障,或者导致系统出现故障条件的并不在指定的条件范围之内。]
测试重点和优先级:
需考虑的特殊事项:[如果要增加网络工作强度,可能会需要使用网络工具来给网络加载消息或信息包。应该暂时减少用于系统的DASD,以限制数据库可用空间的增长。使多个客户机对相同的记录或数据帐户同时进行的访问达到同步。]
[容量测试使测试对象处理大量的数据,以确定是否达到了将使软件发生故障的极限。容量测试还将确定测试对象在给定时间内能够持续处理的最大负载或工作量。例 如,如果测试对象正在为生成一份报表而处理一组数据库记录,那么容量测试就会使用一个大型的测试数据库。检验该软件是否正常运行并生成了正确的报表。]
测试目标:[核实测试对象在以下高容量条件下能否正常运行:连接或模拟了最大(实际或实际允许)数量的客户机,所有客户机在长时间内执行相同的、且情况(性能)最坏的业务功能。已达到最大的数据库大小(实际的或按比例缩放的),而且同时执行多个查询或报表事务。]
测试范围:
技术:[使用为性能评测或负载测试制定的测试。应该使用多台客户机来运行相同的测试或互补的测试,以便在长时间内产生最繁重的事务量或最差的事务组合(请参见上面的“强度测试”)创建最大的数据库大小(实际的、按比例缩放的、或填充了代表性数据的数据库),并使用多台客户机在长时间内同时运行查询和报表事务。]
开始标准:
完成标准:所计划的测试已全部执行,而且达到或超出指定的系统限制时没有出现任何软件故障。]
测试重点和优先级:
需考虑的特殊事项:[对于上述的高容量条件,哪个时间段是可以接受的时间?]
安全性和访问 [故障转移和恢复测试可可确保测试对象能成功完成转移,并能从导致意外数据损失或数据完整性破坏的各种硬件、软件可网络故障中恢复。故障转移测试可确保:对于必须持续运行的系统,一旦发生故障,备用系统就将不失时机地“顶替”发生故障的系统,以避免丢失任何数据或事务。恢复测试是一种对抗性的测试过程。在这种测试中,将把应用程序或系统置于极端的条件下(或者是模拟的极端条件下),以产生故障(例如设备输入/输出(I/O)故障或无效的数据库指针和关键字)。然后调用恢复进程并监测和检查应用程序和系统,核实应用程序或系统和数据已得到了正确的恢复。]
测试目标:[确保恢复进程(手工或自动)将数据库、应用程序和系统正确地恢复到预期的已知状态。
测试中将包括以下各种情况:客户机断电、服务器断电、通过网络服务器产生的通信中断DASD和/或DASD控制器被中断、断电或与DASD和/或DASD控制器的通信中断
周期未完成(数据过滤进程被中断,数据同步进程被中断)、数据库指针或关键字无效、数据库中的数据元素无效或遭到破坏]
测试范围:
技术:[应该使用为功能和业务周期测试创建的测试来创建一系列的事务。一旦达到预期的测试起点,就应该分别执行或模拟以下操作:
客户机断电:关闭PC机的电源。
服务器断电:模拟或启动服务器的断电过程。
通过网络服务器产生的中断:模拟或启动网络的通信中断(实际断开通信线路的连接或关闭网络服务器或路由器的电源)。
DASD和DASD控制器被中断、断电或与DASD和DASD控制器的通信中断:模拟与一个或多个DASD控制器或设备的通信,或实际取消这种通信。
一旦实现了上述情况(或模拟情况),就应该执行其他事务。而且一旦达到第二个测试点状态,就应调用恢复过程。
在测试不完整的周期时,所使用的技术与上述技术相同,只不过应异常终止或提前终止数据库进程本身。
对以下情况的测试需要达到一个已知的数据库状态。当破坏若干个数据库字段、指针和关键字时,应该以手工方式在数据库中(通过数据库工具)直接进行。其他事务应该通过使用“应用程序功能测试”和“业务周期测试”中的测试来执行,并且应执行完整的周期。]
开始标准:
完成标准:[在所有上述情况中,应用程序、数据库和系统应该在恢复过程完成时立即返回到一个已知的预期状态。此状态包括仅限于已知损坏的字段、指针或关键字范围内的数据损坏,以及表明进程或事务因中断面未被完成的报表。]
测试重点和优先级:
需考虑的特殊事项: [恢复测试会给其他操作带来许多的麻烦。断开缆线连接的方法(模拟断电或通信中断)可能并不可取或不可行。所以,可能会需要采用其他方法,例如诊断性软件工具。
需要系统(或计算机操作)、数据库和网络组中的资源。
这些测试应该在工作时间之外或在一台独立的计算机上运行。]
[配置测试核实测试对象在不同的软件和硬件配置中的运行情况。在大多数生产环境中,客户机工作站、网络连接和数据库服务器的具体硬件规格会有所不同。客户机工 作站可能会安装不同的软件例如,应用程序、驱动程序等而且在任何时候,都可能运行许多不同的软件组合,从而占用不同的资源。]
测试目标:[核实测试可在所需的硬件和软件配置中正常运行。]
测试范围:
技术:[使用功能测试脚本。
在测试过程中或在测试开始之前,打开各种与非测试对象相关的软件(例如Microsoft应用程序:Excel和Word),然后将其关闭。
执行所选的事务,以模拟Actor与测试对象软件和非测试对象软件之间的交互。
重复上述步骤,尽量减少客户机工作站上的常规可用内存。]
开始标准:
完成标准:[对于测试对象软件和非测试对象软件的各种组合,所有事务都成功完成,没有出现任何故障。]
测试重点和优先级:
需考虑的特殊事项:[需要、可以使用并可以通过桌面访问哪种非测试对象软件?
通常使用的是哪些应用程序?
应用程序正在运行什么数据?例如,在Excel中打开的大型电子表格,或是在Word中打开的100页文档。
作为此测试的一部分,应将整修系统、Netware、网络服务器、数据库等都记录下来。]
[安装测试有两个目的。第一个目的是确保该软件在正常情况和异常情况的不同条件下例如,进行首次安装、升级、完整的或自定义的安装都能进行安装。异常情况 包括磁盘空间不足、缺少目录创建权限等。第二个目的是核实软件在安装后可立即正常运行。这通常是指运行大量为功能测试制定的测试。]
测试目标:核实在以下情况下,测试对象可正确地安装到各种所需的硬件配置中:
首次安装。以前从未安装过<项目名称>的新计算机
更新。以前安装过相同版本的<项目名称>的计算机
更新。以前安装过从未安装过;<项目名称>安装过相同或较早的版本。
启动或执行安装。
使用预先确定的功能测试脚本子集来运行事务。
开始标准:
完成标准:<项目名称>事务成功执行,没有出现任何故障。
测试重点和优先级:
需考虑的特殊事项:[应该选择<项目名称>的哪些事务才能准确地测试出<项目名称>应用程序已经成功安装,而且没有遗漏主要的软件构件?。
E. 如何制定测试计划
测试计划活动的输出是一份测试计划,它是一份或多份文档,应该由测试团队、开发团队和项目管理层复查。测试计划确定了测试产品所需的资源,确定了我们将测试什么,测试将怎样进行,测试将得到怎样的输出或提交产物。我们一直使用日事清来做软件测试工作。日事清帮你来做软件测试工作计划:一是有明确的目标;二是有详细的计划;三是立刻采取行动;四是修复自己的行动。以上四点是高效完成测试工作的四个基本条件。首先把自己的软件测试计划通通列出来,清空大脑,做一个软件测试计划前的行动。根据自己的轻重缓急来分配软件测试任务。
一是确定测试策略。测试策略一般描述软件测试活动的一般方法和目标。其中包括要进行的测试阶段(单元测试、集成测试和系统测试)以及要执行的测试类型(功能测试、性能测试、负载测试、强度测试等)。确定测试需求:明确测试的工作范围,需要测试的对象、达到的指标等。可以来源于软件需求,个人经验,以前发生的错误等。
二是确定测试系统。确定测试环境。确定测试工具。确定配置情况。确定测试资源。测试人力资源。测试非人力资源(计算机、工具等)
三是确定测试任务。根据本阶段测试需求,细化测试任务。划分任务优先级,和主要任务关联关系。确定辅助任务清单(如培训等)。确定资源情况。
四是评估和确定测试工作量。目前没有任何一种方法能准确的评估出软件测试工作的工作量,要想更有效的做出估算,必须持之以恒的统计和分析历史数据。主要的估算方法为:分析以前的同类项目、同行专家判断、分解细化项目、经验主意预估模型(代码行(LOC)和功能点(FP)估算法等)。
五是确定时间进度。收集与进度相关的信息:总体工作量估算、人员数量、关键资源、项目时间安排等。确定各阶段任务安排和资源分配,确定里程碑。依据项目总体时间安排,形成进度计划。确定时间段。为每个测试目标规定合理的测试起始/中止时间。通常情况下,功能性需求和非功能性需求的测试存在先后顺序,能并行。
六是评估风险。风险分析、对测试计划中所有要执行的内容进行潜在的风险分析并给出规避措施、确定项目中可能会出问题的地方、如测试人员没有接受必要的培训、测试人员不足、需求变化过快、自动测试技术的采用等、评估风险的发生概率、如风险发生后可能的影响程度、如何降低风险乃至避免风险的方法。
七是确定测试过程评估方法。确定测试过程评估方法、评估内容:测试工作进展/缺陷分布/质量评估、评估间隔:每天/周/月、评估人员/报告原则。
F. 制作软件测试计划的方法和技巧
具体的要点有:
一是变更。说明有可能会导致测试计划变更的事件。包括测试工具改进了,测试的环境改变了,或者是添加了新的功能。
二是产品规格。就是制造商和产品版本号的说明。
三是项目信息。说明要测试的项目的相关资料,如:用户文档,产品描述,主要功能的举例说明。
四是测试需求说明。功能的测试:理论上是测试是要覆盖所有的功能项,例如:在数据库中添加、编辑、删除记录等等,这会是一个浩大的工程,但是有利于测试的完整性。设计的测试:对于一些用户界面、菜单的结构还有窗体的设计是否合理等的测试。整体考虑:这部分测试需求要考虑到数据流从软件中的一个模块流到另一个模块的过程中的正确性。
五是测试的策略和记录。公正性声明:要对测试的公正性、遵照的标准做一个说明,证实测试是客观的,整体上,软件功能要满足需求,实现正确,和用户文档的描述保持一致。非凡考虑:有的时候,针对一些外界环境的影响,要对软件进行一些非凡方面的测试。经验判定:对以往的测试中,经常出现的问题加以考虑。设想:采取一些发散性的思维,往往能帮助你找的测试的新途径。
六是测试资源配置。项目资源计划:制定一个项目资源计划,包含的是每一个阶段的任务、所需要的资源,当发生类似到了使用期限或者资源共享的事情的时候,要更新这个计划。问题跟踪报告:问题描述尽可能是定量的,分门别类的列举,问题有严重、一般、建议等几种。
七是测试计划的评审。又叫测试规范的评审,在测试真正实施开展之前必须要认真负责的检查一遍,获得整个测试部门人员的认同,包括部门的负责人的同意和签字。
测试计划很复杂,测试的流程可以使用日事清进行管理。日事清通过看板按照项目、部门、时间等维度组织团队工作清单,创建团队工作计划,让团队工作可视化。任务会自动分解至团队相关成员的个人日程中去,让个人的日程和团队的工作安排打通,实时跟进。
G. 请问系统测试的策略是什么
系统测试策略
:测试策略用于说明某项特定测试工作的一般方法和目标。一个好的测试策略应该包括下列内容:
要实施的测试类型和测试的目标
采用的技术
用于评估测试结果和测试是否完成的标准
对测试策略所述的测试工作存在影响的特殊事项
系统测试类型和目标对于UT
or
IT
我们或许会有自顶向下,自底向上,孤立测试等策略,但是系统测试却不能准确的有测试顺序来制定测试策略,但是ST中有大量的测试类型:功能测试、性能测试、压力测试、容量测试、安全性测试、GUI测试、可用性测试、安装测试、稳定性测试等。根据项目需求从中选择项目的关注点来进行测试,并规定每种测试使用的工具,达到的目标就是系统测试策略了!
H. 如何做好测试策略
16种测试策略:
功能测试,性能测试,压力测试,容量测试,安全性测试,GUI测试,可用性测试,安装测试,配置测试,
异常测试,备份测试,健壮性测试,文档测试,在线帮助测试,网络测试,稳定性测试
在:正常情况下测试;非正常情况下测试;边界测试;非法,极端测试;
I. 如何才能制定好测试策略
制定测试策略是软件测试架构师最核心的技能,但是要想做好这项工作并不是一件容易的事情。
测试策略分为了一下几个模块:
1. 测试安排、发布计划
这个模块用来罗列测试项目本身重要的里程碑,每个里程碑都需要有明确的结束时间,这个时间可以指导我们后续的测试。如果测试时间安排不足,我们就可以在后续的测试范围中挑选优先级比较高的特性来执行测试,这样可以最大限度的保证产品的质量。
2. 测试范围(按优先级排列)
这一部分分为In Scope和Out Of Scope.这一部分需要说明哪些产品模块是在测试范围中的,哪些是本阶段测试不考虑的。对于在测试范围中的模块,需要给出优先级以便相应测试时间不足的情况;对于不在测试范围中的模块,需要给出原因(为什么在本测试阶段不考虑测)。
3. 测试资源
测试资源在测试策略中也是很重要的一环,它分为人力和工具两部分。人力资源主要说明参与测试的人员,当然可以包括很多的角色,如何专业测试人员,客户,产品经理等。工具主要是指可能用到其他软件(可能需要license)。
4. 测试环境
测试环境主要包括推荐环境解决方案,操作系统要求,软硬件要求。
对于推荐解决方案,需要陈述的是对测试项目对其他软件的依赖,比如测试项目对.Net有依赖,这时我们可能给出的推荐版本可能就是4.5.2,在之后的测试中主要是针对4.5.2进行验证,而对其他版本进行简单验证,这样在产品文档中给出4.5.2的推荐方案,主要是为了说明4.5.2是没问题的,其他版本不保证。
操作系统主要是说明对windows或者其他操作系统的版本的支持情况。
5. 测试方法
测试方法的罗列主要是为了说明针对测试项目我们要开展哪些类型的测试,功能测试是必须的,非功能测试是可选的。(相信各位童鞋对测试方法都已经倒背如流了,就不一一介绍了)
6. 用例设计方法
用例设计大家也很清楚了,不再介绍了。
7. 文档管理
对于一个完整的产品来说,文档是很重要的一环。它一般包括安装、升级文档,用户指南等。文档不单单是一个文件,它需要经过完整的测试才能发布给客户。差的文档很可能会误导用户,从而使他们对测试项目失去信心。
8. 风险管理
风险管理模块需要罗列出来现在已知的可能会出现不确定性的因素,这些因素可能来自技术,资源或者其他方面的。
9. 发布包验证
这部分有一定的特殊性,并不适用于所有的产品。这部分主要是对测试项目安装包进行验证,防止在制作ISO文件的过程中产生变动。
J. 软件测试的基本方法和流程
软件测试工作流程:
1、需求分析、需求评审
需求分析和评审就是分析客户的需求可不可行,需要怎么进行测试。
2、编写测试计划
编写测试计划通俗一点讲就是什么人在什么时间做什么事,最后产出什么东西。那也就是测试人员要测试哪些模块、在什么期限内,提交哪些文档。
3、编写测试用例、用例评审
测试用例就是指导测试的文档,比如我们要测试商城登录、买东西等功能,通过测试方法和策略设计测试用例。
评审就是评价审查,不能想当然该怎么测。不能只是输入正确的用户名和密码,能登录进去就完事了。作为软测工程师需要有破坏性,比如密码输错时怎么办?会不会有相应的报错等等?
4、执行测试、提交bug、回归测试
Bug就是缺陷,发现bug之后,要提交给开发人员让他们去修改,然后进行回归测试,验证开发人员有没有改好。
5、编写测试总结报告
Bug都改好了之后,要编写测试总结报告,这款软件的质量如何。
制定测试计划;
然后根据测试计划做:
设计测试用例、实施测试(首先要搭建测试用环境)、管理测试时发现的BUG、测试完后(测试完,并且发现的BUG修正完)要做测试报告(这样,该测试过程就算结束了,每种类型(单元测试、集成测试、系统测试、验证测试)的测试都是如此);
根据项目规模大小不同,不同公司规范不同,会有较大差别的;