TestNG学习笔记

TestNG学习笔记
TestNG学习笔记

TestNG教程

TestNG是一个测试框架,其灵感来自JUnit和NUnit,但同时引入了一些新的功能,使其功能更强大,使用更方便。

TestNG设计涵盖所有类型的测试:单元,功能,端到端,集成等,它需要JDK5或更高的JDK版本。

本教程将TestNG框架需要测试的企业级应用提供健壮性和可靠性上给你带来很大的理解。

读者

本教程是专为愿意学习TestNG的框架软件专业人员。本教程帮助你理解TestNG的框架概念,并完成本教程后,将在把自己的专业知识水平较高的水平。

前提条件

在继续本教程之前,您应该了解基本的Java编程语言,文本编辑器和运行程序等,因为你要使用TestNG处理Java项目测试各级(单元,功能完善,端到端,集成等),所以如果你有软件开发和软件测试过程这些知识,那对理解和使用TestNG将是一个比大的帮助。

TestNG介绍

测试是检查应用程序的功能的过程是否按要求工作,以确保在开发层面,单元测试成图片。单元测试是单一实体(类或方法)的测试。单元测试是非常必要的,每一个软件公司向他们的客户提供高质量的产品。

JUnit 带动开发人员了解测试的实用性,尤其是单元测试的时候比任何其他测试框架。凭借一个相当简单,务实,严谨的架构,JUnit已经能够“感染”了一大批开发人员。JUnit 的特点,可以看看Junit 特点。

其中JUnit缺点:

?最初的设计,使用于单元测试,现在只用于各种测试

?不能依赖测试

?配置控制欠佳(安装/拆卸)

?侵入性(强制扩展类,并以某种方式命名方法)

?静态编程模型(不必要的重新编译)

?不同的适合管理复杂项目中的测试可以是非常棘手.

TestNG是什么?

TestNG按照其文档的定义是:

TestNG是一个测试框架,其灵感来自JUnit和NUnit的,但引入了一些新的功能,使其功能更强大,使用更方便。

TestNG是一个开源自动化测试框架;TestNG表示下一代。TestNG是类似于JUnit(特别是JUnit 4),但它不是一个JUnit扩展。它的灵感来源于JUnit。它的目的是优于JUnit 的,尤其是当测试集成的类。TestNG的创造者是Cedric Beust(塞德里克·博伊斯特)

TestNG消除了大部分的旧框架的限制,使开发人员能够编写更加灵活和强大的测试。因为它在很大程度上借鉴了Java注解(JDK5.0引入的)来定义的测试,它也可以告诉你如何使用这个新功能在真实的Java语言生产环境中。

TestNG的特点

?注解

?TestNG使用Java和面向对象的功能

?支持综合类测试(例如,默认情况下,没有必要创建一个新的测试每个测试方法的类的实例)

?独立的编译时间测试代码运行时配置/数据信息

?灵活的运行时配置

?主要介绍“测试组”。当编译测试,只要问TestNG运行所有的“前端”的测试,或“快”,“慢”,“数据库”等

?支持依赖测试方法,并行测试,负载测试,局部故障

?灵活的插件API

?支持多线程测试

TestNG环境设置(配置安装)TestNG是一个Java的框架,所以第一个要求是JDK要安装在你的机器上。

添加Java编译器的位置,系统路径。

? testng.xml 文件?ant

?命令行

TestNG编写测试

编写TestNG测试基本上包括以下步骤:

?测试和编写业务逻辑,在代码中插入TestNG的注解..

?添加一个testng.xml文件或build.xml中在测试信息(例如类名,您想要运行的组,等..)

?运行TestNG.

?get/set 员工的名字的值?get/set 员工月薪的值?get/set员工年龄的值

?员工的年薪

?考核支付予雇员

?雇员测试的年薪

?测试评估员工的金额

?suite代表一个XML文件。它可以包含一个或多个测试,并被定义由标记

?标签代表一个测试,并可以包含一个或多个TestNG的类

?的标签代表一个TestNG的类是一个Java类,它包含至少一个TestNG 的注解。它可以包含一个或多个测试方法。

现在TestNG用下面的命令:

?首先所有beforeSuite()方法只执行一次。

?最后,afterSuite的()方法只执行一次。

?即使方法 beforeTest(), beforeClass(), afterClass() 和afterTest() 方法只执行一次。

?beforeMethod()方法执行每个测试用例,但在此之前执行的测试用例。

?afterMethod()方法执行每个测试用例,但测试用例执行后。

?In between beforeMethod() and afterMethod() each test case executes.

TestNG执行测试

使用TestNG类执行测试用例。这个类的主入口点在TestNG的框架运行测试。用户可以创建自己的TestNG的对象,并调用它以许多不同的方式:

?在现有的testng.xml

?合成testng.xml,完全从Java创建

?直接设定测试类

您还可以定义哪些群体包括或排除,分配参数,命令行参数:

?-d outputdir: 指定输出目录

?-testclass class_name: 指定了一个或多个类名

?-testjar jar_name: 指定的jar包含测试

?-sourcedir src1;src2: ; 分隔源目录列表(只有当使用的javadoc注释)

?-target

?-groups

?-testrunfactory

?-listener

testng.xml现有在下面的例子中,我们将创建TestNG的对象。

创建一个类

?创建一个Java类进行测试为 MessageUtil.java 在 C:\ >

TestNG_WORKSPACE

?创建一个Java测试类 SampleTest.java

?您的测试类添加一个的测试方法testPrintMessage()

?添加注释@Test 到方法 testPrintMessage()

?实现测试条件和使用的assertEquals API TestNG的检查条件

高中语文 你怎样看世界,你也就得到怎样的世界作文素材

