ISO/IEC前言IS0(国际标准化组织)和IEC(国际电工委员会)是世界性的标准化专门机构。国家成员体(它们都是ISO或IEC的成员国)通过国际组织建立的各个技术委员会参与制定计对特定技术范围的国际标准。ISO和IEC的各技术委员会在共同感兴趣的领域内进行合作。与ISO和IEC有联系的其他官方和非官方国际组织也可参与国际标准的制定工作。对于信息技术,ISO和IEC建立了一个联合技术委员会,即ISO/IECJTC1。由联合技术委员会提出的国际标准草案需分发给国家成员体进行表决。发布一项国际标准,至少需要75%的参与表决的国家成员体投标赞成。国际标准ISO/IEC12119是由ISO/IECJTC1“信息技术”联合技术委员会制定的。附录A、附录B和附录C均提供参考信息。前言本标准等同采用了国际标准ISO/IEC12119:1994《信息技术软件包质量要求和测试》。本标准删去了原国际标准的索引部分,除此之外本标准在技术内容上与国际标准完全一致。本标准的附录A、附录B和附录C都是提示的附录。本标准由中华人民共和国电子工业部提出。本标准由电子工业部标准化研究所归口。本标准起草单位:电子工业部标准化研究所。本标准主要起草人:冯惠、王宝艾、黄民德、郑人杰。中华人民共和国国家标准GB/T17544-1998IdtISO/IEC12119:1994信息技术软件包质量要求和测试Informationtechnology--SoftwarepackagesQualityrequirementstesting1范围本标准适用于软件包。例如文本处理材序、电子表格、数据库程序、图形软件包、技术或科学函数计算程序以及实用程序。它规定了:——软件包要求(质量要求);——针对这些要求,如何对软件包进行测试的细则(测试细则,特别是第三方测试)。它只涉及要提供的或安交付的软件包,不涉及它们的产生过程(包括活动和中间产品,如规格说明)。供方的质量体系超出了本标准的范围。注:某让匕软件需要附加的要求,如安全要求高的软件。本标准期望的用户如下:a)在下述情况下使用本标准的供方:1)规定软件包的要求时;2)设计描述产品的格式时;3)评价他们自己的产品时;4)发布符合[ISO/IEC第22号导则]的声明时:5)申请合格[ISO/IEC第23号导则]证书或标志时:b)希望建立第三方认证模式(国际的、地区的及国家的)[ISO/IEC第16、28和44号导则]的认证机构;c)为合格证书或标志而进进测试的测试实验室,测试实验室必须遵循测试指令[ISO/IEC第25号导则];d)认可认证机构和测试实验室的认可机构[ISO/IEC第4O和58号导则];e)评价测试实验室能力的实验室审核员[ISO/IEC第58号导则];f)购买者:1)用本标准规定的内容来比较他们的要求;2)用现有产品的产品描述中的信息来比较期望的工作任务的要求;3)寻求已认证的产品;4)此外,检验要求是否被满足。g)用户:可以从更好的产品获益。2定义本标准采用下列定义。源自其他标准的定义列于附录A以便于引用。2.l功能function程序中的一个算法的实现,利用该实现,用户或程序可以执行某一工作任务的全部或部分内容。注1对于用户人说,功能不一定是能访问的(如数据的自动备份或存储)。2这里功能的概念比GB/T5271.14(失效、故障、维护和可靠性的描述中)使用的功能概念要窄,但比GB/T5271.2(算术和逻辑运算)和GB/T5272.15(程序设计语言)中定义的要宽。2.2需求文档requirementsdocument包含由软件包满足的建议、要求或规则的任何组合的文档。注:例子有技术或人类工效标准,来自某一组织(如市场部、技术或用户协会)的需求列表(或模型的需求规格说明),法律或法令。2.3产品描述productdescription陈述软件包性质的文档,其主要目的是帮助潜在的购买者在购买前对产品进行适用性评价。注:该术语比GB/T5271.2O中的术语“系统描述”更具体。产品描述的目的包括ISO9127中“覆盖信息”的目的。产品描述不是规格说明,但它可用于不同的用途。2.4用户文档userdocumentation以打印的或非打印形式得到的文档的完整集合,用户文档的提供有利于产品的应用并且是产品的必备部分。2.5包文档packagedocumentation产品描述和用户文档。2.6测试用例testcase测试者使用的文档化的细则,其规定如何对某项功能或功能组合进行测试。测试用例包括下列内容的详细信息:——测试日标:——要测试的功能;——测试环境和其他条件(配置细节和准备工作);——测试数据;——过程;——系统的预期行为。2.7维护maintenance是系统维护的一部分(见A5.2),其涉及软件包的修改。3质量要求3.1到3.3包含——每个软件包要有产品描述和用户文档的要求;——产品描述的要求,尤其应包含规定信息,并且其所有要求的内容是可测试的、正确的;——用户文档的要求;——包含在软件包中的程序要求和数据要求。注1关于用户文档、程序和数据的要求包含许多一般要求(独立于产品描述中的约定),但不包括用户希望的所有性质。2某些性质,例如,用户文档和程序消息的“时期解件”和“易于浏览”,按用户的观点这些性质是被公认的。然而;由于这些性质难于清晰地测试且结果难于再现,使得这些性质目前仅作为建议来规定。33.1到3.3中的要求按GB/T16260中出现的特性次序来安排。如果一个软件包遵循3.1到3.3中所有的要求,则该软件包符合本标准。建议是可选的(通过使用“宜”这个词来表示)。注4:要证明一个产品对3.1到3.3中的要求的符合性可能是困难的或不可能的。但是,根据ISO/IEC第2号导则,为得合格证书,按照第4章来测试(包括文档的评审)被认为是足够了,并且不需要形式证明。3.1产品描述每个软件包应有一个产品描述。产品描述定义产品。产品描述是产品软件包文档的一部分,它提供关于用户文档、程序以及数据(如果有的话)的信息。产品描述的主要目的是:——帮助用户或潜在的购买者作出产品是否适用于他们的评价。从这一意义说,产品描述也是销售信息;——作为测试的基础(见第4章)。对产品感兴趣人们可获得产品描述。3.1.1内容的一般要求产品描述宜是充分可理解的、完整的并且易于浏览,以帮助潜在的购买者在购买该产品前评价产品对他们自己的适用性。产品描述应避免不一致,每个术语在任何地方都应有相同的意义。产品描述的说明应是可测试的并且是正确的。注:如果有外部需求文档(见3.1.2e),本条要求引用外部需求文档中的说明。下列3.l.2到3.1.8规定产品描述应包合或它包含的内容,它也可包含产品的附加说明。3.1.2标识和批示a)产品描述的标识产品描述应且有唯一的文档标识。它可以有不同于产品描述的命名,例如,“功能描述”、“产品信息”“产品清单”b)产品的标识产品描述应标识产品。产品标识应至少有产品名字和版本号或日期。如果在产品描述中提及两个或多个派生版本,则每个版本应至少有产品名、派生版本名和版本号或日期。c)供方产品描述应至少包含一个供方的名字和地址。注:名字和地址不必打印;有供方的公章即可。d)工作任务产品描述应标识期望的产品能完成工作任务。e)符合需求文档产品描述可以引用产品应符合的需求文档的内容。在这种情况下应标识相关的编辑版本。f)要求的系统应标识将产品投入使用所要求的系统(硬件、软件及其配置)包括制造厂商名和所有部件的类型标识符,例如;——包括协处理器的处理单元;——主存规格;——外存的类型和规格;——扩展卡;——输入和输出设备;——网络环境;——系统软件和其他软件。对于不同的工作任务、不同的边界值或不同的效率要求,可以规定不同的要求系统。如果先前特定的硬件或软件产品已经标识,则语句“(如果兼容,或任何其他……)”可以出现在产品描述中。如果产品的先前版本已经标识,则语句“如果兼容,或升级的版本”可以出现在产品描述中。语句“自版本X至少到版本Y”可以出现在产品描述中,而“自版本X”不能出现在产品描中。注:由于版本X+3的出现,语句“自版本X”将变得不正确,因为对于版本X+3,软件包操作将会失败。g)与其他产品的接口如果产品描述引用了其他产品接口,则应对所引用的接口或产品进行标识。h)要交付项应对要提供的产品的每个物理部件进行标识,特别是所有打印的文档和所有的数据媒体。应说明提供的程序形式如源程序、目标模块,或加载模块。注:媒体格式(如磁盘格式)个必指明,因为可能的格式集合是由要求的系统决定的(见3.1.2f))。i)安装应说明产品安装是否能由用户来完成。j)支持应说明是否提供对产品操作的支持。k)维护应说明是否提供维护。如果提供维护,应说明具体包括什么。3.1.3功能说明a)功能概述产品描述应概述产品的用户可调用功能、需要的数据、所提供的设施。对每个所论及的功能(尤其是选项和变量)是否是下列内容的一部分应清晰地说明:——产品功能的;——在产品描述中完整描述的产品扩展功能的;——在产品描述中所引用的产品扩展功能的;——无保证的补充功能的。注:个必论及每个用户可调用功能,不必给出功能如何调用的每个细节。b)边界值如果由于产品特定的边界值致使产品的使用受限,则应提供这些边界值。例如:——最小或最大值;——键的长度;——文卷中的记录的最大数日;——检索准则的最大数目;——最小样本大小。当不可能提供固定的边界值时(例如,边界值取决于应用问题的类型或输入数据时),则应说明这些限制,可以提供允许的值组合,更具体的信息写入用户文档。C)安全如果提供的话,产品描述中应包含有关防止对程序或数据非授权的无意访问或蓄意访问的手段。3.1.4可靠性说明产品描述应包含数据存储规程的信息。注:例如,只要说明使用操作系统进行备份就可以了。应描述保证产品的功能能力的附加性质。例如:——检验输入的合理性;——防止由于用户的错误而产生的严重后果;——出错恢复3.1.5易用性说明a)用户界面应命名用户界面的类型,例如:命令行、菜单、窗口、功能键及帮助功能。b)要求的知识应规定应用该产品所要求的专门知识。例如:——技术领域的知识:——操作系统的知识;——经过专门培训可获得的知识;——除了已写入产品描述中以外的其他语言知识。应说明用户文裆和用户界面(括出错信息和可视数据)所使用的所有自然语言,软件包本身和该产品描述中所涉及的所有其他产品的有关内容都应加以说明。注:这种要求超出了ISO9127:1988的6.1.7的规定,在那里,关于所用的语言规定是可选的。C)适应用户的需要如果产品能被用户作适应性修改,则应标识这种修改的工具和修改工具的使用的条件。例如:——参数的改变;——计算的算法改变;——功能键的分配。d)防止侵权行为如果防止侵权的技术保护可能有碍于软件的使用,则应说明这种保护,例如:——防止拷贝的技术保护;——程序设置的使用截止日期;——相互约定的付费拷贝。e)使用效率和用户满意度。产品描述可以包括关于使用效率和用户满意度的数据。注:这样的数据时遵循ISO9241-11的指南。3.1.6效率说明产品描述可以包含产品的时间行为的数据,诸如在指定条件下(例如系统配置和负载分布)关于给定功能的响应时间和吞吐率。3.1.7可维护性说明产品描述可包含可维护性说明。3.1.8可移植性说明产品描述可包含可移植性说明。3.2用户文档3.2.l完整性用户文档应包含产品使用所需信息。在产品描述中说明的所有功能以及在程序中用户可调用的所有功能,都应在用户文档中加以完整地描述。用户文档中应再次说明产品描述中给出的所有边界值。如果安装能由用户来完成,则用户文档应包括安装手册,该手册应包含所有必要的信息(见3.3.la))。安装手册宜说明一次安装的最小文卷和最大文卷。如果维护能由用户来完成,则用户文档应包括程序维护手册,该手册应包含各种有关该软件维护所需要的信息。3.2.2正确性用户文档中所有信息应是正确的,不能有歧义和错误的表达。3.2.3一致性则户文档自身内容或相互之间以及与产品描述