﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>IT博客-点滴-文章分类-测试文章收藏夹</title><link>http://www.cnitblog.com/charester/category/3438.html</link><description>

</description><language>zh-cn</language><lastBuildDate>Tue, 27 Sep 2011 05:12:03 GMT</lastBuildDate><pubDate>Tue, 27 Sep 2011 05:12:03 GMT</pubDate><ttl>60</ttl><item><title>软件测试 从零开始</title><link>http://www.cnitblog.com/charester/articles/16967.html</link><dc:creator>天空</dc:creator><author>天空</author><pubDate>Sun, 17 Sep 2006 13:14:00 GMT</pubDate><guid>http://www.cnitblog.com/charester/articles/16967.html</guid><wfw:comment>http://www.cnitblog.com/charester/comments/16967.html</wfw:comment><comments>http://www.cnitblog.com/charester/articles/16967.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/charester/comments/commentRss/16967.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/charester/services/trackbacks/16967.html</trackback:ping><description><![CDATA[【摘要】本文面向软件测试新手，从测试前的准备工作、测试需求收集、测试用例设计、测试用例执行、测试结果分析几个方面给出建议和方法。鉴于国内的软件开发、测试不规范的现状，本文为软件测试新手提供了若干个软件测试的关注点。<br />【关键词】软件测试、测试用例、测试需求、测试结果分析 <br />引言 <br />几年前，从学校毕业后，第一份工作就是软件测试。那时候，国内的软件企业大多对软件测试还没有什么概念，书店里除了郑人杰编写的《计算机软件测试技术》之外，几乎没有其它的软件测试相关书籍，软件测试仅仅在软件工程的教材中作为一个章节列出来，因此，我对软件测试一无所知。不过，在正式走上工作岗位之前，公司提供了为期两周的系统的软件测试技术专题培训，对接下来的软件测试工作有很大的指导意义。现在，我继续从事软件测试的培训与咨询服务，在这个过程中，亲眼目睹了很多软件测试新手面对的困惑，他们初涉软件测试行业，没有接受系统的培训，对软件测试一无所知，既不知道该测试什么，也不知道如何开始测试。下面针对上述情况，给出若干解决办法。 <br />•  测试准备工作 <br />在测试工作伊始，软件测试工程师应该搞清楚软件测试工作的目的是什么。如果你把这个问题提给项目经理，他往往会这样回答： “ 发现我们产品里面的所有 BUG ，这就是你的工作目的 ” 。作为一名软件测试新手，如何才能发现所有的 BUG ？如何开始测试工作？即便面对的是一个很小的软件项目，测试需要考虑的问题也是方方面面的，包括硬件环境、操作系统、产品的软件配置环境、产品相关的业务流程、用户的并发容量等等。该从何处下手呢？<br />•  向有经验的测试人员学习 <br />如果你进入的是一家运作规范的软件公司，有独立的软件测试部门、规范的软件测试流程、软件测试技术有一定的积累，那么，恭喜你！你可以请求测试经理委派有经验的测试人员作为你工作上的业务导师，由他列出软件测试技术相关书籍目录、软件测试流程相关文档目录、产品业务相关的文档目录，在业务导师的指导下逐步熟悉软件测试的相关工作。其实，在很多运作规范的软件公司，已经把上述的师父带徒弟的方式固化到流程中。 <br />如果你进入的是一个软件测试一片空白的软件企业，那么，也恭喜你！你可以在这里开创一片自己的软件测试事业，当然，前提是老板确实认识到软件测试的重要性，实实在在需要提高产品的质量。这时候，可以到国内的软件测试论坛和相关网站上寻找软件测试资源，这种情况下，自学能力和对技术的悟性就至关重要了。 <br />•  阅读软件测试的相关书籍 <br />现在，中文版的软件测试书籍越来越多，有的是国人自己写的，有的是翻译国外经典之作。可以到 <a href="http://www.chinapub.com/" target="_blank">www.chinapub.com</a> 或者 <a href="http://www.cnforyou.com/" target="_blank">www.cnforyou.com</a> 等网络购书的站点查找软件测试相关的书籍。目前，从国外引入的软件测试书籍有很多经典之作，但是，翻译成中文后，翻译质量对阅读效果有很大的影响。 <br />•  走读缺陷跟踪库中的问题报告单 <br />如果您所在的公司已经有软件缺陷跟踪库了，无论采用的是商用工具，如 ClearQuest 、 TestDirecter 等工具，还是采用的 Bugzilla 、 Mantis 等开源工具，这都无关紧要，缺陷跟踪库中的缺陷报告单才是有价值的。缺陷跟踪库中的问题报告单是软件测试工程师工作绩效的集中体现，同时也是软件产品问题的集中体现。一般来说，缺陷报告单中最关键的几个部分包括：第一部分是发现缺陷的环境，包括软件环境、硬件环境等；第二部分是缺陷的基本描述；第三部分是开发人员对缺陷的解决方法。通过对上述缺陷报告单的三个部分作仔细分析，不知不觉你已经吸收了其他软件测试人员的工作经验，并掌握了软件产品常见的基本问题。这是迅速提高软件测试经验的好方法。 <br />•  走读相关产品的历史测试用例 <br />如果你所在的公司有测试用例管理系统，那么，走读相关产品的软件测试用例是迅速提高测试用例设计水平的一条捷径。走读测试用例也是有技巧的。测试用例写作一般会包括测试用例项和根据测试用例项细化的测试用例，下面举例说明。 “ 测试用户登录的功能 ” 是一个测试项，该测试项的目的是测试用户登录功能是否正确，是否能够完成正常的登录功能，是否能够对非法用户名和密码做异常处理等等。因此，根据该用例项，可以设计出若干个测试用例，大多数情况下，测试用例项和测试用例是一对多的关系。 <br />通过走读测试用例项目，你可以掌握应该从哪些功能点着手未来的测试工作；通过走读软件测试用例，你可以了解如何根据被测试的功能点开展软件测试用例的设计工作，包括如何确定测试用例的输入、测试用例的操作步骤和测试用例的输出结果等。 <br />总之，走读其他软件测试人员设计的优秀软件测试用例，是提高自身用例设计水平的好方法。 <br />•  学习产品相关的业务知识 <br />软件测试人员不仅要掌握软件测试技术相关知识，对产品相关的业务知识也要学习。这很好理解，如果从事财务软件的测试工作，一定要学习财务知识；如果从事通讯产品测试工作，那么相关的通讯理论知识也是必须的；如果从事银行软件的测试，银行的业务流程也是不可或缺的知识点。 <br />因此，在学习软件测试技术的同时，千万不要忽略产品相关业务知识的学习。如果你是一个软件测试技术专家，但是对产品业务知识一无所知，那么也只能测试出来纯粹的软件缺陷，而面对眼前出现的产品业务相关的缺陷，很可能是视而不见，如此这般，软件测试的效果会大打折扣。 <br />•  识别测试需求 <br />识别测试需求是软件测试的第一步。如果开发人员能够提供完整的需求文档和接口文档，那固然好。可以根据需求文档中描述的每个功能项目的输入、处理过程和输出，来设计测试用例。如果开发人员没有提供软件需求文档，那该如何是好？下面给出几个有效的方法： <br />•  主动获取需求 <br />开发人员通常不会更好地考虑软件测试，如果没有开发流程的强制规定，他们通常是不愿意提供任何开发文档，即便有强制规定，需求文档也未必能够真正指导软件系统测试工作。因此，需要测试人员发挥主观能动性，与相关的软件开发项目经理和软件开发人员保持沟通，了解软件实现的主要功能是什么，并记录得收集到的信息。一般来说，开发人员即便没有提供相关需求文档，也会保存一些简单的过程文档，主动向开发人员索要这些文档，可以作为测试的参考。此外，可以与公司的技术支持人员交流，技术支持人员是最贴近用户的人，因此，通过交流可以获取第一手的用户使用感受，在测试的过程中会更加贴近用户。 <br />当拿到相关的资料后，从哪些方面分析需求？如何与开发人员交流需求？其实，只要把握需求分析的几个关键的点就可以解决问题：输入、处理过程、输出、性能要求、运行环境，下面针对每一个项目逐一分析： <br />软件输入： 与该需求相关的一切可能输入，可以从这几方面考虑，输入来源、输入参数的数量、输入参数的度量单位、输入参数的时间要求、输入参数的精度和输入参数的有效输入范围。在测试用例设计中，这部分内容作为测试用例输入的依据。 <br />处理过程： 描述对输入数据所执行的所有操作和如何获得输出的过程。测试人员了解处理过程即可，在测试过程中发现 BUG 时候，如果对处理过程了解的深入，对定位问题根源有很大的帮助。 <br />软件输出： 描述每个需求的输出结果，包括输出的位置（如计算机显示器、打印机，文件），输出参数的数量、输出参数的度量单位、输出参数的时序、输出参数精确度、输出参数的有效输出范围、错误消息。在测试用例设计中，这部分内容作为测试用例的预期输出。 <br />性能要求： 与该需求相关的性能要求，比如 “ 插入 ATM 取款卡后， 3 秒钟内弹出提示用户取款的图形界面 ” 。 3 秒钟这一限制，就是对需求的基本性能要求。 <br />运行环境： 软件的运行所需的环境，包括硬件平台的要求、操作系统的要求、数据库的要求，以及其它相关支撑软件的要求。 <br />•  确认需求的优先级 <br />确认需求的优先级是很必要的，如果在产品进度比较紧的情况下，测试人员可以考虑优先测试优先级高的需求项，如果进度允许，那么在测试优先级低的需求项，如果进度不允许，那么就放弃测试优先级低的需求项。如果软件公司有规范的流程支撑，开发人员在提供软件需求文档的时候，应该在文档中确定需求的优先级。但是，如果开发人员连基本的软件需求文档都没有提供，又怎能指望他们确定软件需求的优先级？如果是这样，需求的优先级只能由测试人员完成了。 <br />•  加入开发小组的邮件群组 <br />测试人员需要通晓被测试产品，但是，产品在开发的过程中往往是不断变化的。如果软件开发团队有一套变更控制流程，测试人员会对产品的变更了如指掌。如果没有变更控制，那就要采用其他的土方法了。如果公司里面有自动化办公系统，也许采用的是 Lotus Notes 系统，也许使用的是 E-mail 系统，测试人员应该加入到开发人员的邮件群组中。当开发人员通过邮件讨论问题、通知召开技术会议的时候，测试人员可以及时知晓，如果必要，可以参加开发人员的技术会议。即便公司里面有了软件变更控制流程，加入到开发邮件群组也是一个很好的习惯。 <br />•  与开发人员为邻 <br />建议测试人员与开发人员为邻。我所在的测试组曾经与开发组是在相邻的写字间里，开发人员与测试人员的关系非常融洽，抛去同事关系，大家还是不错的朋友。不管开发人员有什么样的活动，测试人员都能第一时间获得信息。无论从事软件测试工作，还是从事其它的工作，与工作中上下游环节的同事保持良好的个人关系对工作有很大便利。一般的公司内部都存在部门墙，良好的人际关系是打通部门墙的手段之一。向领导建议测试人员与开发人员为邻，这很必要。 <br />•  测试用例设计 <br />测试需求收集完毕后，开始测试设计。测试用例是什么？测试用例就是一个文档，描述输入、动作、或者时间和一个期望的结果，其目的是确定应用程序的某个特性是否正常的工作。设计测试用例需要考虑以下问题： <br />•  测试用例的基本格式 <br />软件测试用例的基本要素包括测试用例编号、测试标题、重要级别、测试输入、操作步骤、预期结果，下面逐一介绍。 <br />用例编号： 测试用例的编号有一定的规则，比如系统测试用例的编号这样定义规则： PROJECT1-ST-001 ，命名规则是项目名称＋测试阶段类型（系统测试阶段）＋编号。定义测试用例编号，便于查找测试用例，便于测试用例的跟踪。 <br />测试标题： 对测试用例的描述，测试用例标题应该清楚表达测试用例的用途。比如 “ 测试用户登录时输入错误密码时，软件的响应情况 ” 。 <br />重要级别： 定义测试用例的优先级别，可以笼统的分为 “ 高 ” 和 “ 低 ” 两个级别。一般来说，如果软件需求的优先级为 “ 高 ” ，那么针对该需求的测试用例优先级也为 “ 高 ” ；反之亦然， <br />测试输入： 提供测试执行中的各种输入条件。根据需求中的输入条件，确定测试用例的输入。测试用例的输入对软件需求当中的输入有很大的依赖性，如果软件需求中没有很好的定义需求的输入，那么测试用例设计中会遇到很大的障碍。 <br />操作步骤： 提供测试执行过程的步骤。对于复杂的测试用例，测试用例的输入需要分为几个步骤完成，这部分内容在操作步骤中详细列出。 <br />预期结果： 提供测试执行的预期结果，预期结果应该根据软件需求中的输出得出。如果在实际测试过程中，得到的实际测试结果与预期结果不符，那么测试不通过；反之则测试通过。 <br />软件测试用例的设计主要从上述 6 个域考虑，结合相应的软件需求文档，在掌握一定测试用例设计方法的基础上，可以设计出比较全面、合理的测试用例。具体的测试用例设计方法可以参见相关的测试书籍，白盒测试方法和黑盒测试方法在绝大多数的软件测试书籍中都有详细的介绍，这里不作赘述。 <br />•  重用同类型项目的测试用例 <br />如果我看得远，那是因为我站在巨人的肩上 －－牛顿。 <br />一般来说，每个软件公司的项目可以分为固定的几大类。可以按业务类型划分，比如 ERP 软件、产品数据管理软件、通信软件、地理信息系统软件等等；可以按软件结构来划分，比如 B/S 架构的软件、 C/S 架构的软件、嵌入式软件等等。参考同类别软件的测试用例，会有很大的借鉴意义。如果，公司中有同类别的软件系统，千万别忘记把相关的测试用例拿来参考。如果，系统非常接近，甚至经过对测试用例简单修改就可以应用到当前被测试的软件。 “ 拿来主义 ” 可以极大的开阔测试用例设计思路，也可以节省大量的测试用例设计时间。 <br />•  利用已有的软件 Checklist <br />在上面一个小节中，按照不同的规则划分了不同的软件类型。每种类型的软件都有一定的测试规范，比如， WEB 软件系统在系统测试过程中，会有一系列的范式，比如针对 Cookie 就会有很多测试点。在设计测试用例的时候，不妨到网上去搜索相关的 Checklist ，不过国内外的网站很少有这方面的资料，即便有，也不是特别系统。可以先找一份粗糙的 Checklist ，然后，在设计测试用例的时候不断的去完善它，以作为下次测试用例设计的基础。 <br />•  加强测试用例的评审 <br />测试用例设计完毕后，最好能够增加评审过程。同行评审是 CMM3 级的一个 KPA ，如果因为公司没有通过 CMM3 级，就不开展同行评审是不恰当的。测试用例应该由产品相关的软件测试人员和软件开发人员评审，提交评审意见，然后根据评审意见更新测试用例。 如果认真操作这个环节，测试用例中的很多问题都会暴露出来，比如用例设计错误、用例设计遗漏、用例设计冗余、用例设计不充分等等；如果同行评审不充分，那么，在测试执行的过程中，上述本应在评审阶段发现的测试用例相关问题，会给测试执行带来大麻烦，甚至导致测试执行挂起。 <br />•  定义测试用例的执行顺序 <br />在测试用例执行过程中，你会发现每个测试用例都对测试环境有特殊的要求，或者对测试环境有特殊的影响。因此，定义测试用例的执行顺序，对测试的执行效率影响非常大。比如某些异常测试用例会导致服务器频繁重新启动，服务器的每次重新启动都会消耗大量的时间，导致这部分测试用例执行也消耗很多的时间。那么在编排测试用例执行顺序的时候，应该考虑把这部分测试用例放在最后执行，如果在测试进度很紧张的情况下，如果优先执行这部分消耗时间的异常测试用例，那么在测试执行时间过了大半的时候，测试用例执行的进度依然是缓慢的，这会影响到测试人员的心情，进而导致匆忙地测试后面的测试用例，这样测试用例的漏测、误测就不可避免，严重影响了软件测试效果和进度。因而，合理地定义测试用例的执行顺序是很有必要的。 <br />•  测试用例执行 <br />测试用例设计完毕后，接下来的工作是测试执行，测试执行中应该注意以下几个问题： <br />•  搭建软件测试环境，执行测试用例 <br />测试用例执行过程中，搭建测试环境是第一步。一般来说，软件产品提交测试后，开发人员应该提交一份产品安装指导书，在指导书中详细指明软件产品运行的软硬件环境，比如要求操作系统系统是 Windows 2000 pack4 版本，数据库是 Sql Server 2000 等等，此外，应该给出被测试软件产品的详细安装指导书，包括安装的操作步骤、相关配置文件的配置方法等等。对于复杂的软件产品，尤其是软件项目，如果没有安装指导书作为参考，在搭建测试环境过程中会遇到种种问题。 <br />如果开发人员拒绝提供相关的安装指导书，搭建测试中遇到问题的时候，测试人员可以要求开发人员协助，这时候，一定要把开发人员解决问题的方法记录下来，避免同样的问题再次请教开发人员，这样会招致开发人员的反感，也降低了开发人员对测试人员的认可程度。 <br />•  测试执行过程应注意的问题 <br />测试环境搭建之后，根据定义的测试用例执行顺序，逐个执行测试用例。在测试执行中需要注意以下几个问题： <br />全方位的观察测试用例执行结果： 测试执行过程中，当测试的实际输出结果与测试用例中的预期输出结果一致的时候，是否可以认为测试用例执行成功了？答案是否定的，即便实际测试结果与测试的预期结果一致，也要查看软件产品的操作日志、系统运行日志和系统资源使用情况，来判断测试用例是否执行成功了。全方位观察软件产品的输出可以发现很多隐蔽的问题。以前，我在测试嵌入式系统软件的时候，执行某测试用例后，测试用例的实际输出与预期输出完全一致，不过在查询 CPU 占用率地时候，发现 CPU 占用率高达 90 ％，后来经过分析，软件运行的时候启动了若干个 1ms 的定时器，大量的消耗的 CPU 资源，后来通过把定时器调整到 10ms ， CPU 的占用率降为 7 ％。如果观察点单一，这个严重消耗资源的问题就无从发现了。 <br />加强测试过程记录： 测试执行过程中，一定要加强测试过程记录。如果测试执行步骤与测试用例中描述的有差异，一定要记录下来，作为日后更新测试用例的依据；如果软件产品提供了日志功能，比如有软件运行日志、用户操作日志，一定在每个测试用例执行后记录相关的日志文件，作为测试过程记录，一旦日后发现问题，开发人员可以通过这些测试记录方便的定位问题。而不用测试人员重新搭建测试环境，为开发人员重现问题。 <br />及时确认发现的问题： 测试执行过程中，如果确认发现了软件的缺陷，那么可以毫不犹豫的提交问题报告单。如果发现了可疑问题，又无法定位是否为软件缺陷，那么一定要保留现场，然后知会相关开发人员到现场定位问题。如果开发人员在短时间内可以确认是否为软件缺陷，测试人员给予配合；如果开发人员定位问题需要花费很长的时间，测试人员千万不要因此耽误自己宝贵的测试执行时间，可以让开发人员记录重新问题的测试环境配置，然后，回到自己的开发环境上重现问题，继续定位问题。 <br />与开发人员良好的沟通： 测试执行过程中，当你提交了问题报告单，可能被开发人员无情驳回，拒绝修改。这时候，只能对开发人员晓之以理，做到有理、有据，有说服力。首先，要定义软件缺陷的标准原则，这个原则应该是开发人员和测试人员都认可的，如果没有共同认可的原则，那么开发人员与测试人员对问题的争执就不可避免了。此外，测试人员打算说服开发人员之前，考虑是否能够先说服自己，在保证可以说服自己的前提下，再开始与开发人员交流。<img src ="http://www.cnitblog.com/charester/aggbug/16967.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/charester/" target="_blank">天空</a> 2006-09-17 21:14 <a href="http://www.cnitblog.com/charester/articles/16967.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>外企面试专业试题</title><link>http://www.cnitblog.com/charester/articles/16966.html</link><dc:creator>天空</dc:creator><author>天空</author><pubDate>Sun, 17 Sep 2006 13:12:00 GMT</pubDate><guid>http://www.cnitblog.com/charester/articles/16966.html</guid><wfw:comment>http://www.cnitblog.com/charester/comments/16966.html</wfw:comment><comments>http://www.cnitblog.com/charester/articles/16966.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/charester/comments/commentRss/16966.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/charester/services/trackbacks/16966.html</trackback:ping><description><![CDATA[去外企面试的跟你们一起分享专业面试题，会做的来顶<br />1 What types of documents would you need for QA, QC, and Testing? <br />2 What did you include in a test plan? <br />3 Describe any bug you remember. <br />4 What is the purpose of the testing? <br />5 What do you like (not like) in this job? <br />6 What is quality assurance? <br />7 What is the difference between QA and testing? <br />8 How do you scope, organize, and execute a test project? <br />9 What is the role of QA in a development project? <br />10 What is the role of QA in a company that produces software? <br />11 Define quality for me as you understand it <br />12 Describe to me the difference between validation and verification. <br />13 Describe to me what you see as a process. Not a particular process, just the basics of having a process. <br />14 Describe to me when you would consider employing a failure mode and effect analysis. <br />15 Describe to me the Software Development Life Cycle as you would define it. <br />16 What are the properties of a good requirement? <br />17 How do you differentiate the roles of Quality Assurance Manager and Project Manager? <br />18 Tell me about any quality efforts you have overseen or implemented. Describe some of the challenges you faced and how you overcame them. <br />19 How do you deal with environments that are hostile to quality change efforts? <br />20 In general, how do you see automation fitting into the overall process of testing? <br />How do you promote the concept of phase containment and defect prevention? <br />21 If you come onboard, give me a general idea of what your first overall tasks will be as far as starting a quality effort. <br />22 What kinds of testing have you done? <br />23 Have you ever created a test plan? <br />24 Have you ever written test cases or did you just execute those written by others? <br />25 What did your base your test cases? <br />26 How do you determine what to test? <br />26 How do you decide when you have ‘tested enough?’ <br />27 How do you test if you have minimal or no documentation about the product? <br />28 Describe me to the basic elements you put in a defect report? <br />29 How do you perform regression testing? <br />30 At what stage of the life cycle does testing begin in your opinion? <br />31 How do you analyze your test results? What metrics do you try to provide? <br />32 Realising you won’t be able to test everything - how do you decide what to test first? <br />33 Where do you get your expected results? <br />34 If automating - what is your process for determining what to automate and in what order? <br />35 In the past, I have been asked to verbally start mapping out a test plan for a common situation, such as an ATM. The 36 interviewer might say, “Just thinking out loud, if you were tasked to test an ATM, what items might you test plan 37 include?” These type questions are not meant to be answered conclusively, but it is a good way for the interviewer to see 38 how you approach the task. <br />39 If you’re given a program that will average student grades, what kinds of inputs would you use? <br />40 Tell me about the best bug you ever found. <br />41 What made you pick testing over another career? <br />42 What is the exact difference between Integration &amp; System testing, give me examples with your project. <br />43 How did you go about testing a project? <br />44 When should testing start in a project? Why? <br />45 How do you go about testing a web application? <br />46 Difference between Black &amp; White box testing <br />47 What is Configuration management? Tools used? <br />48 What do you plan to become after say 2-5yrs (Ex: QA Manager, Why?) <br />49 Would you like to work in a team or alone, why? <br />50 Give me 5 strong &amp; weak points of yours sdlkfj2<img src ="http://www.cnitblog.com/charester/aggbug/16966.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/charester/" target="_blank">天空</a> 2006-09-17 21:12 <a href="http://www.cnitblog.com/charester/articles/16966.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>软件测试内容—-就这些！</title><link>http://www.cnitblog.com/charester/articles/16965.html</link><dc:creator>天空</dc:creator><author>天空</author><pubDate>Sun, 17 Sep 2006 13:11:00 GMT</pubDate><guid>http://www.cnitblog.com/charester/articles/16965.html</guid><wfw:comment>http://www.cnitblog.com/charester/comments/16965.html</wfw:comment><comments>http://www.cnitblog.com/charester/articles/16965.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/charester/comments/commentRss/16965.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/charester/services/trackbacks/16965.html</trackback:ping><description><![CDATA[以下是一些需要考虑的步骤： <br />1 得到需求、功能设计、内部设计说书和其他必要的文档 <br />2 得到预算和进度要求 <br />3 确定与项目有关的人员和他们的责任、对报告的要求、所需的标准和过程 ( 例如发行过程、变更过程、等等 ) <br />4 确定应用软件的高风险范围，建立优先级、确定测试所涉及的范围和限制 <br />5 确定测试的步骤和方法 ── 部件、集成、功能、系统、负载、可用性等各种测试 <br />6 确定对测试环境的要求 ( 硬件、软件、通信等 ) <br />7 确定所需的测试用具 (testware) ，包括记录 / 回放工具、覆盖分析、测试跟踪、问题 / 错误跟踪、等等 <br />8 确定对测试的输入数据的要求 <br />9 分配任务和任务负责人，以及所需的劳动力 <br />10 设立大致的时间表、期限、和里程碑 <br />11 确定输入环境的类别、边界值分析、错误类别 <br />12 准备测试计划文件和对计划进行必要的回顾 <br />13 准备白盒测试案例 <br />14 对测试案例进行必要的回顾 / 调查 / 计划 <br />15 准备测试环境和测试用具，得到必需的用户手册 / 参考文件 / 结构指南 / 安装指南，建立测试跟踪过程，建立日志和档案、建立或得到测试输入数据 <br />16 得到并安装软件版本 <br />17 进行测试 <br />18 评估和报告结果 <br />19 跟踪问题 / 错误，并解决它 <br />20 如果有必要，重新进行测试 <br />21 在整个生命周期里维护和修改测试计划、测试案例、测试环境、和测试用具<img src ="http://www.cnitblog.com/charester/aggbug/16965.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/charester/" target="_blank">天空</a> 2006-09-17 21:11 <a href="http://www.cnitblog.com/charester/articles/16965.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>测试用例设计的误区</title><link>http://www.cnitblog.com/charester/articles/15104.html</link><dc:creator>天空</dc:creator><author>天空</author><pubDate>Thu, 10 Aug 2006 09:26:00 GMT</pubDate><guid>http://www.cnitblog.com/charester/articles/15104.html</guid><wfw:comment>http://www.cnitblog.com/charester/comments/15104.html</wfw:comment><comments>http://www.cnitblog.com/charester/articles/15104.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/charester/comments/commentRss/15104.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/charester/services/trackbacks/15104.html</trackback:ping><description><![CDATA[
		<p align="left">
				<font size="2">1、能发现到目前为止没有发现的缺陷的用例是好的用例：<br />首先要申明，其实这句话是十分有道理的，但我发现很多人都曲解了这句话的原意，一心要设计出发现“难于发现的缺陷”而陷入盲目的片面中去，忘记了测试的目的所在，这是十分可怕的。我倾向于将测试用例当作一个集合来认识，对它的评价也只能对测试用例的集合来进行，测试本身是一种“V&amp;V”的活动，测试需要保证以下两点：<br /><br />* 程序做了它应该做的事情<br />* 程序没有做它不该做的事情<br /><br />因此，作为测试实施依据的测试用例，必须要能完整覆盖测试需求，而不应该针对单个的测试用例去评判好坏。<br /><br />2、测试用例应该详细记录所有的操作信息，使一个没有接触过系统的人员也能进行测试；<br />不知道国内有没有公司真正做到这点，或者说，不知道有国内没有公司能够将每个测试用例都写得如此详细。在我的测试经历中，对测试用例描述的详细和复杂程度也曾有过很多的彷徨。写得太简单吧，除了自己没人能够执行，写得太详细吧，消耗在测试用例维护（别忘了，测试用例是动态的，一旦测试环境、需求、设计、实现发生了变化，测试用例都需要相应发生变化）上的时间实在是太惊人，在目前国内大部分软件公司的测试资源都不足的情况下，恐怕很难实现。但我偏偏就能遇到一些这样的老总或者是项目负责人，甚至是测试工程师本身，全然不顾实际的资源情况，一定要写出“没有接触过系统的人员也能进行测试”的用例。<br />在讨论这个问题之前，我们可以先考虑一下测试的目的。测试的目的是尽可能发现程序中存在的缺陷，测试活动本身也可以被看作是一个Project，也需要在给定的资源条件下尽可能达成目标，根据我个人的经验，大部分的国内软件公司在测试方面配备的资源都是不足够的，因此我们必须在测试计划阶段明确测试的目标，一切围绕测试的目标进行。<br />除了资源上的约束外，测试用例的详细程度也需要根据需要确定。如果测试用例的执行者、测试用例设计者、测试活动相关人对系统了解都很深刻，那测试用例就没有必要太详细了，文档的作用本来就在于沟通，只要能达到沟通的目的就OK。<br />在我担任测试经理的项目中，在测试计划阶段，一般给予测试设计30% - 40%左右的时间，测试设计工程师能够根据项目的需要自行确定用例的详细程度，在测试用例的评审阶段由参与评审的相关人对其把关。<br /><br />3、测试用例设计是一劳永逸的事情；<br />这句话摆在这里，我想没有一个人会认可，但在实际情况中，却经常能发现这种想法的影子。我曾经参与过一个项目，软件需求和设计已经变更了多次，但测试用例却没有任何修改。导致的直接结果是新加入的测试工程师在执行测试用例时不知所措，间接的后果是测试用例成了废纸一堆，开发人员在多次被无效的缺陷报告打扰后，对测试人员不屑一顾。<br />这个例子可能有些极端，但测试用例与需求和设计不同步的情况在实际开发过程中确是屡见不鲜的，测试用例文档是“活的”文档，这一点应该被测试工程师牢记。<br /><br />4、测试用例不应该包含实际的数据；<br />测试用例是“一组输入、执行条件、预期结果”、毫无疑问地应该包括清晰的输入数据和预期输出，没有测试数据的用例最多只具有指导性的意义，不具有可执行性。当然，测试用例中包含输入数据会带来维护、与测试环境同步之类的问题，关于这一点，《Effective Software Test》一书中提供了详细的测试用例、测试数据的维护方法，可以参考。<br /><br />5、测试用例中不需要明显的验证手段；<br />我见过很多测试工程师编写的测试用例中，“预期输出”仅描述为程序的可见行为，其实，“预期结果”的含义并不只是程序的可见行为。例如，对一个订货系统，输入订货数据，点击“确定”按钮后，系统提示“订货成功”，这样是不是一个完整的用例呢？是不是系统输出的“订货成功”就应该作为我们唯一的验证手段呢？显然不是。订货是否成功还需要查看相应的数据记录是否更新，因此，在这样的一个用例中，还应该包含对测试结果的显式的验证手段：在数据库中执行查询语句进行查询，看查询结果是否与预期的一致。 </font>
		</p>