你怎样看世界,你也就得到怎样的世界 下面是多年前某些专家对其领域的断言,当时听起来很有道理。随着时间的流逝,它们变得愚蠢透顶。 从古至今十大愚蠢断言: 10.“没有理由让某个人在家中配备一台计算机。”(1979年)——肯尼斯·奥尔森(Kenneth Olsen),DEC(数字设备公司)的奠基人和总裁。 9.“飞机是个有趣的玩具,但没有军事价值。”(1911年)——费迪南·福煦(Ferdinand Foch),法国陆军元帅,军事战略家,第一次世界大战指挥官。 8.“无论将来科学如何发达,人类不可能登陆月球。”(1967年2月25日)——李·弗雷斯特博士(Dr.Lee Forest),三极管发明人和无线电之父。 7.“(电视)上市6个月之后,不可能还有市场。每天盯着个三合板盒子,人们很快就会厌烦。”(1946年)——达里尔·扎努克(Darryl F. Zanuck),二十世纪福斯公司总裁。 6.“我们不喜欢他们的声音。再说,吉他乐队也正在退出舞台。”(1962年)——英国德卡唱片公司(Decca Records)拒绝了披头士乐队。 5.“对于大部分人来说,吸烟是有益的。”(1969年11月18日)——《新闻周刊》援引洛杉矶外科医生G·麦克唐纳博士(Dr.Ian G.MacDonald)的话。 4.“这个‘电话’缺点太多,无法作为通讯工具。这种玩意儿对我们没什么用。”(1876年)——西方联合公司(Western Union)的《内部备忘录》。 3.“地球是宇宙的中心。”(第二世纪)——托勒密(Ptolemy),古埃及天文学家。

2.“今天没发生什么重要的事。”(1776年7月4日,美国独立日)——英皇乔治三世。 1.“所有能够发明的,都已经被发明了。”(1899年)——查尔斯·杜埃尔(Charles H. Duell),美国专利局局长。 看过这些,再看一些和你一样的青少年所说的话。这些话你听见过,它们和上面那些断言同样可笑: ●“我家没人上过大学。想上大学没门!” ●“没有用的。我就是没法和我后爹相处,我们不是一路人。” ●“做个聪明乖巧的人是件很乏味的事。” ●“我老师总是挑我的错。”

性能测试培训——基础知识

性能测试培训(一) ——基础知识 1.软件性能测试的概念 1.1软件性能与性能测试 软件性能:覆盖面广泛,对一个系统而言,包括执行效率、资源占用、稳定性、安全性、兼容性、可扩展性、可靠性等。 性能测试:为保证系统运行后的性能能够满足用户需求,而开展的一系列的测试组织工作。 1.2不同角色对软件性能的认识 用户眼中的软件性能: ?软件对用户操作的响应时间 如用户提交一个查询操作或打开一个web页面的链接等。 ?业务可用度,或者系统的服务水平如何 管理员眼中的软件性能:

开发人员眼中的软件性能: 1.3性能测试的对象 服务器端: ?负载均衡系统; ?服务器(单机、双机热备、集群); ?存储系统、灾备中心; ?数据库、中间件。 网络端: ?核心交换设备、路由设备; ?广域网络、专线网络、局域网络、拨号网络等; 应用系统: 由此可见,性能测试是一个系统性的工作,被测对象包括系统运行时使用的所有软硬件。但在实际操作时,将根据项目的特点,选择特定的被测对象。 1.4性能测试的目标 评价系统当前的性能:

?系统刚上线使用,即处于试运行时,用户需要确定当前系 统是否满足验收要求; ?系统已经运行一段时间,如何保证一直具有良好的性能。分析系统瓶颈、优化系统: ?用户提出业务操作响应时间长,如何定位问题,调整性能; ?系统运行一段时间后,速度变慢,如何寻找瓶颈,进而优 化性能。 预见系统未来性能、容量可扩充性: ?系统用户数增加或业务量增加时,当前系统是否能够满足 需求,如果不能,需要进行哪些调整?提高硬件配置?增 加应用服务器?提高数据库服务器的配置?或者是需要对 代码进行调整? 1.5性能测试的分类 按照测试压力级别: ?负载测试; ?压力测试; 按照测试实施目标: ?应用在客户端的测试; ?应用在网络的测试; ?应用在服务器端的测试; 按照测试实施策略:

我们为什么去做愚蠢而不合理的事情:十大杰出社会心理学研究(五)——Stanley Milgram:服从权威还是墨守

我们为什么去做愚蠢而不合理的事情:十大杰出社会心理学研究(五)——Stanley Milgram:服从权威还是墨守陈规? 2005个读者 译者: paradox 02/24/2008 原文引用双语对照及眉批 简介 究竟是人类的残酷还是只是墨守陈规?Stanley Milgram的实验给了我们什么启发? 有什么心理学实验可以如此有影响力,以至于只要参加了这个实验就可以改变你对于自己和人性的看法?什么实验过程可以促发人们大量地出汗和颤抖,使得10%的人极度难过,同时让其他人陷入歇斯底里的狂笑?什么发现可以如此强大有力,以至于它招致了很多心理学家的疯狂反驳?欢迎来到十大心理学研究的第六个提名,正如你所料,这是一个非常重要的研究。可是先不要争论,因为这个研究引来了大量的批评,有些人说它的断言过于浮夸。 解释人类的残酷 Stanley Milgram的著名实验是为了测试对于权威的服从而设计的(Milgram, 1963)。Milgram想知道,当被一个权威人物命令去伤害他人的时候,一个人究竟会残酷到什么地步。很多人在二战的恐怖之后想要知道(不是第一次想知道),人们如何会被激发,去对同类犯下如此残酷的罪行。不仅是那些武装部队,就连普通人都被强迫去实施最为残酷可怕的暴行。 但是Milgram没有去调查战争中的极端情况,他希望看看在实验室相对“正常”的环境下人们会有什么反应。当被要求给另一个人实施电击的时候人们会有什么表现?人们会无视自己的忧虑而遵从命令到什么样的程度?

