敏捷测试的方法和实践

敏捷测试的方法和实践
敏捷测试的方法和实践

敏捷测试的最佳实践,第 2 部分: 方法与实践

前言

如果您已经阅读过敏捷测试系列文章的第一篇,敏捷的实质,您应该已经了解敏捷的定义,了解什么样的团队是敏捷的团队了。而您也可能早已开始思考,什么是敏捷测试的实质?敏捷的测试团队又是如何形成自我管理、自我发展的组织呢?测试团队又是如何安排日常工作呢?敏捷测试活动与传统测试活动有很大差异吗?为了进一步让您了解如何将敏捷原则运用到活生生的日常测试活动中,我们为您推荐敏捷测试系列文章的第二篇——敏捷测试的实践。

在敏捷活动如火如荼的推广运动中,我们显然无法预知如何在您的特定的复杂环境中您能否最后达成所愿,也无法为您预测出前进道路的分岔口可能唯一的正确的线路,我们却可以为您点起一盏明亮“街灯”,在这迷雾中驱除黑暗。我们将为您提供一个可以借鉴和可供参考的成功的敏捷测试实践案例。我们将逐一向您介绍、分析这个案例中的敏捷团队的组织结构,主要的敏捷测试行为,迭代的测试模型和一套以四周为周期的敏捷测试活动时间表。

请您运用您已具备的敏捷实质、敏捷原则的知识,并结合您的独特项目环境、带着您的问题,与笔者一起再度分析这个案例,希望您最终也能得到满意的答案,并随后开始实施部署敏捷测试。

回页首敏捷测试的实质

测试不仅仅是测试软件本身,还包括软件测试的过程和模式。产品发布后才发现很多问题,很可能是软件开发过程出了问题。因此测试除了需要确保软件的质量,即软件做了正确的事情,以及软件做了应该做的事情以外,敏捷的测试团队还要保证整个软件开发过程是正确的。

敏捷开发的最大特点是高度迭代,有周期性,并且能够及时、持续的响应客户的频繁反馈。敏捷测试即是不断修正质量指标,正确建立测试策略,确认客户的有效需求得以圆满实现和确保整个生产的过程安全的、及时的发布最终产品。敏捷测试人员因而需要在活动中关注产品需求,产品设计,解读源代码;在独立完成各项测试计划、测试执行工作的同时,敏捷测试人员需要参与几乎所有的团队讨论,团队决策。作为一名优秀的敏捷测试人员,他(她)需要在有限的时间内完成更多的测试的准备和执行,并富有极强的责任心和领导力。更重要的是,优秀的测试人员需要能够扩展开来做更多的与测试或许无关,但与团队共同目标直接相关的工作。他(她)将帮助团队其他成员解决困难、帮助实现其预期目标,发扬高度协作精神以帮助团队的最终获取成功。需要指出的是,团队的高度协作既需要团队成员的勇敢,更需要团队成员的主动配合和帮助。对于测试人员如此,对于开发、设计人员,其他成员也是如此。

回页首敏捷测试的方法与实践

是的,敏捷测试也需要高度迭代工作、频繁得到 STAKEHOLDER、客户的反馈,需要动态调整测试计划、测试的执行。并且,敏捷测试人员参与到了更多的敏捷生产活动中,积极的影响了团队做出的决定和计划。

是的,“人”才是敏捷的实体,敏捷测试也是以人为本的。不难理解,“敏捷”的一切都围绕着人展开,如敏捷鼓励直接,平行的沟通;敏捷需要持续的客户反馈以及敏捷活动的设计,方案和决策需要团队协同制定等等,敏捷测试需要一支非同寻常的团队,不同于以往传统开发模式下的团队结构。关于敏捷团队、敏捷测试团队的组成和介绍,将是我们讲述敏捷测试实践的第一步。

“人”是重心,方法、策略是辅。为了适应不同的团队结构,不同的项目环境,敏捷项目和敏捷活动的实践也应该因“人”而异,但是,并不是说可以天马行空,我行我素。一旦脱离了正确的敏捷方法、和敏捷原则的指导,我们的敏捷活动就好比摸黑前行了。

这正是我们需要学习前辈和敏捷主义大师们的经验意义所在了,笔者在过去的实践中受益颇多的也正是前人的实践经验和方法。因此,学习前人的经验和方法,并运用这些最佳实践来帮助敏捷开发团队,甚至是传统团队来解决时下重要的问题是十分有意义的事情。笔者不敢妄自尊大将自己的一般实践纳入经典方法范畴,但经历了两年的研究和改进,笔者提出的敏捷测试的原则也得到了业内同僚和“大师”的普遍认可。经过多次和其他项目团队的经验交流,我们也不断的改进着我们的原则、方法。因此,笔者要非常感谢参与讨论的同僚们,没有你们的热情参与,也不会有今天的笔者信心百倍的执笔了。正如笔者在借鉴了前人的成功案例中的经验和方法之后定制了符合项目需求的测试原则一样,相信,读者们在阅读了笔者的敏捷测试原则和方法后,同样也会有所收获。而对笔者经历的敏捷实践活动中的方法和测试模型的讲解将成为我们讲述敏捷实践的第二步,也是本文的重点。

综上所述,笔者将运用本文的主要篇幅为大家讲解这个敏捷实践。它们是:

1. 敏捷团队组织构成,敏捷测试团队的任务和使命;

2. 敏捷开发团队以测试为驱动的开发方式——测试驱动开发,这是种独特的测试?还是

开发?

3. 递增型的迭代测试,它首先是对敏捷测试过程活动和生命周期模型的介绍,通过学习

经典的敏捷增量测试模型,我们将敏捷测试的各类活动有机的组合到了一起。在此之

上,对定制后的独特敏捷增量测试模型的分析和理解,帮助我们理解测试活动的规划和管理;

4. 以及需要特别关注的递增型迭代测试的关键活动之一——“静态测试”;这也是笔者认为

的最高难度、最具影响力的敏捷测试活动。它将测试团队最早的引入产品开发环节,

测试人员以第一用户的角度判断设计的有效性,此活动较早的暴露了设计缺陷、避免

了团队对目标的不一致理解等,是测试活动中最有创造性价值的部分;

5. 最后,笔者将谈谈测试活动中的测试计划和管理,即关于测试任务估计,测试活动计

划,各个重要测试活动时间分配与安排的介绍。

然而,敏捷测试不是一蹴而就的,做到真正的敏捷,无论是从传统测试模式向敏捷测试的过渡,还是组建全新的团队都是需要循序渐进的,同时也需要团队成员的通力合作和不断的实践来完善敏捷测试的实践原则和方法。

回页首敏捷团队

考虑到敏捷团队的组织结构,让我们以笔者亲身经历的项目为例来说明。笔者曾共事的整支产品开发团队被划分成 4 个相对独立的敏捷开发队伍,而每支队伍拥有相同配置的 7 名成员,他们分别具有不同的职能属性。如图 1 所示,每支敏捷队伍组成成员角色包括 1 名 UCD (User Centered Designer),主要负责产品的主要设计,其工作主要包括界面设计、用户的用例设计等等; 1 名 Visual Designer,主要负责产品界面的色彩搭配、控件的外观设计和UCD 界面设计方案的初步实现和美化;1 名 Information Developer,主要负责产品中信息的编辑和重要文档的撰写工作; 3 名开发人员,主要负责产品的实现。和 1 名 QA,主要负责产品质量的保障。(更多的我们将 QA 定义为具有相比于测试人员拥有更多责任的一个职能,在本文中,为了简便起见,我们仍称之测试人员)。4 支敏捷的队伍拥有相同的 SCRUM MASTER STAKEHOLDER。通常会在同一时间进入一个迭代周期,制定各自的敏捷计划,并在同一时间退出,发布各自功能实现。而 4 支队伍的劳动果实被集成到一起就形成了可发布的产品了。

图 1. 敏捷开发团队的组织结构

因为敏捷团队中只有 1 名测试人员,因此需要一臂承担测试策略的制定,测试计划,测试脚本,测试用例设计以及测试的执行,帮助团队发现潜在问题,并协助解决问题的工作。敏捷团队的敏捷原则也是测试人员敏捷活动的规范,测试也需要拥有和团队的良好沟通,高度迭代的活动和不断的获得 STAKEHOLDER 的反馈。那团队的结构与敏捷本身有什么直接关系呢?与敏捷测试又有多少关联呢?

谈到这里,想起曾经有朋友向我咨询有关敏捷团队的某些职能的人力配备的问题。其实,笔者也无意论证 7 个人为什么是最佳组合,为什么不是 17 个,20 个人的组合。但是,敏捷原则告诉我们敏捷团队是高度协同、民主和平等的团队,为了让团队中每个人充分高效的工作。相同职能下的组员至多不好超过 3 名,最佳配置也是不同职能下配置 1 个人头。因此、在这样一个小型、平行的组织结构里,沟通更加易于建立,沟通复杂度也相对较低,相比 17、20 人的团队组织,沟通的代价也小很多。相反,很难想象在一个敏捷团队中会拥有诸多不同风格的执行者,决策者将是个怎样的混乱情况。

此外,经历过敏捷测试的体验,我们发现一个单一的敏捷团队最好保持较小的“尺寸”。这是因为拥有很多测试人员的敏捷团队通常不但需要更大的实际工作量来匹配庞大的机体而导致团队任务量更巨大,更复杂,失去自我管理的信心,而每个测试人员也将要花费大量精力和时间投入到内部沟通,和可能因为内部缺乏一致而导致的更加频繁的反复沟通中。

