- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
准确性、全面性、美观性(杨帆)供参习
准确性、全面性、美观性
——测试数据设计中的三要素
杭州外国语学校 杨帆
【关键字】 测试数据 准确性 全面性 美观性
【摘 要】 测试数据是当今信息学竞赛不可或缺的有机组成部分,其作用已经越来越被人们所重视。本文提出了测试数据设计中信、达、雅,即准确性,全面性,美观性三要素的观点,并就此进行了逐一论述。
一、引论
国际信息学奥林匹克竞赛(IOI)自1989年创办以来已经举办了整整十届,而全国信息学奥林匹克竞赛(NOI)也已有了15年的历史。在这些年的发展过程中,信息学竞赛不断进行着自我完善,探索出了一套有自身特点的方法。信息学竞赛和其他学科竞赛有着很大的不同,其中之一,就是评分的方法不同:一般的学科竞赛,采用的是分步给分的办法,即每一步中间过程均有相应的分数;而信息学竞赛,从早年的IOI开始,就实行了黑箱测试法,即不对源程序进行阅读、分析,而仅仅根据源程序对于所给定的测试数据得出的结果的正确性进行评分,所有这一切均由电脑自动完成。与相比原先的白箱测试,黑箱测试显得更为客观、公正、高效,因此目前被普遍采用。在黑箱测试过程中,给定的测试数据起着至关重要的作用,其重要程度,甚至不亚于题目本身。一道题目,即使再优秀,如果没有好的测试数据,其价值将大打折扣;同样,一道看似平凡,或是毫不起眼的题,如果配上卓越的测试数据,往往就能够起到令人拍案叫绝的效果。同时,测试数据也是评判题目难易的一个重要关卡,一道题目,采用不同的测试数据其难易程度会有很大的差别。由此可见,测试数据是信息学竞赛题中不可或缺的有机组成部分。因此,对测试数据的讨论是重要的,也是必要的。
著名学者严复曾经在《天演论·译例言》中提出“译事三难信达雅”,把信、达、雅作为了翻译的标准。尽管文学翻译和信息学竞赛并没有必然联系,但是严复的这个三字标准同样可以运用在测试数据的设计上。信,是真实、确切的意思;达,是透彻、通达的意思,可引申为完备;雅,是高尚、美丽的意思。显然,信、达、雅分别对应了测试数据设计的三要素:准确性、全面性和美观性。任何优秀的测试数据,必定是这三者的完美结合。下面,本文将对测试数据设计的信、达、雅三要素进行一一论述。
二、本论
(1)信——测试数据的准确性
显然,测试数据的准确性的重要程度是至高无上的,如果失去了准确性,其他方面就无从谈起,对于一道信息学竞赛题来说,如果包含了错误的测试数据,那么它的竞赛价值就等于零。具体地说,测试数据的准确性体现在以下几个方面:一、测试数据的输入输出格式与题目要求符合;二、测试数据在题目限制的范围之内;三、测试数据的输出结果是正确的。这三点,缺一不可。
首先,测试数据的输入输出格式必须与题目要求符合。输入和输出格式的重要性在实行了计算机自动测试之后充分地显示出来,因为格式的错误和算法的错误造成的后果是相同的,计算机在自动测试过程中只判别选手的输出文件和标准输出文件是否有区别,如果有,则判选手程序错误。因此,如果测试数据中的标准输出文件错误,将会造成所有选手正确的输出均被判错。同时,如果输入数据的格式有误,或者没有按题目要求进行排序等,也会使选手的正确程序无法读出正确数据,从而得到错解。在竞赛中出现这样的事故,后果将不堪设想。
其次,测试数据一定要在题目的限制范围内。所谓题目的限制范围,有很多含义,比如题目规定的数据规模限制,数据的上界和下界,数据的类型等等。例如IOI98《天外来客》一题,“输入文件大小可达2M”是对数据规模的限制,“0n(20,0a(b(12”是各数据的上限和下限,而“以2表示结尾的0,1序列”就是数据的类型。在这点上,任何测试数据都不能越雷池一步。在平时练习时,经常出现为了测试某个程序的运算速度而采用大规模数据的情况,在解搜索题中这种现象更为普遍。这样的测试方法就给测试数据的正确性埋下了很大的隐患。因为这样的数据规模很有可能会超出题目限制,或者表面上符合题目要求,但在程序运算过程中出现了数据越界的情况——这是最容易发生,也是最难被查出的。例如,IOI98《多边形》一题,题目规定顶点数值总在[-32768,32767]的范围内,而一般的规模稍大的测试数据往往会出现运算结果在范围内,中间数值却在范围外的情况,显然这样的数据就不是符合要求的数据。
最后,也是最重要的,就是测试数据的标准输出结果,即俗称的“标准答案”必须正确无误。这不仅是对信息学竞赛题的要求,而且是对所有学科竞赛题的共同要求,甚至可以说是对所有题目的要求。要实现这点,对于信息学竞赛来说,必须保证标准程序的准确性,因为测试数据的标准输出结果是由标准程序产生的,标准程序的错误将直接导致测试数据标准输出的错误。在设计测试数据的时候,同样应该对这方面加以足够重视,决不能有麻痹思想。
综上所述,只有注意了以上三个方面,测试数据才
文档评论(0)