被 试所处的实验情境最初比较简单。被试被告知他们参与了一个学习实验,他们执行电击,并且需要持续到实验的最后。他们是“老师”,而另外一个人是“学习 者”。他们坐在一个机器前,上面有标着逐渐增大的电压值的刻度盘。这就是“电击器”。上排的第三个电闸贴着“危险:强电击”的标签,之前两个电闸只是标着 “XXX”。 在实验过程中,每当“学习者”犯下一个错误的时候,被试就被命令执行不断增强的电击。当然学习者不断地犯错,于是老师(可怜的被试)必须持续给与学习者越来越强的电击,并且听到惨叫,直至最终学习者安静下来。 被 试实际上并没有释放电击,实验中的学习者只是一个按照预演演戏的演员。学习者看不到被试,所以他们只能根据自己的假设来装出被试给自己造成的痛苦程度。然 而,他们几乎可以肯定,到了实验最后,电击会变得极度痛苦,而学习者很可能会不省人事。当被试推诿,不愿实施电击的时候,以身着白色实验服的权威形象出现 的实验者会命令他们继续。 结果 在我阐明实验结果前,试图去想象一下你自己是实验的被试。为了一个记忆性的学习,你究竟会给另一个人实施多强的电击(至少你认为那是电击)?当你执行了标有“危险:强电击”的电击,使得学习者安静下来之后,你会怎么想?说实话,你会残酷到什么程度? 无论你认为自己会残酷到什么程度,你很可能都低估了自己,因为大多数人都低估了自己的残酷。就如同这个实验本身一样,实验结果如同触电一般有冲击力。Milgram的研究发现人们比你想象中更加愿意服从。63%的被试一直持续到实验的最后——即使在学习者痛苦地尖叫,对他求饶,直到最终不省人事的情况下,被试还是执行了所有强度的电击。这些可不是特别挑选出来的虐待狂,他们都是像你我一样的普通人,志愿参加这次研究。 这些结果应该如何解释? 在当时Milgram的研究成为了大新闻。Milgram用了情境的力量来解释实验结果。这个社会心理学实验完美地用事实说明了社会情境可以给人类行为带来的影响程度。

性能测试方案讲解

1.引言 说明测试方案中所涉及内容的简单介绍,包含:编写目的,项目背景、参考文档,以及预期的读者等。 1.1.编写目的 本文档描述××系统性能测试的范围、方法、资源、进度,该文档的目的主要有: 1.明确测试目的范围。 2.明确测试范围和目标。 3.明确测试环境需求,包括:测试需要的软、硬件环境以及测试人力需求。 4.确定测试方案,测试的方法和步骤。 5.确定测试需要输出的结果和结果表现形式。 6.分析测试的风险,寻找规避办法。 1.2.项目简介 简要描述与测试项目相关的一些背景资料,如被测系统简介,项目上线计划等。 1.3.参考文档 说明文档编写过程参考引用的资料信息。 2.测试目的、范围与目标 2.1.测试目的