每名敏捷的测试人员需要和其他敏捷团队成员保持频繁而必要的沟通以保证对目标,需求、设计的充分正确的理解,对需求变化能够迅速的做出反应。另外,还需要与职能队伍中的其他测试成员保持一致性。如此一来,沟通代价激增了,它将占到测试人员的工作中的较大比例。而这种内部沟通、协调,却不能定义为敏捷的 Backlog 项目来计入团队整体的工作输出。因此,整体的测试效率并不一定随着人力资源的投入而递增。非但没有实现敏捷原则,而恐怕因为团队的组织结构变得更加庞杂。所谓的“自我管理、自我发展”的团队只能因而依靠传统的管理和规划了。笔者认为,除了因为特殊阶段,特殊时期,敏捷团队需要“聚合”更多资源来一并解决存在的高优先级的体力型问题外,敏捷的团队应该尽量保持着较小的“尺寸”。

果真项目投入了很多的人力资源,无论设计还是实现、测试团队拥有较大的人数,那么我们应该考虑将这样的团队可以分得更小些,工作量也相应分得更精细些,直至接近我们建议的最佳组合。至少我们认为要做好敏捷测试,就要确保敏捷团队中的每一个职能拥有足够清晰的职责范围和一定程度下自由空间和在这个空间内的充分授权。因此,但从人数和职能构成上,敏捷团队的构成一定是不可忽略的重点。

正像我们前面提到的,确认软件开发过程的正确性也尤为重要,因此作为敏捷的测试人员,更要了解敏捷的过程,比如说,测试人员需要帮助 UCD 和开发人员确定需求的可行性,测试人员要督促开发人员及时发布 build,以保障迭代结果最终能够在通过足够的测试后成功发布等。在 build 发布后,测试人员要首先验证当前迭代的任务是否已经完成,其次才是验证产品功能的正确性。也为了能够在日后重复性和体力型劳动中解放出宝贵的时间去覆盖测试更加紧要的内容,如可用性,全球化等,测试人员需要自动化一部分测试,创新的、灵活的工作。

敏捷团队是自我管理的团队,高度协作的团队,质量目标即是测试团队也是整个开发团队追求的目标,因此开发团队应将做好单元测试,设计团队将帮助测试团队设计好测试用例作为计划内的一项工作。这里我们推广、建议开发人员采用、普及测试驱动开发模式。

回页首测试驱动开发

测试驱动开发表现出迭代开发的最核心的就是开发人员自己能够第一时间确认其需求得到了正确实现,而当单元测试覆盖了更多的内容,代码质量也将得到提高。测试驱动开发的指导思想就是让开发人员在编写功能代码之前,先根据需求编写测试代码。先思考如何对将要实现的功能进行验证,并完成单元测试脚本的编写,然后编写足够,仅仅足够的功能代码满足这些测试用例,直至通过测试。按照这个方法,递增的在迭代中增加新功能的单元测试和功能代码编写,直到完成全部功能的开发。

在单元测试活动中,测试人员也被鼓励参与到单元测试的设计中来,不但可以帮助开发人员构思出更多的单元测试用例来扩大单元测试的覆盖率,还可通过学习如何使用单元测试,如何复用单元测试用例到回归测试和功能测试,以达到最大化利用有效的资源(如下图)和节约成本的作用。同时,在回归测试和用户接收测试(User Acceptance Test)中如能将单元测试脚本有机的关联起来,并自动化其执行,更能够进一步提高测试的成效并降低测试成本。

单元测试脚本因随需求、设计的变化随时更新。需要开发人员站在全局的立场,开发始终坚持先修改测试脚本,再修改产品原代码。此时,也建议测试人员参与单元测试脚本的改进,帮助开发人员合理的变更单元测试脚本,同时着手修改测试计划和测试策略。

图 2. 测试驱动开发

回页首递增的迭代测试

测试驱动开发的原则应该运用于每一迭代周期的开发中。但是,测试驱动开发的单元测试仍然是以开发为目的的活动,虽然自动化测试,回归测试和用户的接收测试(User Acceptance Test)可以通过复用单元测试脚本提高以后的测试工作的效率,但单元测试不是我们敏捷测试讨论的重点。

敏捷测试活动的主要承载者还是敏捷测试人员。测试人员如何运用敏捷原则指导测试活动还是笔者在敏捷测试实践一文中要讲述的重点。以下,笔者将通过两个迭代测试模型来帮助了解测试人员如何结合敏捷原则实践敏捷的测试活动。

经典敏捷增量测试模型

测试是敏捷开发过程重要的环节,自始自终测试贯穿于每个迭代。Scott W. Ambler 认为就整个产品的敏捷开发生命周期可以分为 4 个阶段,即初始阶段,项目的建设阶段,产品发布阶段和产品的维护阶段,在关键的项目建设阶段中,测试被分成两个部分,Confirmatory 测试和Investigative 测试。1下面,我们来讲讲迭代的测试的这两个方面。

图 3. 敏捷测试生命周期

Confirmative 测试就是对 build 的有效性和关键的功能是否正确进行验证,测试人员依据测试用例和测试脚本的完整测试是工作的重心。原文中的 Confirmative 测试包含了开发人员的单元测试(必不可少的重要开发活动)和被称之为 Agile Acceptance Testing 的测试部分,这段时间的测试任务用来保障迭代的必须输出的质量。基本的功能、非功能的任务,但凡是在迭代开始时制定的计划中承诺的高优先级需求,哪怕是很繁琐的细节工作都要被充分的测试和验证。

Investigative 测试是对 Confirmative 测试的补充和是更广泛的测试活动,测试团队在完成Confirmative 测试后的时间用来做这部分测试,它包含功能测试,文档测试和系统测试以及和其他产品、环境之间产生的必然的 Integration 测试,还有个非常有趣的测试活动叫做Exploratory 测试,笔者认为这部分测试是测试人员创造性的采用多种不同途径去尝试测试产品。就好比“猴子敲键盘”一样,测试员使用各种手段来考验 build 和产品的稳定和正确性等。

图 4. 敏捷测试的 Incremental Testing

自定制的敏捷增量测试模型

我们在敏捷项目开发的过程中使用了定制的测试流程,我们同样有相同的两部分测试,即Confirmative 和 Investigative 两部分。不同的是,我们原则的将这两部分测试都放在当前迭代的计划内完成。原因是,敏捷测试团队针对当前迭代的任务计划本应服务于当前的产品,过去的迭代产物,或者因为需求变更不再适用,又或者因为未解决的质量缺陷使得实际测试效果不佳。而同时,因为 Product Owner 和 STAKEHOLDER 的期望是团队能够高效的完成当前迭代的任务,完成更高优先级的工作,每个迭代的考核亦非常清晰。为了完成服从当前的高优先级任务,计划,也为了 STAKEHOLDER 更好的关注和帮助当前问题的及时解决,测试人员对以往 Build 的测试应应合理的计入先前迭代的任务而不是当前迭代计划。倘若真要测试以往的产品而不是最新的,敏捷测试的管理也将变得有些困难,同时测试团队所关注的问题也只能是过时的,只能成为团队的低优先级的问题。这不是与团队整体的目标背离吗?因此,我们建议测试团队使用我们改进后的敏捷增量测试模型,即在当前迭代仅仅完成当前迭代的计划,而所有测试都需要围绕最新的产品 Build 进行。

图 5. 定制的 Incremental Testing

在我们新的增量测试模型中 Confirmative 测试包含对需求的静态测试,开发人员做的单元测试,以及 Build 验证测试,功能测试(仅限于对当前迭代功能)和重要的其他类型测试。通过了 Confirmative 测试的产品 Build 就可以作为在迭代结束时发布了。而为了产品拥有更好的质量,也为了完成对那些较低优先级的质量验证的需求得以确保成功的实现,我们需要针对性的做系统测试,压力,并发,安全甚至全球化的测试,这部分我们把它叫做 Investigative 测试。还需要强调的是,为了保障产品的最终稳定,为了产品不会出现在代码重构后的质量回归现象,我们将回归测试(Regression Test)放在这个阶段,用以涵盖对以往关键功能的再度验证。

静态测试

在笔者的测试模型里,confirmative 测试增加了“静态测试”,本人认为这部分测试是对测试人员最具挑战的部分。一个好的测试人员能够第一时间找到需求分析、设计中的模棱两可,遗漏,错误的地方,能够促进团队前期工作的高效完成,将很大程度降低将来产品的质量缺陷的数量,积极影响了敏捷开发的最终输出。这部分工作是测试团队,开发、设计团队最默契合作的阶段,交流非常频繁,正是通过积极的沟通和及时的修正与团队目标“误差”使得团队更加明确其方向,更有凝聚力和也得以发挥了团队的最佳战斗力。在笔者的项目经历中,往往这个阶段会需要一个迭代周期 1/4 左右的时间。这同时也说明了静态测试在敏捷测试类型中的重要性。

在敏捷开发过程的静态测试即项目迭代开发前期测试人员的最主要工作。值得再次强调的是,在这段时期测试人员的工作重心是认真了解需求和用例设计,并针对设计的可行性,可用性进行验证,确认设计是对需求的准确实现,最佳实现。

图 6. 静态测试需要的 Strategy Thinking