<img src ="http://www.cnitblog.com/charester/aggbug/15104.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/charester/" target="_blank">天空</a> 2006-08-10 17:26 <a href="http://www.cnitblog.com/charester/articles/15104.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>如何写性能测试用例</title><link>http://www.cnitblog.com/charester/articles/15105.html</link><dc:creator>天空</dc:creator><author>天空</author><pubDate>Thu, 10 Aug 2006 09:26:00 GMT</pubDate><guid>http://www.cnitblog.com/charester/articles/15105.html</guid><wfw:comment>http://www.cnitblog.com/charester/comments/15105.html</wfw:comment><comments>http://www.cnitblog.com/charester/articles/15105.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/charester/comments/commentRss/15105.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/charester/services/trackbacks/15105.html</trackback:ping><description><![CDATA[
		<br />
		<div class="daxiao14" align="left">
				<span class="tpc_content">
						<font size="2">由于性能测试与功能测试有很大的区别，所以讨论出的结果可能与预先的设想有一定的区别。<br />性能测试的目的： <br />为了验证系统是否达到用户提出的性能指标，同时发现系统中存在的性能瓶颈，起到优化系统的目的。<br /><br />性能测试指标的来源：<br />用户对各项指标提出的明确需求；如果用户没有提出性能指标则根据用户需求、测试设计人员的经验来设计各项测试指标。（需求+经验）<br /><br />主要的性能指标：<br />服务器的各项指标（CPU、内存占用率等）、后台数据库的各项指标、网络流量、响应时间。<br /><br />BUG观点：<br />1、性能测试就象人在无风情况下跑步（正常情况下的性能指标）；<br />2、压力测试就象人在微风中跑步（在正常的基础上加大多少百分比压力的性能指标）；<br />3、负载测试就象人在强风中跑步（不断加压，直到系统崩溃）。<br /><br />HTTP观点：<br />1、 负载测试是正常情况下持续的加压；<br />2、 压力测试是直接加压达到一个极限值。<br /><br />大家统一的观点：<br />性能测试、压力测试、负载测试密不可分，可统称为性能测试。<br /><br />性能测试要点：<br />1、 性能测试是在功能测试完成之后进行。<br />2、 性能测试计划、方案一般与测试用例统一在一个文档里。<br />3、 测试环境应尽量与用户环境保持一致。<br />4、 性能测试一般使用测试工具和测试人员编制测试脚本来完成，性能测试的环境应单独运行尽量避免与其他软件同时使用。<br />5、 性能测试的重点在于前期数据的设计与后期数据的分析。<br />6、 性能测试的用例主要涉及到整个系统架构的问题，所以测试用例一旦生成，改动一般不大，所以做性能测试的重复使用率一般比较高。（说明：当系统中出现的某个功能点需要修改，它一般只会影响到功能测试的设计用例，而对于性能测试，很少影响到性能测试的设计用例。但是如果某个功能有较大的修改，性能测试也应该进行重新测试。）</font>
				</span>
		</div>