根据项目总体计划明确项目测试目的。常见的测试目的如下(依据项目的实际情况修改。 本次性能测试的主要目的在于: ?测试已完成系统的综合性能表现,检验交易或系统的处理能力是否满足 系统运行的性能要求; ?发现交易中存在的性能瓶颈,并对性能瓶颈进行修改; ?模拟发生概率较高的单点故障,对系统得可靠性进行验证; ?验证系统的生产环境运行参数设置是否合理,或确定该参数; ?获得不同备选方案的性能表现,为方案选择提供性能数据支持。 2.2.测试功能范围 说明本项目需要进行测试的待测系统功能范围,列出被测对象的测试重要性及优先级等,提供一份简要列表。对于交易类功能要细化到每一个交易码;对于页面类功能要细化到每一个发起页面。下面表格供参考,非强制使用。 如果测试目的为方案验证,需要文字列出需要验证的方案项。 明确列出说明本次测试需要关注的测试指标的定义及范围,不需要关注的测试指标也应列出。下面的内容供参考。 本次性能测试需要获得的性能指标如下所列:

英汉语言十大差异

英汉语言十大差异 语言毕竟是文化的载体,语言与文化,甚至历史、地理、风俗、政治、经济等常常水乳交融,它们无孔不入地反作用于语言,使语言打上深深的文化烙印。英汉翻译者,若不知英汉各自的特点,不知两者的差异,是不能想象的。不要以为,汉语是我们的母语,从牙牙学语开始,便开始接触汉语,因此,就想象自己很了解汉语。其实,这是一种误解。汉语到底有什么特点? 就汉语论汉语,因为没有距离,就看不真切,因为没有比较,就看不明白!只有当汉语和英语比肩而立,碰撞交流,才会燃爆出绚丽的火花,两者之差异,才会赫然呈现。 目前,从事英汉对比研究的学者和专著在我国并不少,但是,当我们放眼这个领域,就觉得有必要正面回答一个问题:英汉对比研究的目的是什么? 弄明白英汉的差异,并不是我们研究的最终目标,至多只能是一种手段而已,而手段总得服务于一定的目的。英汉对比研究的一个重要的目的应该是:服务于翻译。 译界的实践证明:只有对英汉之差异了然于心,译者才能做到下笔如有神。下面结合英汉翻译的实际,对英汉之间的明显差异作鸟瞰式分析和归纳。 1.英语重形合(Hypotaxis),汉语重意合(Parataxis) 汉语重意合,结构松弛,多以意思连接的积累式分句(Accumulative Clause)或独立的单句(independent Sentence),其彼此的逻辑关系多以句序之先后加以暗示。 有的语言学家以“竹节句法”写英句,所谓“竹节”,则指其断不可缺的种种连接词(Connectives);有以“流水句法”写汉句,所谓“流水”,指少用乃至不用连接词的行文流畅。 美国的翻译学家Eugene A.Nida在其Translating Meanings (1983)一书中曾经深入浅出地说明了英汉这一差异: 就汉语和英语而言,也许在语言学上最重要的一个区别就是形合和意合的对比,在英语以及大多数的印欧语言中,句子的从属关系大多是用连接词如,although,because,when,in order that,so及so that等词明确地表达出来。但是,这同一概念,我们用意合的方法基本上也可以表达出来;那就尽说,将两个句子放在一起并无连接词表明其相互关系,而从句子本身的意思中体现出来。例如,我们说because it is late,I must leave.在这里两个句子的逻辑关系是用连接词because加以表达的。然而我们也可以说it is late,I must leave.在这里,虽然无明确的词汇表明彼此的关系,但是这种关系显然是存在的。 以上Nida所言,有一点需要加以纠正。他说:“我们也可以说It is 1ate,I must leave.” 此议不妥,因为这样缺乏连接词的英句是不合其表达习惯的,至少也是拙句(C1umsy Sentence)。比如: An Englishman who could not speak Chinese was once travelling in China. 译文:一个英国人,不会说中国话,有一次在中国旅行。 英语原句是一个典型的形合句,而相应的汉译则是意合句。假如,将英语原句改成意合句,那读上去还有英语味吗? There was an Englishman.He could not speak Chinese.He was once travelling in China.

愚蠢和盲目的自信

东方早报/2011年/12月/11日/第B08版 书评 愚蠢和盲目的自信 张汝伦 “光明之子”是“极为愚蠢和盲目的”,因为他们的理想主义和乐观主义使得他们竟然对人类趋利的根本性没有足够的认识,而一厢情愿地从理想的角度来看待世界和人类,包括他们自己。 义利问题是儒家的中心问题,象山教人,以义利之辨为先。朱子更是说:“义利之说乃儒者第一义。”此实乃见道之言,非理学家迂阔不经之谈。人类的种种危机与困境,归根结底,乃是由于“熙熙攘攘,皆为利往。”人各有利,人人争利,现代性的意识形态又通过世俗化和去魅过程将前此各大宗教苦心孤诣的义利之说一并破除,遂使人们觉得,利字当头,义也就在其中,现代真正是一个“人欲”大解放的时代;然而也是一个人类有可能自我毁灭的时代。人性之恶在任何一个时代都没有像在现代表现得那样极端和超乎想象。另一方面,现代文明,即产生于十六、十七世纪的资产阶级文明,“面临着极为严峻的危险”(《光明之子与黑暗之子》,第4页。以下引文除特别注明外,皆引自该书)。其所以如此,在于现代人已经不再把义利问题作为一个头等重要的问题来考虑了。最近出版的美国现代神学家莱茵霍尔德?尼布尔的著作《光明之子与黑暗之子》,便可为此佐证。 “光明之子”与“黑暗之子”典出《圣经》。在《圣经》中,光明和黑暗通常分别代表善与恶。尼布尔在他的书里则用“光明之子”和“黑暗之子”分指两类人。一类是理想主义者,他们并非不知天下熙熙,皆为利来;天下攘攘,皆为利往。但他们对人性极为乐观,相信义利问题不是什么了不起的问题,“自我利益和普遍利益之间的张力和冲突,完全有可能得到一劳永逸的解决”。“自我利益和各个层面的普遍福祉之间,有可能达成某种朴素的和谐。”(第7页)“光明之子”是“那些意欲将自我利益置于更具普世性的规律之下,使之与更具普世性的善相和谐的人。”(第9页)在尼布尔看来,不仅洛克、亚当?斯密是这样的“光明之子”,马克思主义者也是这样的“光明之子”。“光明之子”相信善总会战胜恶,义应该先于利,自我利益要服从整体利益;他们相信人的良知与道德。“黑暗之子”相反,尼布尔称他们为“犬儒主义者”,这些人“除了自我之外别无所知。他们尽管邪恶,却明智,是因为他们懂得自我利益的力量”(第10页)。他们的信条是人不为己,天诛地灭。不但他们的行动没有任何道德约束,他们的优势“还在于它能够顶住光明之子们的道德抗议,对个体和国家的自我利益的力量进行刁钻而准确的估算”(第11页)。 相比之下,“光明之子”是“极为愚蠢和盲目的”,因为他们的理想主义和乐观主义使得他们竟然对人类趋利的根本性没有足够的认识,而一厢情愿地从理想的角度来看待世界和人类,包括他们自己。尼布尔尖锐地指出:“光明之子之所以愚蠢,不仅仅是因为他们低估了黑暗之子的自我利益的力量。他们也低估了这一力量在自己身上的显示。民主世界之所以几乎遭遇灭顶之灾,不仅仅是因为它从不敢相信纳粹居然真的拥有它所宣称的恶魔般的仇恨。文明拒绝承认在其自身所属的共同体之内的阶级利益所发挥的力量。”(第12页)这就是说,光明之子本身也不是没有自身利益,并且受此利益驱使;可它偏要相信自己能先义后利。结果必然是,当黑暗之子在洗劫一个又一个的国家的时候,“光明之子”出于自利的目的,却在袖手旁观,没有施以援手。 光明之子的愚蠢和盲目,主要表现为他们看不到或者不愿承认“由于顾及私利而败坏了普世性的理想,是人类品行中的一个难以根除的事实,其顽固超出了任何道德说教愿意承认的程度”(第18页)。人类品行的这一事实之所以难以根除,是因为它源于人类的生存冲动或生存欲望,因而是人性的一部分,而且是比较基本的一部分。无论是光明之子还是黑暗之子,同样都具有这个本性。不同的是,前者忽略或轻视了它的根本性,而后者深刻地理解它的根本性。就此而言,

想说爱你不容易(修订版)

想说爱你不容易——论新人教版初中数学教材的欠缺 本人认为新人教版初中数学教材中,存在以下问题:教学内容设置过多、过滥;相关内容间隔设置,故意打乱学科知识体系;无视“双基”教学地位的重要性,“问题情境”设置过滥,喧宾夺主;例、习题设置无度,基本题太少,偏难怪题不少;教师用书粗制滥造,错误百出。 与传统初中数学教材相比。新人教版初中数学教材中,删减了许多被认为偏繁、偏难的陈旧内容。例如在代数部分,大大降低了数与式的计算、变形的难度要求;取消了一元二次方程中根的判别式的应用,取消了根与系数关系的教学要求;删去了比例及其性质的教学内容;分式方程仅限制在可化为一元一次方程的范围;删去了无理方程、二次方程组的知识。几何课程删减更多。几何课程作为学科的结构体系基本被放弃,不再强调演绎、推理、证明的训练和要求,许多定理被删除。例如射影定理、平行线等分线段定理、圆幂定理。三角函数中仅出现正、余弦、正切,没了余切。新增了许多内容。例如大大强化了统计方面的内容。新增了概率方面的知识。不等式中对不等式(组)应用作出教学要求。函数中引入分段函数并对自变量取值范围提出要求。变化最大的是几何科,增加或强化了图形变换的内容要求,增加了视图,等等。 我们不得不承认,新老教材之于教者、学者的根本目的,是培养人的思维能力,而并不在于教会或学会、记住多少知识。有句名言说得好,“数学是思维的体操”。学校开设数学课,原因恐怕主要在于这门课适于培养学生的逻辑思维能力和有条理地说明道理的能力。试问能有几个成年人,无论是中学毕业还是大学毕业的,有多少人能记得三角形的三条中线为什么相交于一点。无非是当初当学生时,通过学习培养了一些逻辑思维能力,足够了。可是在本人看来,新版初中数学教材使用下来,这一点作用已经荡然无存了。思维的体操俨然变成了媚俗的杂耍游戏。有圣人云“知识就是力量”,对于一个初中生来说,十三、四的孩子,本未学着多少数学知识,哪来那么大能耐通过教材中遍布始末的“观察”、“试验”(试一试)、“猜想”(猜一猜)、“探究”(学习小组讨论尝试)、“数学活动”等等自主的获取知识。大教育家波利亚在《怎样解题》一书中举的饿汉为过河找吃的,想到了用倒树搭桥的故事为大家所熟知,但至少是因为这个饿汉知道用倒下的树能够搭桥,并起码知道如何搭桥.而新人教版初中数学教材中,几乎所有的知识、技能都企图让学生通过教材中设置的五花八门的栏目,通过自主学习来发现,或通过小组活动交流来获得。而把教师置于学习过程的参与者和引导者的角色,不再承载“传道、授业、解惑”的导师作用。现在的学校不是也再不会出现“文革”时期的样子,但本人使用这套所谓新课标、新理念支配下诞生的新教材过程中,两年多来总感觉又有点象是时

常用的性能测试方法(策略)和测试要点

常用的性能测试方法(策略)和测试要点 1.明确测试目标,测试目标尽可能能够有量化的标准 1)上线前验证性的性能测试,针对银行系统一般的性能指标为TPS、响应时间是否满足业务需求; 2)容量测试,测试系统在特定系统环境下的处理能力,关注的性能指标是TPS、响应时间、并发用户数等; 3)稳定性测试,银行系统对系统7×24小时的稳定性要求还是很高的; 4)异常测试,指系统出现异常或故障的情况下,系统能否在最短的时间内恢复,保证在线交易的正常进行; 2、明确测试范围,测试系统有哪些,测试交易的路径覆盖范围; 3、业务模型分析,选择日常交易量比较大,路径覆盖范围广的典型交易,建立性能测试的业务模型,确定各支交易的占比; 4、测试需求分析,测试环境(软硬件),人力,测试工具的选择,测试基础数据等需求; 5、测试内容及测试策略,一般包含以下几个方面: 1)基准测试,单用户单交易的测试,主要用于调试测试脚本的正确性,以及查看每只交易在无压力下的响应时间,为下面的测试建立基准; 2)单交易负载测试,获取每只交易的最大负载,主要考察单只