对于静态测试的方法,我们在这里需要推广 RUP 的 Use Case,这是个很好的分析需求的方法,也是测试人员作为静态测试的使用的方法之一。对产品长期战略和业务的熟悉可以帮助测试人员更好的理解团队的用例设计,视图、模块等,也能够通过对比分析,直接找出某些设计中的缺陷,以提高设计的质量。项目的开发前期阶段,设计是占有非常重要的比例,而设计是直接影响产品质量的环节,因而确保这一阶段的质量对产品的品质提高起到决定性作用。针对开发出来的用例,设计者对用例的描述通常故事情节比较简单,缺乏完备和逻辑的缜密。而开发和测试需要的是详细的设计,这个用例设计和各种辅助的逻辑应该将用例定义的清晰和明确,例如边界条件,例外条件,数据的格式和其他性能指标的界定等等都需要涵盖。因此,测试人员应该领导团队帮助明确出用例更多的细节。比如,在一次设计用例讨论中,设计者提出“我需要一个Overlayer”。那么测试人员应该要问:“如何打开这样一个 Overlayer,如何关闭?”“这个 Overlayer 需要多大平面尺寸,是否支持调整,是否支持对屏幕大小的自动适应”,“Overlayer 的打开和关闭是否需要有动态渐变的效果?”,“Overlayer 的是否需要滚动条?”,等等。

这个过程能够帮助团队发现早期的设计缺陷,通过发现问题,并定制新的设计方案,团队也通过这个过程,更好的了解了测试的重要性,也摒除了可能存在的对需求的种种“假设”,因而更加明确了团队的目标和方向。这是个非常关键的过程。尤其是对测试人员而言,任何“假设“都是有害的,所以一定需要把不清楚和模棱两可的问题从一开始就理清楚。

回页首敏捷测试的计划与管理

做好了测试的思想准备,并了解如何从需求开发出测试用例,敏捷测试人员接着需要做的就是参考产品需求和团队的设计制定和计划测试任务和各种测试活动,即测试策略和测试计划的制定。每个迭代敏捷开发都将关系产品的功能点和非功能点的需求作为产品的 Backlog 编入待开发的序列,敏捷团队从中会选择适量的 Backlog 项目来作为当前迭代的 Backlog 去实现。测试人员同样根据需要制定出相应的测试工作,并罗列于团队的 Backlog 项目中,承诺了在迭代结束时可以做好的足够的测试工作。

对于测试计划中的 confirmative 测试,这部分必须做到高质量的按时完成。而对于Investigative 部分,我们应该适量的计划到当前迭代中,切忌不要做 over commit。

图 7. 计划测试 Backlog 项目

接着,测试人员需要撰写测试用例和测试脚本了。测试用例的撰写和传统测试基本没什么差异,按照已有的模式撰写就好了。笔者的测试团队,使用了 XML 文件格式保存所有测试用例,原因主要是沿用了测试团队原有的习惯,而同时也因为 XML 测试用例能够更好的匹配自动化测试的需要,并且便于更新。测试脚本是自动化测试的产物,敏捷开发周期短,变化多,很难拿到一个稳定的产品再开始做自动化。而自动化脚本的设计自然要避免去测试不稳定部分,开始的迭代周期几乎百废待兴,自动化作用不大,到了中期,笔者的团队自动化测试才稍成气候。

测试人员需要的是在根据测试策略开发出这相应脚本和用例,需要把握测试范围,与计划和测试策略一致,测试也要量力而行,做到足够的测试,保障迭代的正常退出就很好了。

图 8. 依据 Business Scenario 制定测试策略

敏捷测试的活动时间表

通过实施上述的敏捷测试原则,测试团队可以逐渐形成符合自身特点的敏捷测试流程、敏捷测试最佳实践,久而久之形成独立的敏捷团队文化。以笔者所在团队为例,历时 1 年,经历 12 个迭代后,我们逐渐形成了一套可以遵循测试活动时间表。我将他放到文章的最后,这张表包含了敏捷测试团队的各项活动安排和必要的前提与进入条件。在这张表中,测试团队较早的涉入,较早的开展测试,以及各项相关工作,并与设计和开发人员紧密的合作,它确保了测试团队乃至整个敏捷团队的工作的按期完成,是值得向大家推荐一种最佳实践。因为篇幅关系,这里仅对其做简单的描述。

图 9. 敏捷测试 Work Flow 最佳实践

第一周的工作如先前所讲,做静态测试,确定测试策略和制定可行的测试计划,划定测试范围。这个阶段的前提是敏捷团队确定了当下迭代周期内需要完成的 Backlog 项目。

第二周的工作是准备开始测试的执行,因此要准备好测试用例和测试环境。特别的是,测试人员是根据需求和团队讨论、设计出的用例来开发测试用例的。虽然测试用例的细节程度不能与传统开发中针对已经开发完的产品、产品开发文档开发的测试用例相比,相反,许多细节,尤其是还未由团队最终确定的内容仍是待定状态;但是,这些细节并非影响测试的用例设计,相反它不但简洁、易懂,也拥有很好的灵活度,它能够实时响应各种变化。而且,测试用例记录了大量的待定部分,它时刻在测试人员的脑中,测试人员用这种方式简单的告知团队,我们还有未完成的设计和未定的方案,测试用例帮助团队对产品的理解同步于此。

第三周的第三天,第一个可以执行的 Build 已经能够发布了(这个前提需要开发人员的密切配合)我们开始功能测试了。到第三周周末,一部分功能测试已经完成,大部分关键功能得到验证。

第四周我们要结束测试,包括 Confirmative 的测试部分和 Investigative 的测试。在迭代验收之前团队要通力合作解决各种能够解决的问题,保障 Backlog 的如期完成。这里有一个问题值得再次提出来和大家讨论,或许曾在敏捷项目中的许多人也都遇到了,那就是出现了一些质量缺陷没有来得及在迭代退出前完全解决的现象。那是不是说明测试不能够退出呢?笔者的回答是“不”。迭代的验收时间即是迭代退出时间,也是测试团队必须退出的时间。在实施中,我们将这些来不及解决的质量缺陷分成三类,一类是“希望能够解决”的质量缺陷,这部分未解决质量缺陷将要成为新一轮迭代的“将做事宜”,甚至可能作为新一轮迭代的需求做到 Backlog 里。第二部分是“必须解决”,这部分因为直接关系到最基本,最关键的功能,这样的质量缺陷必须被立刻解决,否则就必须承认本次迭代的失败了。第三部分是“不再重要的” 质量缺陷,这部分质量缺陷可以因为技术的不可实现,对客户产生较小的影响或者考虑到不久因为代码重构,这样的问题不在存在的理由,经过团队和 STAKEHOLDER 的批准可以置成“推迟解决”,待日后解决或者定义到产品的版本说明文档中。

回页首结束语

在本文中,我们承接了敏捷测试最佳实践系列文章的第一篇,将前文的敏捷原则融入到敏捷测试的实践活动中来。本文所讲的实践围绕“人”和“过程”两个重点展开,指出敏捷活动的主体仍然是“人”,是“敏捷团队”。笔者给出了一种基于 Scrum 敏捷开发模式下的敏捷测试团队组织结构。接着,讲述了这支团队的敏捷测试“过程”。因实践本身是对原则和方法的具体定制,不同的实施背景,敏捷活动的具体表现形式各异。所以,本文始终倾向于提供给您一个可以借鉴的并已经实施成功的敏捷测试“过程和方法”,并与您分享实践经验。

本文为敏捷测试最佳实践系列文章之二,帮助您更详细的了解了敏捷测试的具体实施。而关于如何将一支传统测试团队发展成为一支敏捷的测试团队,在敏捷实践中又有可能遭遇哪些困惑和问题?笔者将在本系列的最后一篇文章“向敏捷测试转变”继续为您讲解。

敏捷开发管理试题及答案

单选题: 1、下列关于敏捷方法的叙述中,错误的是()。 A.与传统方法相比,敏捷方法比较适合需求变化大或者开发前期对需求不是很清晰的项目 B.敏捷方法尤其适合于开发团队比较庞大的项目 C.敏捷方法的思想是适应性,而不是预设性 D.敏捷方法以原型开发思想为基础,采用迭代式增量开发 答案:B 2、XP是一种轻量级(敏捷)、高效、低风险、柔性、可预测的、科学的软件开发方式,其四大价值观包括沟通、简单、()。 A. 隐喻和反馈 B. 重构和勇气 C. 隐喻和重构 D. 反馈和勇气 答案:D 3、()是PSP A. 潜在可交付的产品增量 B. 可交付的产品增量 C. 潜在不可交付的产品增量 D. 不可交付的产品增量 答案:A 4、()不属于DOD A. 写代码 B. 单元测试 C. 集成测试 D. 投产文档 答案:D 5、()是Product backlog A. 产品负责人 B. 产品代办事项列表 C. 迭代 D. 燃尽图 答案:B 6、()是用户故事的标准模板 A. 作为一个<用户类型>,我<想\需要\可以\等等>,所以<原因> B. 作为一个<产品类型>,我<想\需要\可以\等等>,所以<原因> C. 作为一个<用户类型>,我<想\需要\可以\等等> D. 作为一个<产品类型>,我<想\需要\可以\等等> 答案:A 7、以下()不是SCRUM MASTER职责 A. 保护团队不受外来无端影响 B. 尽可能提高团队影响力 C. 负责SCRUM价值观与过程的实现 D. SCRUM MASTER是牧羊犬、公仆 答案:B 8、迭代计划会议的主要议程是() A. 讨论系统物理架构 B. 研讨系统逻辑架构 C. 讨论产品代办事项列表最需优先完成的事项 D. 讨论系统数据架构 答案:C

敏捷开发日常跟进系列之1-6