<img src ="http://www.cnitblog.com/charester/aggbug/15105.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/charester/" target="_blank">天空</a> 2006-08-10 17:26 <a href="http://www.cnitblog.com/charester/articles/15105.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>细说软件测试错误</title><link>http://www.cnitblog.com/charester/articles/15103.html</link><dc:creator>天空</dc:creator><author>天空</author><pubDate>Thu, 10 Aug 2006 09:25:00 GMT</pubDate><guid>http://www.cnitblog.com/charester/articles/15103.html</guid><wfw:comment>http://www.cnitblog.com/charester/comments/15103.html</wfw:comment><comments>http://www.cnitblog.com/charester/articles/15103.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/charester/comments/commentRss/15103.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/charester/services/trackbacks/15103.html</trackback:ping><description><![CDATA[
		<div class="daxiao14" align="left">
				<font size="2">概述<br /><br />软件本地化测试的测试对象是本地化的软件，需要在本地化的操作系统上进行。虽然本地化的软件是基于源程序软件创建的，但二者的测试内容和重点具有很大的不同。 <br /><br />一般地，二者的不同在于：第一，测试顺序不同。首先要现对源程序软件进行测试，然后再创建本地化软件，测试本地化软件。第二，测试内容和重点不同。源程序软件主要测试功能和性能，结合软件界面的测试。本地化软件的测试，更注重因本地化引起的错误，例如，翻译是否正确，本地化的界面是否美观，本地化后的功能是否与源语言软件保持一致。第三，测试环境不同。源程序软件测试通常在源语言的操作系统上进行。本地化软件在本地化的操作系统上进行。 <br /><br />本地化测试过程中，需要同时运行源程序软件和本地化软件，依照源程序软件结果作为本地化软件的主要参考。 <br /><br />软件本地化的错误类型<br /><br />软件本地化的错误主要分为两大类：第一、由于源程序软件编码错误引起的；第二，由于软件本地化引起的。其中由于软件本地化产生的错误类型包括语句没有翻译、翻译错误、控件布局错误。对于东亚语系软件，可能存在双字节字符显示错误等。 <br /><br />综合分析本地化软件的错误类别，可以归结为四种类型：翻译错误，功能错误，界面错误，双字节错误。 <br /><br />每种类型的错误的数量不同，这与源程序软件和本地化软件的质量有密切关系。如果源程序软件没有经过完整的测试，包括功能测试和本地化性能测试，那么本地化软件中就将存在很多功能错误、界面错误、双字节错误。如果本地化软件没有经过良好的本地化处理，将会产生很多翻译错误和界面错误。 <br /><br />揭密软件本地化错误<br /><br />下面对本地化软件的错误的四种典型类型进行分类讨论，探讨错误的表现特征，产生的原因，测试要求，发现错误的方法。 <br /><br />翻译错误：<br /><br />(1) 产生原因： <br /><br />1) 翻译人员不熟悉翻译要求。 <br /><br />2) 翻译人员工作疏漏。 <br /><br />3) 用户界面的翻译与标准词汇表不一致。 <br /><br />(2) 表现特征： <br /><br />1) 应该翻译而没有翻译的英文字符。 <br /><br />2) 不应该翻译而翻译的中文字词。 <br /><br />3) 错误翻译的字词。 <br /><br />4) 只在本地化版本中存在该类型错误。 <br /><br />5) 较多隐含在对话框各控件以及帮助文档中。 <br /><br />(3) 测试要求： <br /><br />1) 明确需要翻译和不需要翻译的内容。 <br /><br />2) 明确正确的翻译方式。 <br /><br />3) 根据术语表，确认术语翻译的正确性与一致性。 <br /><br />(4) 测试方法： <br /><br />1) 主要同时打开中英文版本，执行相同的操作。 <br /><br />2) 结合标准界面词汇翻译表，参照对比。 <br /><br />(5) 说明： <br /><br />1) 对于对话框，如果含有下拉列表框，要打开列表框查看全部项。 <br /><br />2) 特别要注意选项中开关类翻译错误。 <br /><br />功能错误：<br /><br />(1) 产生原因： <br /><br />1) 软件编码错误。 <br /><br />2) 错误本地化，如将程序中的变量进行了翻译等。 <br /><br />(2) 表现特征： <br /><br />1) 不能实现设计要求的功能。 <br /><br />2) 产生与设计要求不符合的结果。 <br /><br />3) 英文和中文都存在同样的错误。 <br /><br />4) 可能隐含在软件的任何位置或任何操作步骤中。 <br /><br />(3) 测试要求： <br /><br />1) 保证输入数据正确，或者打开了正确的测试用例。 <br /><br />2) 明确正确的输出结果和中间数据数值及格式。 <br /><br />(4) 测试方法： <br /><br />1) 对于菜单项或工具栏按钮，通过全面测试各个选项，认真观察每一步是否正确执行，输出结果（包括格式和数值）是否正确。 <br /><br />2) 对于一个命令中的多个并列选项，采用路径跟踪法，按分支顺序测试嵌套的全部子项。 <br /><br />3) 对于对话框，可以逐个执行各按钮，各个列表选项等观察执行结果。 <br /><br />(5) 说明： <br /><br />1) 特别注意不同选项、不同按钮相互操作的影响。 <br /><br />2) 注意检查快捷键是否遗漏，是否多余，是否不同，是否起作用。<br /><br />布局错误：<br /><br />(1) 产生原因： <br /><br />1) 软件本地化后，由于源语言和本地化语言的表达方式不同，本地化后的字符数与源语言不同，每个字符所占空间尺寸不同，使得在英文版本正确显示的控件字符，可能在本地化版本显示不正确。 <br /><br />2) 本地化人员调整程序资源不当引起，例如，对话框及其控件高度或宽度的不正确调整。 <br /><br />(2) 表现特征： <br /><br />1) 控件相互重叠或排列不均匀。 <br /><br />2) 控件中字符显示不完整。 <br /><br />3) 主要出现在本地化版本的对话框中。 <br /><br />(3) 测试要求： <br /><br />1) 对话框中控件布局均匀，字符显示完整正确。 <br /><br />2) 对话框中控件数量相等，没有多余或丢失的控件 <br /><br />(4) 测试方法： <br /><br />1) 执行将要打开对话框的菜单或工具栏按钮，观察打开对话框中的控件布局。 <br /><br />2) 对比检查源语言软件和本地化软件对应的对话框中控件的数量 <br /><br />(5) 说明： <br /><br />1) 可能在执行不同的操作后，如选择了不同单选或复选按钮后，编辑框显示重叠等。 <br /><br />2) 执行后带省略号的菜单或命令按钮，将会显示对话框。 <br /><br />双字节错误：<br /><br />(1) 产生原因： <br /><br />1) 源程序在设计时没有考虑双字节语言的支持。 <br /><br />2) 软件本地化后，单字节字符向双字节字符转化过程中，由于单字节和双字节之间的差别，可能使得某些本地化后的双字节字符的显示乱码。 <br /><br />3) 软件本地化后，对程序中控制符号如换行键“n”的处理错误而引起乱码。 <br /><br />(2) 表现特征： <br /><br />1) 控件或对话框中显示不可辩识的字符。 <br /><br />2) 控件或对话框中显示无意义的明显错误的字符。 <br /><br />3) 不支持双字节字符的输入，包括双字节的文件名和路径名。 <br /><br />4) 仅出现在本地化后的版本中。 <br /><br />(3) 测试要求： <br /><br />1) 本地化后的软件字符显示正确完整，无乱码或明显错别字。 <br /><br />(4) 测试方法： <br /><br />1) 执行菜单或按钮，检查对话框中的字符。 <br /><br />2) 打开帮助文档，检查所有需要翻译的字符。 <br /><br />(5) 说明： <br /><br />1) 注意检查对话框下拉列表中需要拖动滚动条才能显示的内容。 <br /><br />总结 <br /><br />以上仅列出了本地化软件测试经常遇到的四种错误类型，在实际测试中可能某些错误的现象（如列表框中有多余项或缺少项），既可以认为是布局错误，也可以属于功能错误，应该认真思考该错误表现的实质，将其划分为正确的错误类型。 <br /><br />实际测试是一个动态的过程，不能孤立静态地对待发现的错误，因为一个错误可能包含着其他的不同类型的错误。比如在对话框中，选择某个按钮，产生一个错误提示对话框，这可能是一个按钮功能错误，如果对话框中存在需要翻译而没有翻译的英文，则又是一个翻译错误，如果对话框中存在无法辨识的字符，则又是一个双字节错误，如果对话框中按钮排列重叠，则还是一个布局错误。 <br /><br />总之，本地化软件的错误的产生是多方面的，不能仅仅归结为软件本地化过程带来的错误，实际上，良好的国际化设计的源程序是减少软件本地化错误的根本保证。当然，提高软件本地化过程能力，提高翻译和检查，优化本地化软件编译流程，能够减少很多因本地化产生的错误。 </font>
		</div>