交易和系统处理能力的影响; 3)混合场景的测试,按照业务及测试模型梯度加压,以获取系统的最大处理能力,及在各种压力下每只交易的响应时间情况; 4)稳定性测试,按照混合测试模型,考察在一定的压力下持续执行24小时的系统运行情况,主要关注系统是否稳定,系统是否存在内存泄漏问题等; 5)异常测试,服务中断、网络终端、硬件故障等异常情况下系统对在线交易的影响; 6、设计测试案例; 7、执行测试,监控系统资源、应用、数据库相关指标,记录测试结果; 8、测试结果收集和分析; 9、测试报告编写; 10、测试总结; --以上是个人的一点概括性的总结,供大家参考,总之,测试目标决定测试策略和测试方法,明确测试目标是关键。来源:考试大

大学语文教案10如何避免愚蠢的见识

教学目标: 1、理解避免愚蠢见识的重要性,归纳避免愚蠢见识的途径。 2、把握本文的行文风格,以及该表达风格与文章观点的有机统一。 3、努力克服自己学习、生活中容易出现的“愚蠢见识”。 教学设想:[重点]理解避免愚蠢见识的重要性,归纳避免愚蠢见识的途径。 [难点]把握本文的行文风格,以及该表达风格与文章观点的有机统一。 [课时]一课时 第一课时 一、导入新课 在现实生活中,因偏见而起的纠纷到处可见,从国家、民族对立到科学人文争论,从政党的派系相残到科研的门户偏见,从劳资矛盾到地区歧视,从商场搏杀到办公室兵法,从文人相轻到夫妻龃龉等等。那么,如何避免呢? 我们中国有一句老话叫做“兼听则明”,如果你要避免自己自以为是那么你就可以用“假想的论敌”来反驳自己。 二、讲授新课 1.关于作者 伯特兰?罗素(Bertrand Russell 1872—1970)罗素是二十世纪西方声誉最著、影响最大的哲学家之一。他不只限于学术研究,从青年到老年始终热衷于社会运动。他的学术活动也远不限于哲学,一生所写就的四十余本著作,广泛地涉及了哲学、数学、科学、伦理学、社会学、教育、历史、宗教,以及政治等各个方面。 1950年,是诺贝尔文学奖设立五十周年纪念年,瑞典文学院选择了一个从未发表过一首诗或一部文学作品的作家,通过把诺贝尔的信念等同于罗素的理性主义和自由主义,来表示对阿尔弗雷德〃诺贝尔的纪念。 罗素是20世纪著名的思想家和社会活动家,并作为一个数学家闻名于世。他把他的非专门化著作表述成适合于一般有思想、理解力强的读者,从而为他赢得了特殊的声望。 罗素很幽默。获得诺贝尔文学奖后,从没写过文学作品的罗素,竟开始写起小说来。第一部小说1951年匿名发表,并悬赏猜测作者何人,结果无一人猜中,因为谁也不会相信,这位年近80岁,负有盛名的哲学家还有写小说的雅兴。(汪剑钊《不可不读的罗素》,《上海教育》2005年第12期) 2.结构层次 第一层:总述摆脱武断看法的一种方法是去设法了解周围人所持有的看法 第二层:设法了解周围人持有的看法的方法总的说就是见多识广 3.内容赏析 文章开首一句“怀有各种各样愚蠢的见识乃是人类的通病”,颇有惊天动地之感,突兀而至,简洁干脆,顺理成章导入文章中心“如何避免愚蠢的见解”。 在开头的让人惊愕之后,文章却突然放慢了行文的节奏,有意识用自然质朴的平和腔调来论证阐释,不动声色地提出“几项简单原则”,“保证你避免一些可笑的错误”,罗素是一个懂得通过行文节奏控制读者心理感受的作者。 40

性能测试方案