敏捷开发日常跟进系列之一:燃尽图(上) 这个系列将涉及燃尽图(Burndown Chart)、故事板(看板)、每日立会等内容,描述在计划会之后,评审会之前,敏捷开发团队内部产出与产品经理和项目经理的各种活动。 日常跟进中的某些内容比如团队工作模型、预估会议、用户故事跟进等在之前的松结对编程、团队管理、用户故事、产品管理等系列中有所描述。 在这个系列之前,还应该有一个敏捷计划系列,描述敏捷开发的从版本规划到计划会估算的详细内容,未来将会补上,当前可以参考2.29版的《火星人敏捷开发手册》,有5页与其相对应。 燃尽图 燃尽图Burdown Chart也叫燃烧图,是罕见的敏捷度量,以至于每当有人问起“敏捷中有度量吗”的时候,第一反应就是它。 燃尽图的全称,应该是“总剩余时间的燃尽图”,就是本次迭代中,所有故事(或拆分的任务,以下仅称故事)的剩余时间总和,随日期的变化而逐日递减的图。 图中左侧460是迭代开始的第一天,所有故事的未完成时间相加为460天,而在最右侧则表明在第17天,所有故事的剩余时间相加变为0,也就是所有故事都完成了。 为什么总和会递减呢?因为每个组员每天都要汇报一件事情:当前正在做的故事,还剩余几天,如果昨天剩余3天,今天剩余2天,那么就为燃烧图贡献了1天的进度。

由于可能出现“昨天剩余3天,又工作了一天后本以为会只剩下2天,结果感觉可能还要3天(甚至变成5天了!)”这种情况,所以燃尽图常常有一些起伏。 燃尽图的“指纹” 图中的燃尽图尽管有一些起伏,依然是属于比较完美的燃尽图。实际上每个团队完成迭代的过程差别很大,常见的情况包括: 先鼓起后落下 原因是计划会以常常漏掉一些事情,所以开工后不但不燃尽,还发现了很多新的任务。 先完美燃烧,然后突然停止燃烧 一种很常见的情况,如果任务划分太粗,比如长达10天,很容易“做了1天,剩9天;做了1天,剩8天;……到剩2~3天的时候,哎呀,好像搞不定了”。 先缓慢燃烧,然后到快燃尽的时候剩下一堆没完成的任务,被推迟到下个迭代 之前提到过敏捷开发的MoSCoW方法,有些故事是次要的“可以不做的”,所以这种燃烧图也很常见;但是常常有团队没有使用MoSCoW方法,只是被动地发现有些故事没有完成。 …… 为了改进这些不完美,有些团队设置了一些度量项来改进燃尽图的结果,比如“迭代按时燃尽的次数”“剩余故事占总故事的比例”…… 其实不用因为燃尽图的不完美而伤脑筋,在般若敏捷的“无住”中曾经提到,这些方法都非我们的目的,而只是一个中间的工具,因此为了完成我们的最终目的,这些工具和方法都可以灵活变通,而不要追求工具和度量数据本身的完美。 但是,迭代的最终目的到底是什么呢?有哪些“灵活变通”可以应用在燃尽图中呢?且待下回分解。

Keysight的主要技术应用迎接5G 新空口的测试挑战

应用简介 是德科技 关于 5G 新空口,您需要了解的七件事 5G 新空口(NR )是下一代无线标准,要求采用新的技术,并且在性能上也要有显著提升,这将会为您的设计、测试和优化工作带来挑战。NR 空中接口可以在独立或非独立模式下工作,而现有的 LTE 网络则用于控制面。独立模式和核心网络规范计划于 2018 年 6 月完成。 NR 的意思是支持三种新兴用例:增强移动宽带(eMBB )、超高可靠性低时延通信(URLLC )和大规模机器类通信(mMTC )。第一个 NR 规范(3GPP 第 15 版)支持增强移动带宽(eMBB ),提供更高的数据吞吐量和更大的容量。它还为支持 URLLC 关键任务型用例(如自动驾驶汽车)奠定了基础。 增强移动宽带 高可靠低延迟通信 来源:ITU 建议 9/2015 海量机器类通信

02 | 是德科技 | 关于 5G 新空口,您需要了解的七件事—应用简介 03 | 是德科技 | 关于 5G 新空口,您需要了解的七件事—应用简介 https://www.360docs.net/doc/f417738329.html,/find/5G https://www.360docs.net/doc/f417738329.html,/find/5G 为了在高清视频流等应用中实现更高的数据吞吐量,并 支持更大的网络容量,5G NR 规定使用最高达到 52.6 GHz 的新频段(第 15 版标准),而在将来的实施中可能扩 展到 100 GHz 频段,其中将提供更多连续带宽。在毫米波 (mmWave)频率上实施带宽高达 1 GHz 的空中接口, 这意味着您需要纠正各种信号质量问题,如路径损耗、平 坦度、相位噪声和线性度。 1新频谱和带宽 影响信号质量 美国:2018 年试行 27.5 – 28.35 GHz 和 37 – 40 GHz 商用部署,未来将实施 64-71 GHz 部署 韩国:2018 年试部署 26.5 – 29.5 GHz 2019 年实现商用部署,未来将实施 37.5 – 50 GHz 部署 日本:计划从 2017 年开始试部署 27.5 – 28.28 GHz, 2020 年可能实现商用部署 中国:研究 24.25 – 27.5 GHz 和 37 – 43.5 GHz 频段 瑞典:2018 年将颁发 26.5 – 27.5 GHz 试用许可证, 并将继续推进部署 欧盟:自 2020 年开始进行 24.25 – 27.5 GHz 商用部署 5G NR 利用先进的波束赋形技术,克服了毫米波频率中存 在的路径损耗和多径信号传播问题。波束赋形的优势在于, 它可以使用转向天线阵列,向指定用户设备提供天线增益 和更佳 SNIR。然而为了充分发挥这一优势,需要新的设计和 系统级测试方法。 2先进的波束赋形技术 需要系统级设计 gNB gNB 同步和广播信号 5G NR Rel-15 在上下行链路中均使用 CP-OFDM 波形, 且采用可扩展的参数集。可扩展参数集允许对质量和 时延要求不同的服务进行多路复用,并为毫米波载波 提供更大的子载波间隔。因为信号并非正交,所以多子 载波间隔的多路复用会引起 PAPR(峰均功率比)和子 载波之间的干扰问题。在功率受到限制、要求提高功效 的场景中,上行链路可以使用 DFT-s-OFDM 波形,以减 少用户设备的 PAPR。 3波形和可扩展参数集 意味着 PAPR 挑战 在毫米波频率上,小型天线要求通过空中(OTA)进行测试,这个方法 复杂且成本高昂。紧缩天线测试场(CATR)采用的是抛物线反射镜 系统和旋转定位器,无需再使用空间极大且高成本的测试室。 4毫米波频率 要求进行 OTA 测试 电波暗室 5G NR 必须与许多已经存在的服务,以及为 支持 5G 用例而将要引入的新服务同时共存。 在相邻和非连续频谱中可以发现很多不同信号, 使得干扰成为一个大问题。为了减少相邻频谱干 扰,必须尽量降低带内和带外发射。 5多种波形的共存带来 严重的干扰问题 5G NR 将会显著增加网络流量。为支持 5G NR 使用模型,并且尽可能降低成本,需 要采用新的网络技术。网络切片让网络更加灵活,运营商可以分配不同的速度、容 量和覆盖范围。云 RAN 将基带处理工作转移到云,让移动连接更高效。 6网络变革势在必行 5G 推动着无线网络的边界不断扩大,同时创造出许多新技术来支持新的用例。更 多的天线、毫米波技术和更高的速度都会让成本不断增加。为了在 5G 市场上取得 成功,您必须先于竞争对手创造出新设计和新业务模式。 75G 需要创新 创新 转型 致胜 https://www.360docs.net/doc/f417738329.html,/find/5G 来源:2017 年 2 月 GSA 报告

磁粉检测中的连续法

磁粉检测中的连续法 采用连续法时,被检工件的磁化、施加磁粉的工艺及观察磁痕显示都应在磁化通电时间内完成,通电时间为1s~3s,而又要求磁粉要以云雾状形式缓慢施加到工件表面,形成薄而均匀的覆盖层,防止磁粉堆积。 详细分解: 1、连续法-在外加磁场磁化的同时,将磁粉或磁悬液施加到工件上进行磁粉检测的方法。 2、应用范围 1)适用于所有铁磁性材料和工件的磁粉检测。 2)工件形状复杂不易得到所需剩磁时。 3)表面覆盖层较厚的工件。 4)使用剩磁法检验时,功率达不到时。 3、操作程序 1)在外加磁场作用下进行检验(用于光亮工件)。 预处理→磁化(浇磁悬液→检验)→退磁→后处理 2)在外加磁场中断后进行检验(用于表面粗糙的工件) 预处理→磁化(浇磁悬液)→检验→退磁→后处理 4、操作要点 (1)湿连续法先用磁悬液润湿工件表面,在通电磁化的同时浇磁悬液,停止浇磁悬液后再通电数次,待磁痕形成并滞留下来时停止通电,再进行检验。

(2)干连续法对工件通电磁化后开始喷洒磁粉,并在通电的同时吹去多余的磁粉,待磁痕形成和检验完后再停止通电。 5、优点 1)适用于任何铁磁性材料。 2)最高的检测灵敏度。 3)可用于多向磁化。 4)交流磁化不受断电相位的影响。 5)能发现近表面缺陷。 6)可用于湿法和干法检验。 6、局限性 1)效率低 2)易产生非相关显示。 3)目视可达性差 JB/T4730-2005中磁粉检测条形显示按长度评定,而在实际工作中,产品技术条件中允许条形缺陷的存在,只要深度不大于0..5mm,仍算合格,对于此类产品的无损检测,由于两个标准的评价标准的不同,如果按照JB/T4730-2005,一些按照技术条件合格的产品会被判废,但磁粉又不能检测出表面缺陷深度,对于此类问题,不知同行有什么好的解决办法?我们目前采用打磨的办法打磨一定深度,用塞尺检查打磨深度。