<img src ="http://www.cnitblog.com/charester/aggbug/15103.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/charester/" target="_blank">天空</a> 2006-08-10 17:25 <a href="http://www.cnitblog.com/charester/articles/15103.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一个优秀的系统集成工程师应具备哪些技能</title><link>http://www.cnitblog.com/charester/articles/14851.html</link><dc:creator>天空</dc:creator><author>天空</author><pubDate>Mon, 07 Aug 2006 04:44:00 GMT</pubDate><guid>http://www.cnitblog.com/charester/articles/14851.html</guid><wfw:comment>http://www.cnitblog.com/charester/comments/14851.html</wfw:comment><comments>http://www.cnitblog.com/charester/articles/14851.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/charester/comments/commentRss/14851.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/charester/services/trackbacks/14851.html</trackback:ping><description><![CDATA[
		<p>一个优秀的系统集成工程师应具备哪些技能</p>
		<p>1：网络<br />基础知识：深刻理解网络基本概念，例如&gt;ISO/OSI、TCP/IP、VLAN、各种LAN、WAN协议、各种路由协议、NAT等等 </p>
		<p>
				<br />Cisco：熟悉Cisco产品线；会配置主要型号的交换机和路由器，不熟悉的设备能构独立查资料配置；熟悉Cisco一些主要的技术例如VOIP、Qos、ACL等； </p>
		<p>
				<br />Nortel：熟悉Nortel产品线；会配置主要型号的交换机和路由器，不熟悉的设备能构独立查资料配置； </p>
		<p>
				<br />Huawei-3com：熟悉Huawei-3com产品线；会配置主要型号的交换机和路由器，不熟悉的设备能构独立查资料配置； </p>
		<p>
				<br />Foundry：熟悉Foudry产品线；会配置主要型号的交换机和路由器，不熟悉的设备能构独立查资料配置； </p>
		<p>
				<br />2：主机<br />基础知识：熟悉服务器的基本知识，例如各种RAID、各种外设、SCSI卡等等 </p>
		<p>
				<br />Sun Solaris：熟悉Sun小型机产品线，掌握各个版本的Solaris使用 </p>
		<p>
				<br />IBM AIX：熟悉IBM小型机产品线，掌握各个版本的AIX使用 </p>
		<p>
				<br />HP HP-UX：掌握HP-UX的基础知识 </p>
		<p>
				<br />Linux：熟悉主流版本的Linux的安装、使用、配置 </p>
		<p>
				<br />MS Windows：熟练掌握Windows NT、2000、2003的安装、使用、配置、排错 </p>
		<p> </p>
		<p>3：数据库与中间件<br />基础知识：深刻理解数据库的基本概念，会使用简单的SQL语句，了解数据库复制、数据仓库等高级概念 </p>
		<p>
				<br />Sybase ASE：熟悉Sybase数据库的基本概念、体系结构、安装、配置、维护、排错、复制 </p>
		<p>
				<br />Oracle DB：熟悉Oracle数据库的基本概念、体系结构、安装、配置、维护、排错、复制 </p>
		<p>
				<br />MS SQL Server：熟悉MS SQL Server数据库的基本概念、体系结构、安装、配置、维护 </p>
		<p>
				<br />IBM DB2：了解IBM DB2 </p>
		<p>
				<br />MySQL：了解MySQL数据库在Windwos和linux下的安装和维护 </p>
		<p>
				<br />Sybase EAserver：熟悉Sybase EAServer在各个平台的安装、配置和使用 </p>
		<p>
				<br />Oracle AS：了解Oracle应用服务器的安装和配置 </p>
		<p>
				<br />IBM WebSphere：熟悉IBM Websphere各个版本在各个平台的安装、配置和使用 </p>
		<p>
				<br />Tomcat：了解Tomcat在Windwos和linux下的安装和维护 </p>
		<p>
				<br />4：安全<br />基础知识：深刻理解网络安全的重要性，了解各种安全设备的作用 </p>
		<p>
				<br />防火墙：深刻理解防火墙的基本概念和作用，了解主流的国内和国际品牌，在文档的帮助下能够独立配置使用和诸如联想、天融信等国产防火墙 </p>
		<p>
				<br />入侵检测系统：深刻理解IDS基本概念和作用，了解主流的国内和国际品牌，在文档的帮助下能够独立配置和使用诸如金诺网安、绿盟等国产IDS </p>
		<p>
				<br />漏洞扫描系统：深刻漏洞扫描的基本概念和作用，了解主流的国内和国际品牌，在文档的帮助下能够独立配置和使用诸如榕基等国产扫描系统 </p>
		<p>
				<br />VPN：了解VPN的基本概念 </p>
		<p>
				<br />加密和认证：了解加密和认证的基本概念 </p>
		<p>
				<br />安全隔离产品：了解安全隔离产品 </p>
		<p>
				<br />网络反病毒：了解国内国际主流的反病毒厂商，能够熟练安装、配置、部署诺顿、卡巴斯基、瑞星等主流软件 </p>
		<p>
				<br />邮件反病毒反垃圾：理解邮件反病毒反垃圾的重要性，了解反病毒反垃圾用到的主要技术，在文档的帮助下能够正确安装和配置国产邮件反病毒反垃圾软件 </p>
		<p> </p>
		<p>
				<br />5：存储和备份<br />基础知识：了解存储的基本概念和主流厂商，了解磁带、DAS、NAS、SAN的基本概念</p>
		<p>Sun存储：了解Sun的存储产品，在文档的帮助下能够独立配置Sun的存储产品</p>
		<p>IBM存储：了解IBM的存储产品，在文档的帮助下能够独立配置IBM的存储产品 </p>
		<p>
				<br />EMC存储：了解EMC的存储产品，在文档的帮助下能够独立配置EMC的存储产品</p>
		<p>光纤Hub、光纤交换机：了解光纤Hub、光纤交换机的基本概念和主要作用 </p>
		<p>
				<br />备份：深刻理解备份的重要作用，了解主流备份软件诸如ARC Server、NetBackup等软件的安装、配置和使用、熟悉主流数据库的备份方法和策略 </p>
		<p>
				<br />6：音视频<br />视频会议：了解视频会议的基本概念、组成部分和协议，了解主流的视频终端和MCU，能够独立操作泰德的视频终端和Radvision的MCU </p>
		<p>
				<br />视频点播：了解视频点播和流媒体的基本概念、组成部分和协议，能够安装和配置视频点播所需要的软件（RealServer等）和硬件（视频采集卡等） </p>
		<p>
				<br />VOIP：了解VOIP的的基本概念和应用，了解语音网关和语音关守，能够配置VoIP </p>
		<p>
				<br />组播：了解组播的基本概念和应用以及组播路由协议，能够配置简单的组播 </p>
		<p>
				<br />各种音视频设备：了解各种音频、视频设备以及各种线缆，了解诸如智能法庭的整体结构 </p>
		<p> </p>
		<p>
				<br />7：应用<br />HTTP：能够正确安装、配置和使用各种WWW服务器，例如IIS、Apache、IBM HTTP Server</p>
		<p>FTP：能够在各种平台（windows、linux、Unix）下配置FTP服务器</p>
		<p>Mail：能够在各种平台（windows、linux、Unix）下配置Mail服务器，能够安装和配置中软和Eyou的mail Server </p>
		<p>
				<br />DNS：能够在各种平台（windows、linux、Unix）下配置DNS服务器 </p>
		<p>
				<br />公司自主软件：熟悉公司的自主软件，在文档帮助下，能够独立安装公司的**信息系统、**信息系统、**软件等所有软件 </p>
		<p>
				<br />其他：能够熟练使用客户端和服务器端各种软件，能够独立在互联网上找到自己所需的软件 </p>
		<p> </p>
		<p>
				<br />8：弱电<br />了解综合布线、门禁、监控、智能建筑等基本概念，熟练制作各种网络线缆 </p>
		<p>
				<br />9：其他专项技术<br />高可用性：理解高可用性的概念，能够安装配置IBM HACMP、Rose、Sun Cluster的安装、配置和维护</p>
		<p>呼叫中心：理解呼叫中心的基本概念和组成部分 </p>
		<p>
				<br />UPS：熟悉UPS的基础知识、自己能够独立安装小型UPS、熟悉各种电缆 </p>
		<p>
				<br />电信：熟悉各种电信线路，了解电信的各种信令 </p>
		<p>
				<br />WLAN：了解无线局域网的基本概念和组成部分</p>
		<p>网络管理：了解网络管理的作用和网络管理协议（SNMP、RMON等），能够使用Cisco Ciscoworks、Nortel Optivity、HP OpenView等产品，能够用Sniffer等软件对网络进行监控和排错 </p>
		<p>
				<br />10：项目管理<br />深刻理解项目管理中的基本概念，能用运用项目管理中的知识指导自己的项目</p>
		<p>
				<br />集成售前工程师必须掌握的5种武器</p>
		<p>　　　做售前工程师容易，做好售前工程师难，就好比写个软件容易，写一个好的软件难，呵呵，小弟做了N年售前，深有体会，说说做一个好系统售前工程师必须掌握的5种武器。<br />　　　　<br />　　　　武器1：网络<br />　　　　<br />　　　　CISCO，网络设备是绝对不可以少的，我有一个做思科的朋友，CCIE（嘿嘿，你猜他现在做什么，做销售，哈哈没有想到吧，不过人家售前也做）他告诉我，只要了解了思科的产品，什么华为，3COM，AVAYA，NORTEL就很容易掌握了，而且CISCO产品也是很多项目必须要用到的。<br />　　　　<br />　　　　武器2：服务器<br />　　　　<br />　　　　IBM，服务器也是一个系统售前工程师必须掌握的，而IBM应该是业界的代表了，无论是银行，证券，电信IBM服务器无处不在啊，而且IBM服务器产品之全也是罕见的哦，高中低都分的很清楚，而且各个服务器的TPCC值都给的很详细，在投标中应付技术认真的客户是很有说服力的，另外HP，SUN这些服务器最好也要懂。嘿嘿，偶不在在这里吹嘘IBM，不是给他做广告的，而是实实在在的，<br />　　　　<br />　　　　武器3：存储<br />　　　　<br />　　　　什么NAS，SAN啊，售前都应该了解吧，目前主流的产品不外呼EMC，博科，IBM，HP，SUN，CISCO，日本的一些厂家，国内的也有联想，亚美联等等，建议大家掌握主流的，其他就大同小异了。<br />　　　　<br />　　　　武器4：安全<br />　　　　<br />　　　　安全武器就多了，防火墙，VPN，IDS，漏洞扫描，防病毒，CA认证，主流的防火墙我认为从CISCO和天融信开始，IDS从国外的安氏，CA或东方龙马开始，CA国内也做的很多，天威诚信，江苏意源<br />　　　　<br />　　　　武器5：系统软件<br />　　　　<br />　　　　根据小弟这两年投标经验，以下产品还是要熟悉的：数据库ORACLE，SYBASE，SQL，了解两种以上工作流国内外，另外应用服务器WEBLOGIC，IBM WEBSPHERE，熟悉一些报表工具。 </p>
		<p> </p>