web项目性能测试方案 任务: 测试JBOSS环境下UBSS项目的性能 目标:测试缴费部分(前台缴费,IC卡充值)在并发数从50-100递增的性能指标,不要求对结果进行分析 步骤: 1.搭建测试环境,要求与真实环境大概一致(关注在现有license情况下,UBSS系统支持的最大并发数) 2.准备数据脚本(SQL和存储过程) 3.准备测试脚本(Vuser scrīpts,scenario) 4.进行性能测试 测试范围 针对UBSS项目,抽取对系统影响最大、最为典型的业务交易,构建场景,以此评判系统的整体性能和实际性能表现 a.用户前台缴费 b.标准用户IC卡充值 测试内容 1.基准测试 概念:检查每个业务的基准响应时间(系统整体空闲,无额外进程运行并占用系统资源)方法:单用户运行业务多次,获取该业务的平均响应时间 序号功能名称并发用户数循环次数操作间隔循环间隔 1-1 前台缴费 1 100 3 3 1-2 IC卡充值 1 100 3 3 2.单个交易负载测试 概念:设定负载序列,并发用户数为X{20,30,50,....},收集系统单个交易在不同负载级别的性能表现 方法:设置并发用户数等于X,关键步骤处设置并发点,每个用户运行N个iteration,获取平均响应时间和吞吐量 用户登陆方式:每2秒登陆2个 序号功能名称并发用户数循环次数操作间隔循环间隔 2-1 前台缴费 5 50 3 3 2-2 前台缴费10 50 3 3 2-3 前台缴费15 50 3 3 注:响应时间超过30S 2-4 前台缴费20 50 3 3 注:阻塞,不进行测试 2-5 IC卡充值 5 50 3 3 2-6 IC卡充值10 50 3 3 2-7 IC卡充值15 50 3 3 2-8 IC卡充值20 50 3 3 3.组合交易负载测试 概念:多个交易组合在一起,设定负载序列,并发数为X{20,30,50,....},收集系统在不同负载级别的性能表现 方法:设置并发总数,各用户数按比例分配,每个用户运行N分钟,获取平均响应时间和吞吐量 序号功能名称并发用户总数比例持续时间操作间隔循环间隔

性能测试方案模版

性能测试方案

修订记录

目录 目录 (3) 1概述 (4) 2测试目标 (4) 3测试设计 (5) 3.1对象分析 (5) 3.2测试策略 (5) 3.3测试模型 (5) 3.4测试环境描述 (6) 3.5详细测试方法 (7) 4统计测试数据 (9) 5性能测试报告输出 (12) 6性能调优与回归 (12)

性能测试方案 1概述 :首页、注册、登录、站内交流、站内搜索、测试技术资料上传与下载等模块的性能测试工作。本文主要描述了上述模块的性能参考指标及测试方法,以便于性能测试实施人员与客户对系统从技术层面指导测试人员验证相关功能模块的负载能力,根据实际的性能监控数据考察系统最大的负载及相关指标情况,以便于客户对系统实施相关的调优工作,使其达到预期期望的压力和性能要求。 2测试目标 本次性能测试工作验证系统:首页、注册、登录、信息检索、普通用户资料上传、在线观看视频等模块的性能需满足下表指标(场景指标): 表1性能指标列表 并发数=业务量/(时间段(小时单位)3600秒/每人每笔业务的处理时间)

3测试设计 3.1对象分析 系统采用B/S(Browser/Server)模式设计。基于LAMP开发平台开发。 操作系统:Red Hat Enterprise Linux 4 Web服务器:apache 2.0 数据库服务器:mysql 5.0 开发语言:PHP 3.2测试策略 使用HP商用性能测试工具LoadRunner 9.1,模拟用户并发操作。测试系统首页、注册、登录、站内交流、站内搜索、测试技术资料上传与下载等模块在多用户并发操作下是否能够稳定正常运行。支持的最大并发数,各项指标是否能够达到预期的指标标准,并为后期系统调优提供指标数据支持。 3.3测试模型 3.3.1系统组网图(需客户提供) 图1系统组网图

性能测试的思路

性能测试的思路 文:解决方案技术中心邸贺华 Is that has the standard process workflow for performance testing? 可能大家都希望找到一种关于性能测试的标准化的方法,但是到目前为止还没有一种通用的方法能够普遍适用于所有性能测试案例或大多数性能测试的案例。这是由性能测试本身是一个非常复杂的过程决定的。影响性能测试的因素可能来源于被测项目本身、测试环境、业务的驱动程序、验收标准、测试所应用的技术、测试的日程、测试人员的能力和测试工具等等。而且这些因素在整个项目中所占的比例不同和它们由不同的事件所引起、在不同的时间出现以及对它们不同的关注度都会影响到测试的成败,因此对于寻找一种统一的性能测试方法显得有些不契合实际。我们性能测试人员能够做到的是如何在各种因素影响下来更有效的开展我们的测试工作,从而使我们的项目最终取得成功。那么如何使我们的性能测试更有效率呢?我将从以下段落来阐述。 The definition of Performance Testing 首先我们要了解性能测试的基本定义,它是指在预期用户或是大用户量情况下度量系统响应时间,系统地资源消耗和吞吐量的一种测试。性能测试同时也用来确认系统性能是否满足用户需求,一般通过负载产软件包(load generation software package) 模拟应用的真实使用情况。 性能测试主要包含三种类型的测试: 负载测试(Load Test) –模拟真实环境下的用户活动,被度量的值包括吞吐量(Throughput)、稳定性(stability)和应用的响应(responsiveness)。 压力测试(Stress Test) –用来检测应用在扩展情况下的临界点(breaking point)。举例来说,向服务器尽可能快地发送大量交易数据就是对应用的一种压力测试。这种测试不仅对检测系统的最大承受压力能力,而且也能够检测每个时间度量单位内系统能够处理的最大请求数。可靠性测试(Reliability Test) –检测应用在预期负载下能够持续一定性能水平的时间。 这种测试在预期时间内把恒定的负载施加于应用上。 以上每种测试允许测试人员对于被测应用进行完整的性能分析,识别出应用瓶颈。 The work Process of Neusoft performance testing 东软性能测试流程图是东软性能工程的重要组成部分,旨在通过全面、有效的过程和方法指导下,成功顺利地完成软件性能测试项目。流程图中包含了计划、执行、分析、收尾四个阶段,并且在每个阶段中又包含了一系列活动,他们相互支持,相互依赖,形成了一个具有PDCA质量持续提升特点的工作环。

性能测试学习计划