华软敏捷开发与测试复习提纲

(一)简答 1.敏捷软件测试的关键成功要素。 2.敏捷宣言。 3.常用的敏捷方法。 4.敏捷测试象限。

5.敏捷测试中,自动化的原因有哪些?

6.敏捷测试与传统测试的区别。 7.高效敏捷测试自动化工具的特征。 (二)有关敏捷开发与测试重要知识点:(填空)

(三)教材每章最后的小结。 文化因素如何影响测试人员和他们的团队成功的转变到敏捷开发。 1 在做出任何变化之前都应该考虑组织文化。 2 当整个组织重视质量的时候,测试人员可以容易地融入敏捷团队,但是具有“质量警察”思想的测试人员很难融入敏捷团队。 3 有些测试人员可能会在适应“整个团队”对质量负责的时候有困难,但是团队方式可以帮助克服文化差异。 1 要考虑团队结构的重要性 2 测试人员需要接触更大的测试人员社区来学习和实践新的想法。 3 整个团队在一个地点很重要。 4 在招聘时关注态度。 5 没有正确的测试人员-开发人员比例。 6 团队需要自组织,应确认并确认他们自己的问题,并寻找进步的方法。 7 如果团队在努力,管理层应该奖励促进团队交付业务价值的业绩,但不要惩罚个人。 8 测试人员可以使用敏捷原则来改进自己的技能并增加他们带给团队的价值。 正确的度量标准能够帮助团队运转正常以实现特定目标,并提供良好的投资回报。 度量标准应该是可见的,应提供必要的里程碑以供我们做出决定。 使用缺陷跟踪系统的原因包括便捷、用作知识库、用于跟踪。 缺陷跟踪系统被滥用作沟通工具,记录和跟踪不必要的缺陷是一种浪费。 所有工具,包括缺陷跟踪工具,需要整个团队使用,所以在选择工具时应考虑所有人的看法。测试策略是长期的总体测试方法,可以记录在静态文档中。测试计划应该对每个项目都是唯一的。 在简单地接受文档之前应考虑替代方案。例如,敏捷方法提倡小的增量开发、紧密协作,可

基于VMD开发工具的敏捷测试实施研究.doc

基于VMD开发工具的敏捷测试实施研究 摘要 P8_VMD可视化开发工具旨在代替传统的Eclipse,为P8平台应用开发人员提供一个可视化图形配置的操作环境。经过实践,传统的测试方法很难满足在VMD开发工具开发过程中,需求持续变化,模块功能不断迭代、版本变吏速度快的特点,为了进一步提高测试效率, 规范测试流程,充分利用开发工具开发过程特点,VMD测试小组将对比传统测试方法的不足,探索新的测试方法,基于敏捷测试理论进行测试实施,以满足当前开发过程中的测试需求。 本文通过介绍新职员赵筝在VMD小组的参与情况,结合敏捷测试的技术特点,深入探讨在vmd工具的开发过程中如何应用敏捷测试提高测试效率,其与传统测试的过程与结果的对比,以及详细的可行性分析。 关键词:VMD可视化开发工具、敏捷测试

目录 目录 1绪论 (2) 1.1研究背景 (2) 1.2研究意义 (2) 1.3研究内容与难点 (3) 1.4论文结构 (3) 2敏捷测试技术理论及工作流程 (4) 2.1敏捷测试介绍 (4) 2.1.1敏捷测试的概念 (4) 2.1.2与传统测试对比 (5) 2.2VMD开发工具与当前测试情况 (7) 2.2.1VMD工具架构 (7) 2.2.2VMD目标及使用 (7) 2.2.3VMD角色管理 (9) 3VMD测试实践总结 (9) 3.1VMD1.0版本测试情况介绍 (9) 3.2VMD1.0版本测试总结 (11) 4基于敏捷测试的VMD3.0版本测试分析 (12) 4.1VMD3.0版本的敏捷开发的背景 (12) 4.2依赖VMD开发的敏捷测试设计 (12) 5总结与展望 (16) 5.1 展望及改进建议 (16)

面试压力测试

如何做好面试压力 面试人通过提出生硬的不礼貌的问题故意使候选人感到不舒服,针对某一事项或问题做一连串的发问,打破沙锅问到底,直至无法回答。 由于同行竞争日趋激烈,企业越来越倾向于寻找能接受挑战、承担责任、抵抗压力的高素质人才,于是压力面试越来越多地被运用到招聘中。如何有效地使用这一面试工具,是业人力资源管理者面临的一大问题。本文介绍了如何营造压力面试氛围、如何设计压力面试问题、如何评价压力面试效果等,以期对企业人力资源的招聘方有所裨益。 一、压力面试概述 1.什么是压力面试 压力面试(stress interview)是指有意制造紧张,以了解求职者将如何面对工作压力。面试人通过提出生硬的、不礼貌的问题故意使候选人感到不舒服,针对某一事项或问题做连串的发问,打破沙锅问到底,直至无法回答。其目的是确定求职者对压力的承受能力、在压力前的应变能力和人际关系能力。 2.压力面试的作用 压力面试通常用于对谋求要承受较高心理压力的岗位人员的测试。测试时,面试官可能会突然问一些不礼貌、冒犯的问题,让被面试人员感到很突然,同时承受较大的心理压力。这种情况下,心里承受能力较弱的求职者的反应可能会较异常、甚至不能承受。而心理承受能力强的人员则表现较正常,能较好地应对。这样就可以判别出求职者的心理承受能力。 比如,一位顾客关系经理职位的候选人有礼貌地提到她在过去两年内从事了四项工作时,面试官可能告诉她,频繁的工作变换反映了不负责任和不成熟的行为。如果求职者对工作变换为什么是必要的做出合理的解释,就可以开始其他的话题。相若求职者表示出愤怒和不信任,就可以将它看作是在压力环境下承 受力弱的表现。另外,该方法也可以用来证实对一些信息的怀疑。因为,人在一些突发问题上的反应更真实、更客观。而在准备个人求职资料时会不自觉地、不同程度上美化自己,甚至造假。 3.压力面试的意义

web常用测试方法