<img src ="http://www.cnitblog.com/charester/aggbug/14851.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/charester/" target="_blank">天空</a> 2006-08-07 12:44 <a href="http://www.cnitblog.com/charester/articles/14851.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>英语学习大解惑 </title><link>http://www.cnitblog.com/charester/articles/14516.html</link><dc:creator>天空</dc:creator><author>天空</author><pubDate>Tue, 01 Aug 2006 07:54:00 GMT</pubDate><guid>http://www.cnitblog.com/charester/articles/14516.html</guid><wfw:comment>http://www.cnitblog.com/charester/comments/14516.html</wfw:comment><comments>http://www.cnitblog.com/charester/articles/14516.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/charester/comments/commentRss/14516.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/charester/services/trackbacks/14516.html</trackback:ping><description><![CDATA[
		<span class="tpc_content">英语学习大解惑 <br />1．学了十几年英语，到头来还是哑巴英语，是传统的英语学习法有问题吗？<br /><br />不完全是。对于象我这样上世纪80年代以前出生的人来说，学英语就是从字母A，B，C，背单词，学语法开始，以精读课文和做习题为主要手段来进行的，对于听力和口语的训练则严重不足。其实没有任何传统的学院派英语教师会认为听力和口语并不重要，不需要多练的，只是由于当时咱们国家的经济实力有限，师资，设备都不足，所以难以在中小学普及听力口语教学。在高考英语中也不能设置口语听力考试，因为这对贫困地区的学生太不公平。不考口语听力，靠什么来拉开成绩差距，以达到选拔学生的目的呢？只能靠出一些不太实用的难题，偏题甚至怪题了。高等教育资源十分稀缺，应试教育在所难免，学生不得不投入大量时间做习题，死抠一些并无太大用处的细节，学成一身应试英语，这也是没办法的事。到了大学，还是由于师资有限，口语教学不能充分开展，根本没有多少说英语的机会。学了十几年英语，到头来还是哑巴英语就是因为说得不够多，听得不够多，甚至读得也不够多，而不是传统的重视语法基础知识和词汇，强调阅读能力的英语学习方法有问题。<br /><br />可喜的是现在的情况大为改善。高考以及某些省份的中考都有了听力考试，而在许多较发达城市，小学就聘能请外教进行英语口语教学了。<br /><br />2．一定要彻底抛弃Chinglish (Chinese English)吗？<br /><br />彻底抛弃Chinglish, 说一口标准的美式英语或英式英语，当然是所有英语学习者的理想。其实，所谓的Chinglish 可以分成两种情况，一种情况是指用中文的语法和用词去生硬地套英语，比如想表达“天很热”时说“The day is very hot。”；另一情况是指口音问题，即虽然说得没错，可是一听上去就知道是中国人在说英语。我们学英语，第一种情况当然绝对要避免(这通过系统学习语法和词汇，要做到并不是很困难)，否则让人听不懂或觉得可笑。要克服第二个问题，需要付出的时间太多，决非在中国生活的非英语专业人士所能承受。想想看，许多南方人从十多岁开始，在北京呆了几十年，天天说普通话，听普通话，可还是说不准普通话! 中国人在没有语言环境的情况下想要说一口地道的美式英语，谈何容易！就算是中央电视台的英语播音员，您还是能听出是中国人在说英语。有的英语教学专家通过多年疯狂地学习英语（所耗时间恐怕读一个大学英语专业都不止）,再加上个人的天赋，练得一口纯正的美式口语，就抛出某英语学习法号召大家拼命练习肌肉去追求标准发音，实际上大多数人却根本无法负担像他那样的投入，自然也就学成者寥寥。其实，只要能做到语法正确，用词恰当，也就是能正确表达，发音不地道（注意，是不地道，不是错误）根本就不妨碍交流。例如，新加坡和印度都是以英语为第一官方语言的国家，几乎人人会说英语。可新加坡人的英语也带有明显的口音――他们自称为“Singlish”；印度人的英语在咱们听来更难听，舌头直打嘟噜。但是这两个国家的人和英美人交流是毫无障碍的――就因为他们的英语口语从语法上和用词上都没有问题。他们也从来不需要去追求什么“纯正的美式口语”。当然，说一口发音纯正的美国口语会让人觉得你很牛，可是要考虑考虑你得付出得代价，况且还不是一定能成功。<br /><br />总之，对于语法和用词，我们一定要注意，至于口音，如果您舍不得下大力气改进，不妨接着说咱们的Chinglish。<br /><br />3．发音标准真的很重要吗？<br /><br />这个问题其实上面已经谈过一些。在这里我想补充的是，读对每个单词的发音，的确是重要的。如果你把一个单词说成另一个单词，或把某个单词发错了一个音节，固然有时对方能从上下文推断你想说什么，但是也会经常造成误解或让人觉得不知所云。单词发音的错误往往比语法结构的错误更令人费解。而发音的另一方面――句子的语调，则不是非常重要。我们知道，一个句子，即使每个单词都读得准，整个句子听起来也会觉得味道不对，是Chinglish。这就是因为没有掌握正确的语调以及连读习惯等。但这没有关系，因为这样得句子老外是能够听懂的。老外听英语的“容错”能力其实很强，就像许多广东人说的普通话虽然很不准，北京人一样能轻松听懂，因为语法和用词正确是正确的。<br /><br />总之，单词的发音很重要。对于口语常用的5000单词，我们应该一个一个读准其发音。<br /><br />4．要想熟练运用英语口语交流，到底什么最关键？<br /><br />当然是词汇（包括词组和短语）最关键。用英语口语交流，一方面是要能听懂对方说的，另一方面是自己说的对方要能听懂。在这两个方面，词汇都是基础。<br /><br />先说听力。在练习听力的时候常有这种感觉：一个单词没听说过或虽知道但一时反应不过来，就会导致整个句子听不懂。几个关键句子听不懂，那么整篇文章说什么就搞不明白。所以，词汇量不足的话，听力就一定不行。而且对词汇的敏感程度和反应速度，也直接影响您的听力水平。扎扎实实地背一段时间单词您就会惊喜地发现，您的听力竟然没怎么训练就在无形中提高了一大截。<br /><br />再说口语。中国人说英语的最大障碍,并不是发音，而是不会表达――根本不知道怎么去说，不知道用什么词，怎么用词。比如，想说“我喜欢吃辣椒”，可是“辣椒”的英文单词是什么？不知道。那就说“我喜欢吃一种辣的蔬菜吧。”可是“辣”怎么说？还是不知道，这就没法办了。词汇量的匮乏，是英语口语达到与人交流水平的最大障碍。真正与人交流的口语，绝不是购物，机场，邮局，问路这些生活常用语。这些生活常用语就算练得再熟，发音再准，也没法和老外谈工作，或是聊天。要想和老外谈工作或是侃大山，必须掌握大量的专业词汇，以及涉及社会生活方方面面的词汇。所以，词汇量也是口语的基础。<br /><br />要注意的是，这里所说的词汇，不仅指单词，还包括词组，短语。词组和短语在口语中十分重要。有时我们能听出整个句子的每个单词，但还是不明白句子的意思，就是因为不认得句子中出现的短语。口语中的许多意思表达，都是用短语来完成的，如果用同样意思的单词来说，则显得非常生硬。<br /><br />5．真的可以不学语法，不背单词，开口就说吗？<br /><br />当然不行。现在有的英语学习方法号召大家抛弃语法学习，而是直接从背句子开始，其理由无非是“幼儿学说话从来不需要管语法，不照样学得会吗？”。其实，就是因为幼儿智力有限，学说话不能从语法开始，所以幼儿学语言学得很慢。对，是很慢，这里有智力的因素，也有学习方法太笨的原因。幼儿从呀呀学语开始大约是1岁，到4岁左右才能像样地说些结构简单的句子，需要约3年的时间，而且还不会读，不会写。而在这3年里，他们每天大约有8－10个小时在学说话――只要有人和他说话，他就是处在学习状态。如果成年人有幼儿的学习条件，即假设一个成年人在呆美国，时刻有个英语教师陪着，听不懂或不会说的时候马上教他，说错了则马上纠正，那么只需四个月他就能达到4岁小孩的语言水平了。幼儿不学语法，语言规则只能靠自己摸索总结，靠在不断被纠正的过程中学到，所以效率很低。比如，宝宝说“不妈妈上班”，妈妈告诉他应该说“妈妈不要上班”，他记住了，可是过一会又会说“不宝宝吃饭”，“不爸爸睡觉”等，需要多次纠正后才能隐隐感觉到“不”字不能放在开头――这就是因为不懂语法。语法是语言规律的总结，掌握了就能举一反三，少绕弯路，这本是十分浅显的道理。那种不学语法，光背句子的方法，根本就是本末倒置，将成人的智力视为与幼儿等同的笨办法。在上小学前，我们自然而然地学会了说话，可是只能表达简单的要求和感觉，很多东西还是不会说。此后，我们还需要5－6年小学语文，6年中学语文的系统学习，才能谈论社会生活的各个方面，全面准确地表达各种感受，说明前因后果，事物联系，讲清楚一件复杂的事情。可见，连学习母语都是一个十分全面，漫长的过程，那么学习英语当然决非背背句子那么简单。而且，不要忽视阅读对口语的作用。我们知道，书读得越多的人，说话就越有条理，词语就越精彩，上过大学的人和没上过大学的人说话，往往有明显的区别。书读得越多，词汇量就越大，学到得表达方式和表达技巧就越丰富，所以语言能力就越强。只背句子，不学语法，不背单词, 不阅读，这样学英语，最多只能达到国外5岁小孩的语言水平，用于日常生活可以，工作和交流则不行。这种学习法之所以目前能有市场，只不过因为它反传统，迎合了人们求新求变的心理，但终究经不起实践的检验。<br /><br />6．英语学习的目的是阅读为主还是听说为主？<br /><br />传统的学院派往往认为英语学习应以阅读为主，理由是毕竟听说英语的机会不是很多；而目前流行的各种商业化英语学习方法均强调以听说为主，认为哑巴英语用处不大。而我以为，这个问题，在不同的时期有不同的答案。改革开放以前，普通人即使会说一些英语，也无用武之地。那时，英语学习的目的只能是以阅读为主――为了读懂英文的科技资料，产品说明书等。进入上个世纪90年代，对外商业、文化交流明显增多，如果能说一口较好的英语，是不愁派不上用场的。并且英语说得越好，说英语的机会就越多，这反过来又促进英语水平的提高。而阅读能力的用处，较改革开放前并无明显增加。所以，在上个世纪90年代前中期，将听说作为英语学习的主要目的，对个人的前途会很有帮助。而在互联网高度普及的今天，情况又有所不同了。网上的信息90％以上都是英文，英文的阅读能力已经不仅仅是科研人员查查资料这点用处，普通人完全可以运用这种能力获通过互联网获取大量中文世界里没有的信息――不论是新闻，科技，商业还是娱乐。这时，英文阅读能力，已经成为开阔眼界，及时获取信息、把握机会，甚至增添生活乐趣的手段，它可以每天都有用。更何况，通过大量的英文阅读，也能自然而然地提高听力、口语和写作水平――这好比“熟读唐诗三百首，不会作诗也会吟”。<br /><br />所以我认为今天，在英语学习中，阅读能力的培养更为重要。如果阅读能力达到流畅实用的程度，每天都愉快地上英文网站逛逛，那么听力、口语和写作，只需稍加训练就能水到渠成。学了十几年英语还是哑巴英语，那不仅因为听说得少，还因为读得少！想想看你完整读过几本英文著作，看过几张英文报纸吧! 书读得多的人，才能舌绽莲花，下笔有神，这个适用于汉语的规律，当然也适用于英语。<br /><br />7．到底怎样学英语？<br /><br />没有什么速成的捷径。扎扎实实从背单词，学语法开始，多背，多听，多读，多说。<br /><br />背单词不但要认得，还要听磁带或细看音标，读准其发音。许多生活中非常常用的单词，比如“肺炎”，“肝脏”，“辣椒”等，并没有被收入到大学英语四级词汇表或类似的中级程度的词汇表中，也要注意收集和记忆，否则说英语时很容易一张嘴就卡壳。此外，一定要熟记口语中常用的400～500个短语和词组。在基本语法已经掌握，词汇量达到4000以上时，可以开始背句子，以及经典的背诵文章，籍此将各种典型表达方法熟记于心，用时才能不加思索涌到舌尖。记住，背句子非常重要和有效，当然这得是建立在相当的语法知识和词汇量基础之上的。<br /><br />听力方面，选用一套教材，如Step by Step，按部就班地学习。教材外的听力材料，以从中国国际广播电台(China Radio International, 简称CRI ) 的英文广播开始为好，CRI也有类似于VOA的慢速英语，它在许多城市是调频广播，没有噪音，学习效果远胜充满杂音甚至飘忽不定的VOA短波。而且，CRI的节目，关于中国的内容远较VOA为多，涉及中国社会方方面面，有的就是你身边的事，这对于上英语角聊天，或有机会时向老外谈谈中国，都很有用。我在上研究生期间，每天晚上边写程序边听CRI的双语音乐节目Enjoy FM和整点常速新闻，一个月后，对VOA 的常速新闻，由原来的能听懂40％，提高到能听懂80%。所以，如果你从Special English跳到VOA常速新闻后，发现而进展十分困难，不妨试试CRI的常速新闻广播，它是中国人播音的，难度介于Special English和VOA常速新闻之间，听一段时间，待有了一定基础后再攻VOA常速新闻，就能事半功倍。<br /><br />要多看英文VCD或DVD。如果30％以上听不懂，就应该将中文字幕打开，对照着听。开始是几乎一点不懂，后来慢慢看着字幕能听出对白是怎么说的，最后不要字幕也能基本看懂电影。不要追求90%的对话都能听出来，那是非常困难的，英语专业毕业的本科生大部分都做不到。<br /><br />多听对于口语的提高也很有帮助。因为人学说话，其实就是从别人嘴里学来的，这就是地方口音代代相传,聋子往往是哑巴的原因。如果每天都听一个小时英语，哪怕一句英语都不说，时隔半年之后，一张嘴就会发现发音在不知不觉中竟然有了很大进步。这是我的亲身感受。我第一次去人民大学的英语角，明显感觉辞不达义，嘴巴干涩，舌头僵硬。回来听了半年CRI及VOA广播后第二次去，竟然好几个人夸我发音不错，自己也感觉舌头灵活得多，该卷舌的时候能卷舌，该升调就升调，该鼻音就鼻音了。可实际上这半年间我一句英语没说过！<br /><br />学习英语口语，在中国最缺的就是说英语的环境。所以，要经常去英语角。一定要放开胆子大声说！没有什么可丢脸的。尽量找说得比自己好的人聊，碰到水平相同或更差的，再怎么聊也进步不了，赶快找个借口结束谈话，以免互相学习对方的错误。去英语角，不能没有准备随便去，应该和日常的学习结合起来。即如果每星期去一次英语角，那么去之前，要总结一下，这星期新学了那些句子，那些词汇，哪些短语，尽量在交谈时用上这些新学的内容。<br /><br />要营造英语的环境，让生活中天天有英语。哪怕每天听听英文歌曲也行，这样才能有效地保持学习效果，巩固对英语的感觉。开车上下班的朋友好办，塞盘英语磁带反复听（不能太认真，以免出车祸）,或者象我一样，收音机从来不关，而且锁定在CRI频道，打着火就开始听，一直听到下车。坐公车的朋友也可以买个袖珍收音机，等车坐车都听听广播，虽然干扰多些。骑自行车或步行的朋友不能这么干，太不安全。<br /><br />在休闲的时间多看英文电影，当然也是寓教于乐，营造英语环境的好办法。看的时候要心情放松，能听懂多少算多少，只要能保持英语对大脑的刺激就行了。<br /><br />8．信息时代又怎样学英语？<br /><br />传统的英语自学手段，是书本＋词典＋磁带＋笔记本。信息时代的英语学习，当然少不了计算机软件和互联网这两个手段。<br /><br />先说说用软件学英语。人总是有不愿改变现状的惰性，许多人还不习惯用软件学习，总觉得那东西花哨不实在，还是用书本磁带学习踏实。可是想想吧，许多作家一开始也不习惯用键盘写作，可是现在已经没有几个作家会还在吃力地“爬格子”呢? 真正优秀的英语教学软件能为你节省的学习时间，远远超过任何时髦的这个那个英语学习法，你只有亲身认真体验，才会感觉用软件学英语，的的确确是英语学习的革命。计算机在许多方面能几十倍上百倍地提高人的工作效率，用计算机学英语，节省时间5～8倍一点也不奇怪。<br /><br />但是为什么很少听说有人用软件很快学成英语了呢？那是因为目前市面上还没有一套系统的，涵盖英语学习各个方面，从ABC到高级的，真正以学习效率为中心的成熟的英语教学软件。虽然市面上英语软件种类很多，但是这些软件往往急功近利，其设计是从如何吸引用户购买的角度出发，而非从如何让用户买回去用得顺手出发。95%以上的英语教学软件，都只是将学习材料从书本、磁带上搬到计算机上，配以精心设计的华丽界面，仅此而已，功能十分单一，根本没有发挥出计算机的巨大威力。这些软件在界面上狠下功夫，一个比一个漂亮，而对软件作为工具的本质特性――功能却不肯费力，因为漂亮的界面便于宣传和激发购买欲望，而功能好用不好用，买回去才知道――而卖软件又不像卖牙膏，指望用户买了一筒用完还买第二筒。但这样中看不中用的软件，终究是没有生命力的。所以，市面上生存时间超过2年的英语教学软件，屈指可数（始于1996年,已有超过100万用户的飞跃英语系列就是其中之一）。<br /><br />飞跃英语系列软件的设计思想，是完全以学习效率为中心。它看上去根本不像多媒体教学软件，而完全是工具软件简洁、朴素的风格。随便找一款英语学习软件，界面都比飞跃英语的漂亮得多，而国内任何一款英语学习软件，和飞跃英语系列的同类软件相比，助学功能都相去甚远。界面设计是十分费时费力的，飞跃英语将别人设计华而不实界面的大量时间，都花在新功能的开发上了,这才让用户得到了最大的方便和实惠。<br /><br />飞跃英语目前已经包括背单词软件，词典软件，阅读软件，听力软件和复读机软件。口语和写作软件也都已列上开发计划。飞跃英语的目标，是开发出初级、中级、高级三套系统的，全面支持英语听说读写背译，各部分有机结合的集大成式高效解决方案，完全取代书本＋词典＋磁带的学习方式，从而成为信息时代英语学习的标准。将来用这套软件学英语，达到相同水平，您所花时间只需传统学习方式的三分之一甚至五分之一。<br /><br />其实，现有的飞跃英语软件，在阅读和词汇上的学习效率已经能十倍于传统的书本＋词典＋笔记本方式了。举个简单的例子，有的人喜欢背单词卡片，抄写一张带音标的卡片大概需要半分钟，而在《我爱背单词》中，您只要点几下鼠标，就能挑选出成百上千的单词，在A4纸上打印出正反两面的单词卡片（每张A4纸可以剪开成21张卡片）。<br /><br />再举一个复杂的例子。许多人觉得单纯背单词太枯燥，希望能在阅读中自然而然地增加词汇量。可是由于词汇量不足，阅读时两三行就会遇到生词，不查词典吧，又猜不出，查词典吧，实在太麻烦，会弄得阅读兴趣全无。相信很多人都象我一样，曾经多次下定决心要读完一本英文原版名著，可是每回都读到前十多页，就实在坚持不下去，只好半途而废。然而，1998年我开发完《我爱背单词98》、《东方词圣》和《英文名著百部速读》后，用这三个软件一个月就读完了《简爱》等四部原版名著，而且词汇量还增加了2000多。诀窍很简单，在计算机上打开《英文名著百部速读》，选好小说，启动《东方词圣》，开始阅读。碰到不认识的词，鼠标一指，《东方词圣》就能显示其解释，再鼠标一点，就能将该生词摘录进《我爱背单词》的笔记本，以后可以用多种手段进行复习。而且，对小说中的生词，鼠标一点就能变色，相当于做了记号；读过几页后回头看看都碰到了那些生词，这样记单词的效率，远远超过单纯的死记硬背。<br /><br />在听力训练方面，《飞跃复读王》是目前功能最为强大的软件复读机，所有磁带复读机的功能，它全都有。而且，还有许多磁带复读机根本无法实现的实用功能，比如，波形可视跟读对比，精确定位到句子开头甚至单词开头，精确地只复读一个句子甚至一个单词，精确自动断句，一个句子一个句子地读，将难懂的部分摘录出来等等。用它可以将磁带声音转录到硬盘反复听读，还可以将VCD,网上英语广播的内容录制到硬盘进行复读。用它进行听力训练，效率比用磁带复读机高3～4倍。<br /><br />总之，飞跃英语系列软件，是您用软件学英语的最佳选择。<br /><br />下面再谈谈如何利用互联网学习英语。利用互联网学习英语，可以从下面几个方面进行：<br /><br />1．国内有数量众多的免费英语学习网站，提供大量英语学习材料，包括阅读文章，听力材料，考题等。经常上去逛逛会有收获。<br /><br />2．登录CRI、BBC，CNN等网站收听在线英语广播（VOA网站国内无法访问）。这比听收音机强，不受时间限制，而且听不懂可以重复。<br /><br />3．参加一些英语网站举办的网上英语角，英语聊天室等活动<br /><br />4．在一些英语网站订阅email英语杂志，每天都能收到一些文章，词汇用法或句子等。<br /><br />5．在网上搜寻和下载各类英语学习软件。<br /><br />目前，飞跃英语网站（<a href="http://www.flyenglish.com/" target="_blank">www.flyenglish.com</a>）还很简单，主要用于软件的售后服务，今后，飞跃英语网将会加强内容建设，并与飞跃英语系列软件相配合，力争成为国内最成功的英语学习网站。<br /><br /><br /><br /><br /><br />各种单词记忆方法评述<br /><br /><br /><br />郭 炜<br /><br /><br /><br />目前,有关单词记忆的书籍可以说汗牛充栋，各种记忆方法名目繁多，大多所谓的记忆法其实是炒作概念，迎合大家不想花大力气就能使词汇量突飞猛进的幻想，根就是本华而不实。 到底怎样背单词，尤其是怎样在短时间内记忆大量单词，作者可以说对此深有研究。作者独立开发的《我爱背单词》软件，早已成为TOEFL、GRE考生、大学生和职业人士背单词的首选软件，就足以证明这一点。而这个软件的精髓，也就是背单词的关键，可以用一个词来概括，那就是“重复”。正所谓大巧不工。听起这象是在鼓吹“死记硬背”， 实际上，“重复”也是有讲究的，这正是本《多维速记手册》要解决的问题，后面会谈到。这里想先说说在充分调查研究的基础上，对一些单词记忆方法所作的评论：<br /><br />一、联想型记忆法<br /><br />世上没有过目不忘的单词速记法，然而有些速记方法如联想法、谐音法、拆解法等却号称“过目不忘”。这一类基于想象的所谓“巧妙方法”，对于在几分钟内突击地暂时记住十几个单词确有奇效，也可以用来记忆少数老是记不住的单词，然而据我们调查，没有一个学生能用这类方法去记忆成千上万的单词。因为，这类方法对单词的回忆，是从“单词 --&gt;联想 --&gt; 词义”，实际上它的记忆量比普通的将单词和词义直接对应的硬记方法更大，也就是多出了“联想”这冗余的部分。由于这部分“联想”的内容通常是荒诞不经的，很有新鲜感，所以能一下子就记住。但是，一个单词和由它引发的“联想”之间并没有必然联系，联想是很随意甚至很牵强的，今天看到一个单词时联想到这个，明天再看到同一个单词恐怕就联想起那个了。当成千上万的单词都有一个“联想”和它对应的时候，这些“联想”已经不再具有新鲜感，加上还没有必然性，所以问题就来了：看到某个单词时，你不记得你应该联想起什么了，自然也想不起词义了。因此，这类方法不适合记忆大量单词。<br /><br />二、词根记忆法<br /><br />实践证明，这是一种值得肯定的单词记忆方法，它的好处大家都清楚，就不必说了. 然而，它并非放之四海皆准，仍有以下一些不足：<br /><br />1. 大多数的单音节词、双音节词，大量的多音节词并不包含任何词根，当然就根本无法运用词根法去分析记忆。（大学四、六级词汇这样偏简单的词汇2/3无法和词根扯上关系）例如：bucket（桶）、channel（通道、海峡），多得俯拾皆是，无需再举。<br /><br />2.有些单词虽然包含某个词根，然而很难看出该单词的词义和词根的意义之间有什么联系。以下是随意摘录自某流行词根学习手册的几个片段：<br /><br />sedition   [sed- = se 离开，it 走, -ion名词后缀；“走离”-&gt;<br /><br />  离轨-&gt;越轨-&gt;越轨的言论或行动 -&gt; ] 叛乱，暴动 <br /><br />refuse     [re-回,fus 流; “流回“ -&gt; 倒灌，倒流-&gt;退回-&gt;不接纳-&gt;]<br /><br />  拒绝<br /><br />contend   [con-共同,一起, tend 伸 -&gt; 伸取 -&gt; 追求 -&gt; “与…共同<br /><br />  追求” -&gt; ] 竞争，斗争 <br /><br />minister   [mini 小,-ster 表示人, “小人” -&gt; 地位低的人 -&gt;仆人<br /><br />  -&gt; 臣仆-&gt; ] 大臣，部长 <br /><br />在这里，词义和词根之间的联系是如此牵强和迂回，以致于已经成为联想式的记忆法了。每一本词根书籍中都有不少这样的单词，很难由词根推想出其意思。正如前面所说，联想一多就不管用了。<br /><br />3. 很多两三个字母的短词根没有什么代表性。例如词根 “di = day 日”，然而以“di”开头的单词，或包含“di”的单词实在太多了，常用的也有几百个，大部分词义和“日”扯不上半点关系，碰到这样的生词，记住“di”代表“日”又有什么意义？同样的词根还有“it = go 走”，“sen = old 老”, “pen = punish 罚”等等，不一而足。<br /><br />4. 现在流行的词根记忆书籍，大多都有一个通病：为了凑足词根的数量和单词的数量，收入了不少非常生僻的单词，比如专业词汇。大多数学英语的中国人一辈子也碰不着这些单词，试图掌握它们就是浪费时间。同样摘自某流行词根记忆手册：<br /><br />ot(o) = ear 耳<br /><br />otology 耳科学     otopathy   耳病   otalgia   耳痛 parotitis   腮腺炎<br /><br />ped = child 儿童<br /><br />pedantocracy 书生政治   pedobaptism   幼儿洗礼<br /><br />phil(o) = loving 爱<br /><br />philogynist 喜爱妇女的人 Anglophile 亲英派的人<br /><br /><br /><br />综上说述，词根法虽好，但不能光靠它来记单词。还应该和其他记忆方法配合使用。<br /><br />一般的词根书籍，至少会罗列出400多个词根，多的甚至达到600个。本软件带的词汇书则精心挑选了真正有代表性的词根约300个，杜绝生僻单词。<br /><br />三、其他记忆法<br /><br />还有其他一些单词记忆法，如近义词记忆法----把词义相同或相近的单词列在一块，一起记忆；分类记忆法----同一类别的单词（比如关于“职业”的单词）一起记忆；形近词记忆法----拼写相近的单词一起记忆，这些记忆法都其可取之处，不过单独依靠其中一种，均很难起到“速记”的作用，其效果不及词根记忆法。<br /><br />还有一种很轻松的记忆方法，就是在愉快的阅读中自然而然地记住碰到的生词。最好是上午刚背的几十个词，下午看英文报纸时几乎都碰上了（太理想化了）。在阅读中记忆单词，查字典是最头疼的，做笔记也很累人。《飞跃英语》软件通过阅读软件、词典软件和背单词软件相结合，圆满地解决了这个问题，当然，那是在电脑上阅读。尽管如此，在阅读中记忆单词仍然不是高效的，也缺乏针对性，虽然轻松，记得也挺牢。试想，读了十分钟的文章，才记住三、四个生词，效率是不是太低了？<br /><br />那么，到底什么是短时间内背大量单词的最好方法呢？其实，不论用哪种方法，没有人能够将大量单词只背一两遍就牢牢记住，重复，也就是反复的复习，是唯一可靠的办法。然而，重复也是有讲究的。高效率的重复应该符合以下三条：<br /><br />一、在适当的时间（遗忘临界点）进行复习，能够事半功倍。根据德国心理学家艾宾浩斯已得到国际认知学界承认的研究结果，人们对其希望长期记忆学习材料，重复多次的复习是极其关键的。合理选择复习的时间，在适当的“遗忘临界点”及时复习，效果最佳。不及时复习固然会造成遗忘，而过多，过早的复习则是时间上的浪费。根据艾宾浩斯绘制的遗忘曲线，一般来说，人们在记忆某些材料过后的 第 2 天，第 3 天，第10天，第30天，第70天….处于“遗忘临界点”，在这些天及时复习，效果最好，效率最高,。按此规律经过大约7次复习，就可永久记住所学材料。当然，具体的“遗忘临界点”和需要复习的总次数也因人而异。《我爱背单词》软件提供了很好的手段以支持这种复习方式，用书本背单词，您只能自己掌握了。<br /><br />二、复习应该是有重点的。对大多数人来说，一本词汇书中的单词可以分为已经会的词和生词两类，而同样是生词，其记忆的难易程度至少可以分成三级----好记的，比较难记的，老记不住的。显然对于这三级的单词复习次数应该是不一样的。那么，关键就是要把难记的词挑出来，最好注意力不要在熟悉单词上的停留，这样才能避免浪费，达到较高的效率。《我爱背单词》软件对这一点有完美的解决方案。用书本背单词，当然只能通过做记号的方式来标出难的单词了。切记，做记号很重要。本软件带的词汇书对做记号提供了特殊的支持，请看以下单词的编排方式：<br /><br />| | abroad         ad.(在)国外,到处         [E5brC:d]<br />| | absence         n.缺席,不在场,缺乏       [5Absns]<br />| | absent         a.不在场的,缺乏的       [5AbsEnt]<br />| | absolute       a.绝对的,纯粹的         [5Abs[lu:t]<br />| | absolutely       ad.完全地,绝对地       [5Abs[lu:tlI]<br /><br /><br /><br />两条竖线将单词左边的空白划分成三栏，可以在不同的栏内打勾或画圈以代表单词的难易程度。一般来说，可以先在所有生词的最右侧那一栏打勾，看过一两遍后发现哪些生词比较难记，就在中间一栏再打勾，特别难的在最左边一拦打勾。复习时，目光沿着竖线的左侧或右侧快速扫过，很快就能定位到相应难度级别的单词，避免了注意力在其他级别单词上的停留。<br /><br />三、高效率的重复应该是多角度的重复。简单地说，就是一个单词在同一个地方看了三次，还不如在不同地方看到两次来得印象深刻。《我爱背单词》软件借助电脑的多媒体优势，以不同形式对同一单词进行重复的强化记忆，收到了很好的效果。背单词的过程就是一个不断重复记忆的过程。高效率的重复应该是多角度的重复。简单地说，就是一个单词在同一个地方看了三次，还不如在不同地方看到两次来得印象深刻。本软件付带三本词汇书，分别用形近词法、近义词法、词根法三种方法记忆单词。多数单词会出现在两种以上的记忆法中，能在不同地方对您产生重复刺激，增强记忆效果。而且，同一单词在不同地方出现时它的解释还可能有所不同，有利于全面掌握单词的多种词义。另外，用同一个单词列表反复背记容易产生由于上下文的提示、影响作用所造成的“虚记”现象，也就是说，在这个词汇表中看到某个单词，您能想起它的意思，可是同一单词出现在别处，您就认不出来了。本软件带的词汇书能够有效避免“虚记”的发生。<br /><br />总之，背单词没有神奇的捷径，少不了要苦下工夫。不管运用什么样的记忆方法，说到底反复记忆是最好的方法。”</span>
		<br />
<img src ="http://www.cnitblog.com/charester/aggbug/14516.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/charester/" target="_blank">天空</a> 2006-08-01 15:54 <a href="http://www.cnitblog.com/charester/articles/14516.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>