性能测试学习计划 篇一:性能测试学习计划 一概念理解 1.性能测试目的 答:验证软件系统是否能够达到用户提出的性能指标。 性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。 1)评估系统的能力----测试中得到的负荷和响应时间数据可被用于验证所计划的模型的能力,并帮助作出决策。 2)识别体系中的弱点----受控的负荷被增加到一个极端水平,并突破它,从而修复体系的瓶颈或薄弱的地方。 3)系统调优---重复运行测试,验证调整系统的活动得到了预期的结果,从而改进性能。检测软件中的问题,长时间的测试执行可导致程序发生由于内存泄漏引起的失败,揭示程序中的隐含问题或冲突。 4)验证稳定性,可靠性---在一个生产负荷下执行测试一定的时间是评估系统稳定性和可靠性是否满足要求的唯一方法。 2.系统实际用户数,系统在线用户数含义用户数:是指计费系统所能允许记录的不同名称用户数量的最大值。这个数值取决于计费系统硬件存储器容量和软件的支持能力

系统实际用户数:系统额定的用户数量,如一个OA系统,可能使用该系统的用户总数是XX个,那么这个数量,就是系统用户数 系统在线:在一定的时间范围内,同时在线用户数量3.并发概念? 答:并发是同时执行一个操作(同时像服务器提交申请)。主要指当测试多个用户并同时访问同一个应用程序、同一个模块数据记录时是否存在死锁或其他性能问题,几乎所有的性能测试都会涉及并发测试。 4.理解负载测试,压力测试,容量测试,配置测试,基准测试,并发测试,疲劳测试的含义和区别 答:负载测试(Load testing),负载测试是模拟实际软件系统所承受的负载条件的系统负荷, 通过不断加载(如逐渐增加模拟用户的数量)或其它加载方式来观察不同负载下系统的响应时间和数据吞吐量、系统占用的资源(如CPU、内存)等,以检验系统的行为和特性,以发现系统可能存在的性能瓶颈、内存泄漏、不能实时同步等问题。直接添加用户数双击Down -点击Add Vuser(s)-点击Quantity to add输入框输入要添加的用户数,在原基础上添加用户。 压力测试:压力测试是在强负载(大数据量、大量并发用户等)下的测试,查看应用系统在峰值使用情况下操作

什么是性能测试