一、输入框 1、字符型输入框: (1)字符型输入框:英文全角、英文半角、数字、空或者空格、特殊字符“~!@#¥%……&*?[]{}”特别要注意单引号和&符号。禁止直接输入特殊字符时,使用“粘贴、拷贝”功能尝试输入。 (2)长度检查:最小长度、最大长度、最小长度-1、最大长度+1、输入超工字符比如把整个文章拷贝过去。 (3)空格检查:输入的字符间有空格、字符前有空格、字符后有空格、字符前后有空 格 (4)多行文本框输入:允许回车换行、保存后再显示能够保存输入的格式、仅输入回 车换行,检查能否正确保存(若能,检查保存结果,若不能,查看是否有正常提示)、(5)安全性检查:输入特殊字符串 (null,NULL, ,javascript,,,<html>,<td>)、输入脚本函数(<script>alert("abc")</script>)、doucment.write("abc")、<b>hello</b>) 2、数值型输入框: (1)边界值:最大值、最小值、最大值+1、最小值-1 (2)位数:最小位数、最大位数、最小位数-1最大位数+1、输入超长值、输入整数(3)异常值、特殊字符:输入空白(NULL)、空格或 "~!@#$%^&*()_+{}|[]\:"<>?;',./?;:'-=等可能导致系统错误的字符、禁止直接输入特殊字符时,尝试使用粘贴拷贝查看是否能正常提交、word中的特殊功能,通过剪贴板 拷贝到输入框,分页符,分节符类似公式的上下标等、数值的特殊符号如∑,㏒,㏑,∏,+,-等、 输入负整数、负小数、分数、输入字母或汉字、小数(小数前0点舍去的情况,多个小数点的情况)、首位为0的数字如01、02、科学计数法是否支持1.0E2、全角数字与半角数字、数字与字母混合、16进制,8进制数值、货币型输入(允许小数点后面几位)、(4)安全性检查:不能直接输入就copy 3、日期型输入框: (1)合法性检查:(输入0日、1日、32日)、月输入[1、3、5、7、8、10、12]、日输入[31]、月输入[4、6、9、11]、日输入[30][31]、输入非闰年,月输入[2],日期输入[28、29]、输入闰年,月输入[2]、日期输入[29、30]、月输入[0、1、12、13] (2)异常值、特殊字符:输入空白或NULL、输入~!@#¥%……&*(){}[]等可能导致系统错误的字符 (3)安全性检查:不能直接输入,就copy,是否数据检验出错? 4、信息重复:在一些需要命名,且名字应该唯一的信息输入重复的名字或ID,看系统有没有处理,会否报错,重名包括是否区分大小写,以及在输入内容的前后输入空格,系统是否 作出正确处理. 二、搜索功能 若查询条件为输入框,则参考输入框对应类型的测试方法 1、功能实现:</p><h2>软件测试怎么测试 谈软件测试常用方法和测试流程</h2><p>摘要软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码的最终复审,是软件开发过程的重要组成部分,是软件质量保证的关键步骤。软件测试的方法可分为人工测试和机器测试,人工测试包括个人复查、走查和会审,机器测试可分为白盒测试和黑盒测试。软件测试虽然是一个独立的阶段,但在实际工作中,测试的流程主要包含单元测试、组装测试、确认测试、系统测试四个阶段。 关键词软件测试;白盒;黑盒;单元测试;组装测试;确认测试;系统测试 一、软件测试的常用方法 软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码的最终复审,是软件开发过程的重要组成部分,是软件质量保证的关键步骤。采用面向对象技术进行软件开发产生了两个结果一是开发出功能更强大更便于用户使用的软件产品,二是生成规模庞大的程序代码和文档,这也必然导致更大规模的软件测试和维护工作。因此,规范化的软件测试势在必行。规范化不只是测试的需求(有效代码量、结构/逻辑的复杂性、高性能/高精确性/高可靠性需求)和消耗资源(人力/时间/测试频度)规模化,更要求在面对规模庞大的软件测试需求,在合理的资源消耗基础上,实施有效的测试。 下图描述的是常用的一些测试方法</p><p>1、人工测试的方法 (1)个人复查 个人复查是指程序员自行设计测试用例,对源代码、详细设计进行仔细检查,并记录错误、不足之处等。个人复查主要包括检查变量的正确性、检查标号的正确性、检查子程序、宏、函数、常量检查、标准检查、风格检查、比较控制流、选择、激活路径、对照详细说明书,阅读源代码和补充文档等方面的测试内容。 (2)走查 走查是指测试人员先阅读相应的文档和源代码,然后人工将测试数据输入被测试程序,并在纸上跟踪监视程序的执行情况,人工沿着程序的逻辑走查运行一遍,跟踪走查运行的进程来发现程序的错误。走查的具体测试内容包括模块特性、模块接口、模块的对外输入或输出、局部数据结构、数据计算错误、控制流错误、处理出错和边界测试等方面。 (3)会审 会审是指测试人员在会审前仔细阅读软件的有关资料,根据错误类型清单(根据以往的经验、对源程序的估计等,并在以后测试中给以丰富补充)填写检测表,提出根据错误类型要提出的问题。会审时,由程序设计人员讲解程序的设计方法,</p><h2>CAD测量连续线段长度的简单办法</h2><p>测量CAD图中多条线段长度的简单办法 由于在Cad中没有连续测量线段长度的命令,多数人都是利用查询直线命令,将线段一段一段的测量再通过计算器相加,很是麻烦,现介绍两种更为简单实用的多线段测量方法。 1.利用PL命令测量多条线段长度: 使用多段线(pline)命令快捷健pl,连续在测量点上画线,再用(li st)快捷健li命令点这条线确认就会出现该线的属性,可以看到该线段的总长度和该线段区域的面积。 2.利用PE命令测量线段多条线段的长度: 输入:PE回车确认,M回车确认,连续点选要测量的线段后回车确认,Y回车确认,J(闭合)回车二次确认,若线段出现闭合需要再输入O 将闭合打开。此时所有欲测量的线段已经连接为一条多线段,再输入 li(list),就可以看到线段的总长度和该线段区域的面积了。</p><p>附录:需要熟记的CAD常用快捷键 一、常用功能键 F1: 获取帮助 F2: 实现作图窗和文本窗口的切换 F3: 控制是否实现对象自动捕捉 F4: 数字化仪控制 F5: 等轴测平面切换 F6: 控制状态行上坐标的显示方式 F7: 栅格显示模式控制 F8: 正交模式控制 F9: 栅格捕捉模式控制 F10: 极轴模式控制 F11: 对象追踪式控制 二、常用字母快捷键 A: 绘圆弧 B: 定义块 C: 画圆 D: 尺寸资源管理器 E: 删除 F: 倒圆角 G: 对相组合 H: 填充 I: 插入 S: 拉伸 T: 文本输入</p><p>W: 定义块并保存到硬盘中 L: 直线 M: 移动 X: 炸开 V: 设置当前坐标 U: 恢复上一次操做 O: 偏移 P: 移动 Z: 缩放 AA: 测量区域和周长(area) AL: 对齐(align) AR: 阵列(array) AP: 加载*lsp程系 AV: 打开视图对话框(dsviewer) SE: 打开对相自动捕捉对话框ST: 打开字体设置对话框(style) SO: 绘制二围面( 2d solid) SP: 拼音的校核(spell) SC: 缩放比例 (scale) SN: 栅格捕捉模式设置(snap) DT: 文本的设置(dtext) DI: 测量两点间的距离 OI:插入外部对相 三、常用CTRL快捷键 Ctrl+A:全选 Ctrl+B: 栅格捕捉模式控制(F9)</p><h2>敏捷开发测试要求规范V0.1</h2><p>敏捷开发测试规范(试行)</p><p>2012年9月 版本记录 目录 1 概述 (4) 1.1 编写目的 (4) 1.2 读者对象 (4) 1.3 术语定义 (5) 2 敏捷测试流程 (5) 2.1 需求验证 (6) 2.2 用例设计 (6) 2.3 用例审核与维护 ................................................................................... 错误!未定义书签。</p><p>2.5 测试实施运行 (7) 2.6 版本控制 (8) 2.7 需求变更 (9) 2.8 迭代末期“bug大扫除” (9) 3 敏捷测试方法与策略 (10) 3.1 持续测试、持续反馈 (10) 3.2 单元测试方法策略 (10) 3.3 功能测试方法策略 (11) 3.4 性能测试方法 (12) 3.5 系统测试策略 (12) 3.6 测试驱动研发 (13) 3.7 持续集成测试 (14) 4 终端移动互联网测试 (15) 4.1 用户体验测试 (15) 4.2 平台兼容性测试 (16) 4.3 不同网络环境下测试 (16) 4.4 多事务并发测试 (17) 4.5 安装、卸载测试 (17) 5 测试工具和环境 (18) 5.1 单元测试工具 (18) 5.2 功能回归测试工具 (19)</p><p>5.4 持续集成测试环境 (19) 6 测试人员要求 (19) 6.1 人力需求 (19) 6.2 测试人员能力要求 (20) 7 附录 (21) 1 概述 1.1 编写目的 ICT自主开发产品拟采用敏捷开发模式,为规范ICT支撑中心项目敏捷测试流程,明确敏捷开发模式下的术语定义,明确敏捷测试方法与策略,明确移动互联网测试特有的测试内容,确定敏捷开发模式下用到的测试工具以及测试环境,以及初步确定敏捷测试人力需求计算方式与对人员能力要求,特制定本规范。本规范适用于采用敏捷开发模式下的所有自主开发移动互联网产品。 1.2 读者对象 本规范读者对象为软件开发项目管理者、项目经理、测试经理、开发经理、开发组、测</p><h2>综合实践测试总结及反思</h2><p>综合实践测试总结及反思 一、试题分析 1、题型结构稳定,题量,难度适中。 本次试题从题型结构上看,题型为:判断,简答,实话实说。题量,难度基本适中。 2、在注重基础知识和基本技能的考查同时,又体现了综合实践活动课程综合性、实践性、开放性、自主性的特点。 本次试题中判断题,主要以基础知识为主,但大多数以活题的形式出现。这些题型均来自课本,主要考察了学生对所学知识的理解应用能力。第四个简答题是一道调查问卷题,重在考查学生对综合实践课活动的研究情况。 3、注重理论联系实际,体现“育人”目的 综合实践活动是基于学生的直接经验、密切联系学生自身生活和社会生活、体现对知识的综合运用的课程形态。这是一种以学生的经验与生活为核心的实践性课程。本次试卷很多题目就着重联系生活实际,检测学生的综合应用能力。 二、卷面分析及对今后的教学的思考 1、深入学习课标,增强新的教学理念 在今后的教学中,要充分强调综合实践课在素质教学中的作用,积极改进教学方法,努力探索适应当地情况的教学模式。 2、在教学过程中,注重学生的能力培养</p><p>本次试卷内容涉及范围广,题量难易适中。但学生对基础知识掌握不够,不能灵活应对。这就要求我在今后的教学过程中,注重知识传授的同时,更应注重学生的能力培养。 3、培养学生的创新精神 综合实践活动会给教师的教法带来新的变革,更会给学生的学法带来新的变革。今后,在教学当中要注重培养学生的灵活性和敏捷性,要理论联系实际,培养学生的创新精神。 不开口,没有人知道你想要什么;不去做,任何想法都只在脑海里游泳;不迈出脚步,永远找不到你前进的方向。其实你很强,只是懒惰帮了你倒忙。</p><h2>软件性能测试岗位常见面试题</h2><p>软件性能测试岗位常见面试题 一、基础篇 1、较为完整的性能测试的流程 一个完整的性能测试流程 2、性能测试的基础理论、常见术语 性能测试常见术语浅析 3、性能测试模型、类型 常见的性能测试类型、性能测试模型 4、HTTP、TCP协议相关知识 HTTP协议入门系列 5、连接池、线程相关知识 连接池和线程 二、工具篇</p><p>①、Jmeter的工作原理是什么? ②、常用的元件、插件有哪些?各自的作用是什么? ③、几个典型的场景,如何基于jmeter设计测试脚本? 比如:参数化、关联、控制TPS、接口加密验签、阶梯式加压、集合点、检查点等; ④、是否会二次开发?如果会,怎么二次开发的(介绍大概过程和原因)? 2、Loadrunner 3、其他开源/商业性能测试工具 比如:Ngrinder、Locust、Wrk、Artillery等; 4、前端、服务器、数据库性能监测工具 三、系统架构篇 1、服务集群 2、负载均衡 负载均衡原理、实现方式 3、容量规划 4、缓存应用 缓存原理、缓存优点、缓存命中、缓存穿透、多层缓存 4、分布式框架 分布式的特点、面临的挑战:CAP理论(数据一致性、服务可用性、分区容错性) 5、全链路压测 四、服务器&中间件篇 1、JVM JVM原理、启动参数配置、堆栈原理、垃圾回收原理、OOM原因和表现 2、Tomcat 配置、使用方法、启动参数配置</p><p>配置、使用方法 4、Dubbo 服务注册、消息队列 5、RabbitMQ/Kafka 本身的特点、生产者、消费者如何管理 五、数据库篇 1、锁 2、索引 3、读写分离 4、分库分表 六、方案篇 1、设计性能测试方案需要考虑哪些问题? 时间成本、人力成本、环境&脚本可复用性、实现难度 2、针对某些情况,你会如何设计、优化方案? 七、案例篇 1、如何测试MQ? 2、压测中TPS上不去的原因分析? 3、测试环境和生产环境服务器配比如何选择? 服务器配置版本保持一致,容量测试后等量代换、考虑边际递减效应、容灾方案4、发现瓶颈,如何分析? 自上而下,从局部到整体,瓶颈分析粒度</p><h2>相变点测试方法</h2><p>TC11钛合金相变点的测定与分析 采用计算法、差示扫描量热法和连续升温金相法3种手段计算和测定了TC11两相钛合金(α+β)/β相变点。计算法由于各元素及杂质元素含量对相变点的影响值是在一个含量范围内的计算值,因此计算的相变点与实测值是接近的;差示扫描量热法由于钛合金和坩埚的化学反应,产生相变滞后现象,导致所测相变温度过高;而连续升温金相法由于淬火温度间隔选择较小,测量的准确性较高,因此更能准确测量TC11钛合金相变温度。 采用sTA449c 一同步热分析仪测量钛及钛合金相变温度,其参比样品为粉末状23A l O ,升温速度为10℃1min -?;保护氩气流量为45 m1 1min -?。测试前,应先在两个样品坩埚内放人等量23A l O 粉末,测定仪器基线符合规定后,即可开始测定正式样品DSC 曲线。 采用连续升温金相法测定相变温度。试样尺寸为10 mm ×10 mm ×10 mm ;在加热试样时为了保证热透,保温时间为60 min 。淬火温度选择范围为990~1040℃,淬火温度间隔为10℃,然后将试样水淬。其中间转移速度不超过2S 。将淬火后的试样制成金相观察试样,在放大倍数为500倍的光学显微镜观察试样组织变化。 2.1计算法测定相变温度 根据各元素对钛相变温度的影响推算出相变点的公式为: /T αββ+相变点 =885℃+Σ各元素含量x 该元素对相变点的影响 (1) 式中885℃为计算时纯钛的相变点。 2.2差示扫描量热法测定相变温度 差示扫描量热法测定钛及钛合金相变温度是借助于同步热分析仪将待测试样与另一参比试样在完全相同的条件下加热(或冷却),根据两者温差与温度或时间的变化关系(DSC 曲线),对物质状态进行判定。图2为差示扫描量热法测得TC11钛合金相变点的DSC 曲线。对于α+β型及亚稳定β型钛合金,(α+β)→β转变是一个持续过程,在DSC 曲线上,相变完成表现为基线迁移;同时,由于钛有极高的化学活性,在高温下与氧、氮、坩埚(23A l O )等物质反应,在DSC 曲线上产生不同的峰值,从而使分析判定难度加大。 对于Tcll 钛合金而言,α-Ti →β-Ti 转变是一个吸热反应。当温度在1060℃时,峰值明显。表明相变温度在1060℃左右。由于TCll 钛合金与坩埚(23A l O )化学反应放热,并且测量过程中不断加热,导致热滞后现象产生,推迟了α相向β相转 变,使差示扫描量热法测得的相变温度过高。 2.3连续升温金相法测定相变温度 首先选择淬火温度范围,确定淬火温度间隔为10℃。加热保温然后水淬。最后观察不同淬火温度的试样在光学显微镜下的组织变化。将仍残留初生α相的淬火温度和与该温度最邻近、初生α相消失的温度之间的平均温度确定为相变温度。 在淬火温度为1030℃时,初生α相仍然存在;当淬火温度达到1040℃时,在试样中已看不到初生α相,观察到的全部是针状的马氏体,表明淬火温度已经达到了相变点温度。因此判定Tc11钛合金的相变点在1030~1040℃之间,其相变点的平</p><h2>实例详解敏捷测试实践</h2><p>实例详解敏捷测试 第一部分:敏捷软件开发简介 敏捷软件开发(Agile Software Development)初起于九十年代中期。最早是为了与传统的瀑布软件开发模式(waterfall model)相比较,所以当时的方法叫做轻量级方法(Lightweight methods)。二十世纪初,17 位该方法的倡导者建立了敏捷联盟(Agile Alliance),并将该软件开发方法命名为敏捷软件开发过程。 敏捷联盟在成立之初总结了四条基本的价值原则: 1.人员交流重于过程与工具(Individuals and interactions over processes and tools) 2.软件产品重于长篇大论(Working software over comprehensive documentation) 3.客户协作重于合同谈判(Customer collaboration over contract negotiation) 4.随机应变重于循规蹈矩(Responding to change over following a plan) 基于这四点原则,敏捷软件开发有着自己独特的流程(参见图1)。 图 1. 敏捷软件开发流程 整个过程中夹杂了很多在敏捷开发前己经出现的软件开发方法,包括极限编程(Extreme Programming,1996)、Scrum(1986)、特征驱动开发(Feature Driven Development),测试驱动开发(Test Driven Development)等。这些方法在敏捷软件开发流程的各个阶段都有充分的体现和应用。 例如,Scrum 主要着重于项目管理,团队中的项目经理(Scrum master)需要在每个客户需求到来的时候制定Sprint 的周期,定义每个Sprint 的目标、分派任务、进行监督、最后总结得失并开始计划新的Sprint。</p><h2>自动连续测试的有效性及自动测试系统Word文档</h2><p>自动连续测试的有效性及自动测试系统 电子设备在提高功能和性能的同时也向小型化、轻量化迅速发展。这就要求在尽量缩短产品开发时间的同时,必须确保产品的可靠性及安全性。为了达到这个目的,就必须要更有效、更正确地实施环境试验。爱斯佩克公司为了满足这些要求,将环境试验与电气特性测试相结合,设计开发了能够通过在环境试验条件下对试样特性连续测试,实时把握试料特性和判定异常状况的各种自动测试系统。在此对自动测试系统的有效性及其部分构成作以下介绍。 1. 前言 为使电子设备小型轻量,电子行业正致力于半导体IC封装件及电子零部件的微型化。同时,在封装领域也在开发能够使高密度封装成为可能的合成电路板,研究针对封装件的连接方法和结合材料。再者为提高产品市场竞争力,不仅在性能、成本上,而且还必须考虑环境保护以及现代社会各种限制因素,诸如要采用无铅焊接技术、遵守焊剂VOCS(Volatile Organnic Compounds)规定、开发环保型印刷电路板等。于是开发课题增多,既要缩短开发时间,又要确保产品可靠性就变得越来越重要了。在这种情况下,势必需要使用对可靠性及安全性能够作出高效、准确的测试手段。 本公司在开发研制自动测试系统时,将其与通常用在性能确认和可靠性评价的环境试验装置相组合,实现了在进行环境试验的同时,又能够连续自动测试试样电气特性;通过对实时数据的抽样,发现其中的故障及不良状况。下面将论述在试验环境中连续自动测试试样的电气特性的有效性,并结合具体实例介绍这一测试系统。 2.测试评价的最新要求为缩短开发时间,确保这些高性能且复杂化产品的可靠性,就必须考虑比现在更有效且更准确的评价方法。如图(略)所示。 2-1如何进行省力高效的试验评价 为了高效率地进行评价工作,首先应缩短测试评价所需的时间。其次是缩短试验作业工序所需的时间,以及通过重新审视评价的判定方法以缩短试验时间。例如在寿命试验的情况下,最普通的评价方法是根据每隔一定时间所测定的数据,来判断故障情况以及试样间的优劣状况。这时,用于判断的试验数据的测试间隔越短,对寿命以及异常的判断也就越快,同时试验时间也能缩短。而且这时若能够做加速寿命试验,那么试验时间的短缩效果就更明显了。在后面,我们将对试验作业工序的省力化,通过连续测试而得来的</p><h2>敏捷开发测试规范V0.1</h2><p>敏捷开发测试规范(试行) 2012年9月</p><p>目录 1 概述 (3) 1.1 编写目的 (3) 1.2 读者对象 (3) 1.3 术语定义 (3) 2 敏捷测试流程 (3) 2.1 需求验证 (4) 2.2 用例设计 (4) 2.3 用例审核与维护.............................................................................. 错误!未定义书签。 2.4 测试计划 (4) 2.5 测试实施运行 (4) 2.6 版本控制 (5) 2.7 需求变更 (6) 2.8 迭代末期“bug大扫除” (6) 3 敏捷测试方法与策略 (7) 3.1 持续测试、持续反馈 (7) 3.2 单元测试方法策略 (7) 3.3 功能测试方法策略 (7) 3.4 性能测试方法 (8) 3.5 系统测试策略 (9) 3.6 测试驱动研发 (9) 3.7 持续集成测试 (10) 4 终端移动互联网测试 (11) 4.1 用户体验测试 (11) 4.2 平台兼容性测试 (12) 4.3 不同网络环境下测试 (12) 4.4 多事务并发测试 (12) 4.5 安装、卸载测试 (13) 5 测试工具和环境 (13) 5.1 单元测试工具 (13) 5.2 功能回归测试工具 (14) 5.3 性能测试工具 (14) 5.4 持续集成测试环境 (14) 6 测试人员要求 (14) 6.1 人力需求 (14) 6.2 测试人员能力要求 (14) 7 附录 (16)</p><p>1 概述 1.1 编写目的 ICT自主开发产品拟采用敏捷开发模式,为规范ICT支撑中心项目敏捷测试流程,明确敏捷开发模式下的术语定义,明确敏捷测试方法与策略,明确移动互联网测试特有的测试内容,确定敏捷开发模式下用到的测试工具以及测试环境,以及初步确定敏捷测试人力需求计算方式与对人员能力要求,特制定本规范。本规范适用于采用敏捷开发模式下的所有自主开发移动互联网产品。 1.2 读者对象 本规范读者对象为软件开发项目管理者、项目经理、测试经理、开发经理、开发组、测试组所有人员。 1.3 术语定义 敏捷开发模式下的几种重要角色、产品文档及过程会议术语如表1-1: 表1-1 2 敏捷测试流程</p><h2>性能测试方案</h2><p>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分钟,获取平均响应时间和吞吐量 序号功能名称并发用户总数比例持续时间操作间隔循环间隔</p><h2>通用的功能测试方法</h2><p>一 输入框 1字符型输入框: (1)字符型输入框:英文全角、英文半角、数字、空或者空格、特殊字符“~!@#¥%……&*?[]{}”特别要注意单引号和&符号。禁止直接输入特殊字符时,使用“粘贴、拷贝”功能尝试 输入。 (2)长度检查:最小长度、最大长度、最小长度-1、最大长度+1、输入超工字符比如把整个文章拷贝过去。 (3)空格检查:输入的字符间有空格、字符前有空格、字符后有空格、字符前后有空格 (4)多行文本框输入:允许回车换行、保存后再显示能够保存输入的格式、仅输入回车换行,检查能否正确保存(若能,检查保存结果,若不能,查看是否有正常提示)、 (5)安全性检查:输入特殊字符串 (null,NULL, ,javascript,<script>,</script>,<title>,<html>,<td>)、输入脚本函数(<script>alert("abc")</script>)、doucment.write("abc")、<b>hello</b>) 2数值型输入框: (1)边界值:最大值、最小值、最大值+1、最小值-1 (2)位数:最小位数、最大位数、最小位数-1最大位数+1、输入超长值、输入整数 (3)异常值、特殊字符:输入空白(NULL)、空格或"~!@#$%^&*()_+{}|[]\:"<>?;',./?;:'-=等可能导致系统错误的字符、禁止直接输入特殊字符时,尝试使用粘贴拷贝查看是否能正常提交、word中的特殊功能,通过剪贴板拷贝到输入框,分页符,分节符类似公式的上下标 等、数值的特殊符号如∑,㏒,㏑,∏,+,-等、 输入负整数、负小数、分数、输入字母或汉字、小数(小数前0点舍去的情况,多个小数点的情况)、首位为0的数字如01、02、科学计数法是否支持1.0E2、全角数字与半角数字、数字与字母混合、16进制,8进制数值、货币型输入(允许小数点后面几位)、 (4)安全性检查:不能直接输入就copy 3日期型输入框: (1)合法性检查:(输入0日、1日、32日)、月输入[1、3、5、7、8、10、12]、日输入[31]、月输入[4、6、9、11]、日输入[30][31]、输入非闰年,月输入[2],日期输入[28、29]、输入闰年,月输入[2]、日期输入[29、30]、月输入[0、1、12、13]</p></div> <div class="rtopicdocs"> <div class="coltitle">相关主题</div> <div class="relatedtopic"> <div id="tabs-section" class="tabs"> <ul class="tab-head"> <li id="12433792"><a href="/topic/12433792/" target="_blank">敏捷测试实践</a></li> <li id="10261846"><a href="/topic/10261846/" target="_blank">敏捷开发测试</a></li> <li id="7401463"><a href="/topic/7401463/" target="_blank">敏捷开发与敏捷测试</a></li> <li id="12668043"><a href="/topic/12668043/" target="_blank">性能测试挑战</a></li> <li id="17535367"><a href="/topic/17535367/" target="_blank">高效测试方法</a></li> <li id="3698032"><a href="/topic/3698032/" target="_blank">连续测试方法</a></li> </ul> </div> </div> </div> </div> <div id="rightcol" class="viewcol"> <div class="coltitle">相关文档</div> <ul class="lista"> <li><a href="/doc/9811162265.html" target="_blank">敏捷开发学习总结</a></li> <li><a href="/doc/ce2502789.html" target="_blank">数字化转型背景下的敏捷测试</a></li> <li><a href="/doc/1410431851.html" target="_blank">敏捷测试的方法和实践</a></li> <li><a href="/doc/4d14462819.html" target="_blank">敏捷开发中的敏捷测试《敏捷测试全攻略》</a></li> <li><a href="/doc/8b5506601.html" target="_blank">基于敏捷开发的大型软件自动化测试架构agiletesting</a></li> <li><a href="/doc/ae15210292.html" target="_blank">敏捷测试工程师的十条法则</a></li> <li><a href="/doc/e41253049.html" target="_blank">敏捷软件测试ppt课件</a></li> <li><a href="/doc/2410391646.html" target="_blank">敏捷测试中的工具实现</a></li> <li><a href="/doc/7815296566.html" target="_blank">敏捷开发与敏捷测试</a></li> <li><a href="/doc/9f8872862.html" target="_blank">敏捷测试精品PPT课件</a></li> <li><a href="/doc/c0293902.html" target="_blank">敏捷开发文库-敏捷实践(四)-荷兰铁路公司的分布式Scrum开发(文档、需求和测试)</a></li> <li><a href="/doc/0e19097234.html" target="_blank">基于VMD开发工具的敏捷测试实施研究.doc</a></li> <li><a href="/doc/462703069.html" target="_blank">敏捷实践经验总结</a></li> <li><a href="/doc/7817739743.html" target="_blank">敏捷测试感悟(转)</a></li> <li><a href="/doc/aa12887955.html" target="_blank">敏捷开发总结分析解析</a></li> <li><a href="/doc/d014975074.html" target="_blank">敏捷测试实践 PPT</a></li> <li><a href="/doc/212420873.html" target="_blank">敏捷测试</a></li> <li><a href="/doc/638402141.html" target="_blank">《敏捷软件开发 原则、模式与实践》一次编程实践</a></li> <li><a href="/doc/9d8661576.html" target="_blank">敏捷的Web UI自动化测试框架</a></li> <li><a href="/doc/b916098830.html" target="_blank">敏捷测试</a></li> </ul> <div class="coltitle">最新文档</div> <ul class="lista"> <li><a href="/doc/c319097547.html" target="_blank">小河马拔牙教案小河马看牙医教案</a></li> <li><a href="/doc/b119158717.html" target="_blank">小班健康优质课教案《老虎拔牙》</a></li> <li><a href="/doc/a419240279.html" target="_blank">(优秀课件)-学前班美术优秀说课稿及反思 第5课《老虎拔牙》教案(全册)</a></li> <li><a href="/doc/a019240280.html" target="_blank">(参考标准)-二年级第二课时教案《老虎拔牙》(第二课时)教案</a></li> <li><a href="/doc/a419240281.html" target="_blank">(优质课件)-学前班音乐公开课教案 第4课《老虎拔牙》教案1</a></li> <li><a href="/doc/9119183997.html" target="_blank">幼儿园小班教案《小河马拔牙》含反思</a></li> <li><a href="/doc/3319258396.html" target="_blank">(课件精选)-学前班音乐公开课教案 第4课《老虎拔牙》教案(开学第一课)</a></li> <li><a href="/doc/0419509260.html" target="_blank">幼儿园大班教案《小熊拔牙》含反思</a></li> <li><a href="/doc/ff19272943.html" target="_blank">个人入党自传</a></li> <li><a href="/doc/3a19258395.html" target="_blank">入党个人自传共5篇</a></li> <li><a href="/doc/2419396627.html" target="_blank">大学入党自传(精选多篇最新)</a></li> <li><a href="/doc/c419097546.html" target="_blank">入党积极分子个人自传范文3篇</a></li> <li><a href="/doc/6019034788.html" target="_blank">入党积极分子入党自传范文3篇</a></li> <li><a href="/doc/f019272942.html" target="_blank">英语衡水书法课教案</a></li> <li><a href="/doc/eb19065695.html" target="_blank">浅谈小学英语教材的书写教学</a></li> <li><a href="/doc/cf19097545.html" target="_blank">英语字母教案</a></li> <li><a href="/doc/b119158716.html" target="_blank">教学法在英文中的三种说法</a></li> <li><a href="/doc/a619240278.html" target="_blank">英语字母的书写方法分享</a></li> <li><a href="/doc/4a19231933.html" target="_blank">英语写作的教学方法</a></li> <li><a href="/doc/2019396626.html" target="_blank">小学英语几种学法指导</a></li> </ul> </div> </div> <script> var sdocid = "fec2a749f5335a8103d22019"; </script> <div class="clearfloat"></div> <div id="footer"> <div class="ft_info"> <a href="https://beian.miit.gov.cn">闽ICP备16038512号-3</a> <a href="/tousu.html" target="_blank">侵权投诉</a>  ©2013-2023 360文档中心,www.360docs.net | <a target="_blank" href="/sitemap.html">站点地图</a><br /> 本站资源均为网友上传分享,本站仅负责收集和整理,有任何问题请在对应网页下方投诉通道反馈 </div> <script type="text/javascript">foot()</script> </div> </body> </html>