什么是性能测试 性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。于性能测试,两者可以结合进行。通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增标的变化情况。压力测试是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别 一、概述 性能测试在软件的质量保证中起着重要的作用,它包括的测试内容丰富多样。中国软件评测中心将性能测试概户端性能的测试、应用在网络上性能的测试和应用在服务器端性能的测试。通常情况下,三方面有效、合理的结能全面的分析和瓶颈的预测。 ·应用在客户端性能的测试 应用在客户端性能测试的目的是考察客户端应用的性能,测试的入口是客户端。它主要包括并发性能测试、疲试和速度测试等,其中并发性能测试是重点。 并发性能测试是重点 并发性能测试的过程是一个负载测试和压力测试的过程,即逐渐增加负载,直到系统的瓶颈或者不能接收的性能执行指标和资源监控指标来确定系统并发性能的过程。负载测试(LoadTesting)是确定在各种工作负载下系负载逐渐增加时,系统组成部分的相应输出项,例如通过量、响应时间、CPU负载、内存使用等来决定系统的析软件应用程序和支撑架构、模拟真实环境的使用,从而来确定能够接收的性能过程。压力测试(StressTest 统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。 并发性能测试的目的主要体现在三个方面:以真实的业务为依据,选择有代表性的、关键的业务操作设计测试案性能;当扩展应用程序的功能或者新的应用程序将要被部署时,负载测试会帮助确定系统是否还能够处理期望的的未来性能;通过模拟成百上千个用户,重复执行和运行测试,可以确认性能瓶颈并优化和调整应用,目的在于 当一家企业自己组织力量或委托软件公司代为开发一套应用系统的时候,尤其是以后在生产环境中实际使用起来这套系统能不能承受大量的并发用户同时访问?这类问题最常见于采用联机事务处理(OLTP)方式数据库应用、W 统。这种问题的解决要借助于科学的软件测试手段和先进的测试工具。 举例说明:电信计费软件

Performance性能测试简介

详细: 一些重要的计数器 解决性能问题的时候,我往往会让客户添加下面一些计数器进行性能收集。 Process object下的所有计数器。 Processor object下的所有计数器 System object下的所有计数器 Memory object下的所有计数器 如果客户的程序是.NET程序,还会添加 .NET 开头的object下的所有技术其 如果客户使用https://www.360docs.net/doc/0d9595529.html,,还会添加 https://www.360docs.net/doc/0d9595529.html, 开头的object下的所有技术其 分析性能日志的时候,我会重点观察下面这些计数器 Process object Process object中的计数器可以针对目标进程分析内存,CPU,线程数目和handle数目。首先要确定 目标进程,然后分析目标进程的下面一些计数器: % Processor Time 该计数器是该进程占用CPU资源的指标。当进程繁忙的时候,CPU平均占用率应该在80%以内。如果超过 该数值,程序可以认为发生了high CPU的问题。另外一种问题是CPU波动幅度大。虽然平均占用率不高,但是上下跳动频繁。在某一个短时间段里面,会有连续高CPU的情况出现。 Handle Count 该计数器记录了当前进程使用的kernel object handle数量。Kernel object是重要的系统资源。 当程序进入稳定运行状态的时候,Handle Count数量也应该维持在一个稳定的区间。如果发现Handle Count在整个程序周期内总体趋势是连续向上,可以考虑程序是否有Handle Leak ID Process 该计数器记录了目标进程的进程ID。你可能觉得奇怪,ID有什么好观察的。进程ID是用来观察程序是否有重启发生。比如https://www.360docs.net/doc/0d9595529.html,工作进程可能会自动回收。由于进程名都相同,只有通过进程ID来判断是否 进程有重新启动现象。如果ID有变化,考虑程序是否发生崩溃或者Recycle

性能测试方案

性能测试方案 修订记录

目录 目录 (3) 1概述 (4) 2测试目标 (4) 3测试设计 (5) 3.1对象分析 (5) 3.2测试策略 (5) 3.3测试模型 (5) 3.4测试环境描述 (5) 3.5详细测试方法 (6) 4统计测试数据 (8) 5性能测试报告输出 (11) 6性能调优与回归 (11)

1、概述 首页、注册、登录、站内交流、站内搜索、测试技术资料上传与下载等模块的性能测试工作。本文主要描述了上述模块的性能参考指标及测试方法,以便于性能测试实施人员与客户对系统从技术层面指导测试人员验证相关功能模块的负载能力,根据实际的性能监控数据考察系统最大的负载及相关指标情况,以便于客户对系统实施相关的调优工作,使其达到预期期望的压力和性能要求。 2、测试目标 本次性能测试工作验证系统:首页、注册、登录、信息检索、普通用户资料上传、在线观看视频等模块的性能需满足下表指标(场景指标): 表 1性能指标列表

并发数=业务量/(时间段(小时单位)3600秒/每人每笔业务的处理时间) 3、测试设计 3.1对象分析 系统采用B/S(Browser/Server)模式设计。基于LAMP开发平台开发。 操作系统: Red Hat Enterprise Linux 4 Web服务器:apache 2.0 数据库服务器:mysql 5.0 开发语言:PHP 3.2测试策略 使用HP商用性能测试工具LoadRunner 9.1,模拟用户并发操作。测试系统首页、注册、登录、站内交流、站内搜索、测试技术资料上传与下载等模块在多用户并发操作下是否能够稳定正常运行。支持的最大并发数,各项指标是否能够达到预期的指标标准,并为后期系统调优提供指标数据支持。 3.3测试模型 3.3.1系统组网图(需客户提供)

性能测试瓶颈的分析.doc

性能测试瓶颈分析来源:未知作者:领测软件测试网采编发表时间:2011-07-06 09:45点击:512次软件测试工具电信测试游戏测试安全测试本地化测试手机测试Web测试其它相关软件测试工程师入门软件测试外包测试模板金融测试嵌入式测试云测试软件测试工程师职业发展单元测试功能测试测试用例性能测试自动测试测试管理缺陷管理测试认证敏捷测试同一场景1.小用户量的情况下测试 2.大用户量情况下的测试分析的方法:整个系统架构分析,系统响应时间消耗,利用图表分析查看事务响应时间,通过事务摘要图分析事务响应时间,那个消耗最大(通过小用户量和大用户量同一场景 1.小用户量的情况下测试 2.大用户量情况下的测试 分析的方法: 整个系统架构分析,系统响应时间消耗,利用图表分析 查看事务响应时间,通过事务摘要图分析事务响应时间,那个消耗最大(通过小用户量和大用户量的响应时间分析,查看那个事务响应时间最高),确定哪部分功能是性能的瓶颈,分析window resource图表,查看cpu 使用下列计数器标识cpu瓶颈 Processor\ Interrupts/sec Processor\ % Processor Time Process(process)\ % Processor Time System\ Processor Queue Length 通过它来确定是否硬件本身出现瓶颈,或者进一步确定应该怎么去判断性能产生瓶颈的

地方! 下一步去判断进程,那个进程消耗cpu最高 下边就有很多种情况需要你自己去判断,有可能是进程调用了的函数消耗了系统资源形成上边的问题,也有可能是后台数据库出现的问题(这个就要看你的系统配置是什么样的,比如你的db服务器和应用服务器都配置在一台机器上) 性能产生瓶颈有很多地方,所以需要进一判断,是否是后台数据库的问题还有待分析,是那条语句导致的问题需要进一步分析判断。 分析原则: ? 具体问题具体分析(这是由于不同的应用系统,不同的测试目的,不同的性能关注点) ? 查找瓶颈时按以下顺序,由易到难。 服务器硬件瓶颈-〉网络瓶颈(对局域网,可以不考虑)-〉服务器操作系统瓶颈(参数配置)-〉中间件瓶颈(参数配置,数据库,web服务器等)-〉应用瓶颈(SQL语句、数据库设计、业务逻辑、算法等) 注:以上过程并不是每个分析中都需要的,要根据测试目的和要求来确定分析的深度。对一些要求低的,我们分析到应用系统在将来大的负载压力(并发用户数、数据量)下,系统的硬件瓶颈在哪儿就够了。 ? 分段排除法很有效 分析的信息来源: ?1 根据场景运行过程中的错误提示信息

性能测试方案或报告

性能测试方案或报 告

<项目名称> 性能测试方案(报告) [注:以下提供的模板用于xxxxxx有限公司CMMI标准的模版。其中用尖括号括起来并以蓝色显示的文本,它们用于向作者提供指导,在发布此文档之前应该将其删除。] [要定制 Microsoft Word 中的自动字段(选中时显示灰色背景),请选择“文件>属性”,然后将标题、主题、作者和公司等字段替换为此文档的相应信息。关闭该对话框后,经过选择“编辑>全选(或 Ctrl-A)并按 F9,或只是在字段上单击并按 F9,能够在整个文档中更新自动字段。对于页眉和页脚,这一操作必须单独进行。按 Alt-F9,将在显示字段名称和字段内容之间切换。有关字段处理的详细信息,请参见 Word 帮助。]

文档信息及版本历史 LXGS/F/CMMI/PRJ-SE-STM-M-5

版权信息 本文件内容由【xxxxxx有限公司EPG】负责解释本文件的版权属于【xxxxx有限公司】和 【XXXXXXX此处写用户单位名称】 任何形式的散发都必须先得到本文档版本所属单位的许可 /

目录 1引言 ...................................................................... 错误!未定义书签。 1.1编写目的..................................................... 错误!未定义书签。 1.2适用范围..................................................... 错误!未定义书签。 1.3参考资料..................................................... 错误!未定义书签。 1.4术语和缩写词 ............................................. 错误!未定义书签。2系统介绍 .............................................................. 错误!未定义书签。 2.1项目信息..................................................... 错误!未定义书签。 2.2测试系统定义及业务介绍.......................... 错误!未定义书签。 2.3系统总体结构 ............................................. 错误!未定义书签。3测试环境 .............................................................. 错误!未定义书签。4测试目标及性能指标........................................... 错误!未定义书签。5测试可比性 .......................................................... 错误!未定义书签。6.测试设计 ........................................................... 错误!未定义书签。 6.1测试工具..................................................... 错误!未定义书签。 6.2数据估算..................................................... 错误!未定义书签。 6.3 性能测试用例 ............................................. 错误!未定义书签。 6.4 性能测试场景 ............................................. 错误!未定义书签。 7 测试结果 .............................................................. 错误!未定义书签。 7. 1 XXX场景..................................................... 错误!未定义书签。 7. 2 XXX场景..................................................... 错误!未定义书签。 7. 3 测试结论 .................................................... 错误!未定义书签。

相关文档
最新文档