发布新日志

  • SQL2008讲座视频,蛮详细的

    sweetxmy 发布于 2010-09-28 14:55:25

  • 说说设计测试用例中一些有趣的事

    sweetxmy 发布于 2010-09-20 15:50:01

         今天来了兴趣,突然想写写工作中如何设计测试用例的。

    刚开始只是学习了,并不知道具体怎么去做,在不断的测试工作中,不断的总结发现,其实学会做测试用例相当有用。远的价值咱不说,至少它可以帮你提高工作效率,执行测试效率。

    设计测试用例的过程,是一个分析问题的过程,有时会很纠结,比如说前一段时间,我一直在想办法为难我自己。因为我不相信这个功能会这么简单就这么点用例就测试完成了。事实证明多想多做还是有好处,至少在后来的测试中,我还是发现了一个非常严重的BUG,而且如果不及时修改,这个功能一上线就会有造成成千上万条垃圾数据。

    以现在用户的使用规模,假如有6K个用户使用,每个用户制作10条,数据库中至少会存在6W条垃圾数据。

    正因为测试用例设计的完善,才及时弥补了这个缺陷,要不然时间一长不知道该如何向客户交待。估计测试人员对自己的自信心也会降低很多吧。

    以下说说个人工作中经常会用到的一些方法,非常规类边界或其它的,目前还没有想到这叫什么方法,有待日后总结,不过大家有兴趣可以试着设计一下以下的测试用例。反正蛮锻炼人的。。。

    1.先来一个有关时间相互约束的例子。很多产品中都会有这四个值,如果以下是世博会门票的销售时间,大家会如何设计以下四个值的测试用例呢?又或者是未来一场XX明星演唱会的门票的销售时间。

    begin sell date预售时间            end sell date预售结束时间

    begin date开场时间                end date结束时间

    以上四个时间取值,其实相互之间是有一些约束关系的。

    先留给观博的同学思考,以后我再放出来我的用例想法。

    2.数据的新建,修改,再修改,特别是重命名是非常有意思的测试。

    允许上级与下级同名,不允许下级与上级同名,大家可以想想这个功能上下级的测试用例。

    3.有关配置的也有趣,一个功能enable--disable--enable

    disable--enable--disable

    如果再配上继承或代替,分配功能那就更折磨人了。至少够用例测试人员几宿失眠考虑测试用例了。再强一点把第2条加进来,测试用例的复杂度又升一级。

    4.最近测试的chain级功能确实很锻炼人

    分上级和下级,上级分配给下级功能,下级也可以自己创造同功能数据。

    这个功能想想就觉得太强大了,够一个测试团队花3个月去测试了。

    同时还要考虑接口的测试,复杂度真的不是一般啊。

    5.有关时间段的测试,在一个时间段时可以按每天执行不同的事务,如果同一时间段只允许执行同一个事务。

    大家再想想这个测试用例。

     

  • [转]清华胡宇迪教授谈关于爱情、伴侣、承诺、人生、友情、微笑、生活、幸福

    sweetxmy 发布于 2010-09-14 12:14:48

    关于爱情:

    不要认为后面还有更好的,因为喜欢你的就是最好的。
    不要认为还年轻可以晚些结婚,爱情是不等年龄的。
    不要因为距离太远而放弃,爱情可以和你一起坐火车的。
    不要因为对方不富裕而放弃,只要不是无能的人,勤劳可以让你们富裕的。只要他努力就好。
    不要因为父母反对而放弃,你会发现因为这个原因而放弃的爱情,将是你一生的悔恨。
    其实对于爱情,越单纯越幸福。一生只谈一次恋爱是最好的,经历的太多了,会麻木;分离多了,会习惯;换恋人多了,会比较;到最后,你不会再相信爱情;
    你会自暴自弃;你会行尸走肉;你会与你不爱的人结婚,就这样过一辈子。


    关于爱情:

    也许爱情是一部忧伤的童话,惟其遥远与真实。
    放弃一个爱你的人并不痛苦,放弃一个你爱的人那才痛苦。
    若是有缘时间空间都不是距离,若是无缘总是相聚也无法合意;凡事不必太在意,更不需去强求,就让一切随缘。
    逃避不一定躲得过;面对不一定最难过;
    孤独不一定不快乐;得到不一定长久;失去不一定不再拥有。
    爱是一种享受,即使痛苦也会觉得幸福;
    爱是一种体会,即使心碎也会觉得甜蜜;
    爱是一种经历,即使破碎也会觉得美丽;
    不要因为寂寞而错爱,不要因为错爱而寂寞一生。


    关于伴侣:

    伴侣不是结婚时发誓非你不娶或非你不嫁的那个人,而是发现你身上有许多缺点仍然选择你的那个人;
    伴侣不是生活中你爱吃黄瓜ta也爱吃黄瓜的那个人,而是你吃蛋清ta吃蛋黄的那个人;
    伴侣不是天黑了和你一起手挽手走进饭店的那个人,而是守在门口巴望你回来共进晚餐的那个人;
    伴侣不是和你大谈爱情,把“我爱你”挂在嘴边的那个人,而是和你平淡的唠叨柴米油盐、锅碗瓢盆的那个人。
    在幸福的婚姻中,伴侣已不是一个具体的人,而是你和ta在几十年的岁月中沉淀下来的:一份默契、一份温情、一份平淡、一份理解、一份宽容。
    爱ta就要让ta开心,这就是伴侣........


    关于承诺:

    在古希腊传说中,情侣都将戒指套在对方的中指上,因为他们相信那儿有一根血管直通心脏。所以戒指的意思就是用心承诺!
    但是人世间有多少爱能生死白头,又有多少的情可以天长地久?
    所以你选择共度一生的未必是你最爱的,你最爱的未必能和你共度一生。
    多少的有情人走不进彼此的今生,只能苦苦的相约于来世;而多少的男男女女走过爱情走进婚姻却不会再珍惜彼此的付出。
    所以记得珍惜你爱的人,把每一个平淡的今天当成是彼此相依的最后一刻,好好握紧爱人的手,即使ta容颜已老,即使ta满面沧桑,那也是你记忆中永恒的温馨。
    别忘了守住对ta的承诺,别忘了牵住ta的手,一生一世一辈子.....


    关于人生:

    人生如梦,岁月无情。蓦然回首,才发现人活着是一种心情。
    穷也好,富也好,得也好,失也好。一切都是过眼云烟。想想,不管昨天、今天、明天,能豁然开朗就是美好的一天。
    不管亲情、友情、爱情,能永远珍惜就是好心情。
    记得有一个经典短信这样写着:
    曾经拥有的不要忘记;已经得到的更加珍惜;
    属于自己的不要放弃;已经失去的留作回忆;
    想要得到的一定要努力;累了把心靠岸;
    选择了就不要后悔;苦了才懂得满足;
    痛了才享受生活;伤了才明白坚强;
    总有起风的清晨;总有绚烂的黄昏;总有流星的夜晚。
    人生就像一张有去无回的单程车票,没有彩排,每一场都是现场直播。
    把握好每次演出便是对人生最好的珍惜。
    把握现在,畅享人生!


    关于友情:

    有一天,友情和爱情碰见。
    爱情问友情:世上有我了,为什么还要有你的存在?
    友情笑着说:爱情会让人们流泪,而友情的存在就是帮人们擦干眼泪!
    朋友就是:偶尔会为你担心、向你关心、替你懆心、想你欢心、逗你开心、请你放心。
    朋友之间,懂得关怀才是难得.....
    伤心时不妨和我说;
    痛苦时别忘了跟我讲;
    有病时别忘了通知我;
    困难时记得要请教我;
    失望时要想起还有我;开心时更不要忘记我。

    朋友的定义,就在于此.....我们是朋友,这就够了.......


    关于微笑:

    被人误解的时候能微微的一笑,这是一种素养;
    受委屈的时候能坦然的一笑,这是一种大度.

  • C#语言学习

    sweetxmy 发布于 2010-05-24 11:54:53

    因为工作需要近2年前前后后,用零碎的时间学习了c#的编程方法,很高兴的是原来2年前因编程问题没有解决的问题,现在已经基本解决。

    推荐一下网上的2个视频
    1.C#程序设计入门与实例视频教程  
    广西机电职业技术学院的陈广老师,视频非常棒,step by step。
    入门级相当不错
    2.VS2005入门视频教程
    大名鼎鼎的天轰穿老师,四川人,偶尔来个四川话可以乐一乐,不过授课不生动,只有耐着性子听下去了。


    还有一个比较好的开发BUG管理工作,大家可以用已经学习过的C#试试水
    Bugtracker

    从配置到功能调整,有时测试累了,玩玩编程,逗自己一乐,特别是将程序改到自己期望的样子,很有成就感。

  • 小公司或几个测试人员如何开展测试工作

    sweetxmy 发布于 2010-08-04 10:11:09

       由论坛中“测试从零开始的公司应该如何建立测试与开发之间的流程”想到的,小公司或只有几个测试人员如何开展测试工作呢?以下是个人经验谈。
    因为公司小,所以测试人员的工作可以相对简单些,不过肩上的担子没有轻。


    1.参与需求分析流程
    开发部门接到新的开发任务时,参与讨论。并设专人作会议整理,将会议中讨论的内容逐条记录。会后发给全部会议人。有没有专门的需求文档,都一样要做。
    优点:可以作为开发和测试的依据。如果公司条件好,可以备个录音笔,将每次会议讨论做个录音,这样如果发生岐议时,大家可以听听录音,找到当时的想法。如果没有专门的需求文档,这个会议记录就相当重要了,内容还需包含PM或需求人员提供的样本文档。
    2.做模块测试策略和计划,这个相当重要。
    优点:一个人做可以养成好的习惯,刚开始可能不全,随着业务的熟悉。测试策略和计划就会更加完善。
    比如测试数据的准备,环境的搭建,时间的安排等其它的。
    3.先做测试用例,再做测试。(最好有TEST CASE管理程序,没有的话就用EXCEL好了)
    核心测试用例先运行,如果不通过,直接打回开发。
    可以share部分核心测试用例给开发,由开发自测。确认通过后,再给测试人员测试。
    优点:节约时间。
    4.如果时间允许可以做个评审,对大家都有好处。
    开发可以了解测试的工作细节,测试也可以了解开发对测试的看法。
    5.发现BUG,及时加入BUG管理流程(需要搭建BUG管理程序)
    以邮件通知为主,开通开发人员的账户。
    开发按BUG的重要级别修改,TEST 做Regression test.

    提示:有些BUG需要补充测试用例。
    6.每个模块测试完毕,写测试报告

    测试人员自测能力
    1.具不具备自己搭建测试环境能力
    2.对CODE的熟练度,如果熟悉CODE可以做白盒测试,灰盒测试,到系统测试。
    不过因为你是一对四,估计时间不够。
    3.被测试软件的配置及发布能力
    是否需要和开发共同被测试软件的环境还是分开,如果分开是你自己去配置测试环境还是开发人员帮助你配置测试环境。
    如果你熟悉配置和管理,那么被测试软件的版本发布工作应该由你来完成。
    4.管理和沟通能力
    在BUG修改中,有可能你需要监督开发的工作,也有可能需要管理开发的工作
    比如说及时检查开发对BUG的修改。

  • 浅谈软件测试流程

    xuanyan 发布于 2007-03-26 17:32:51

    浅谈软件测试流程

     

    宣言:xuanyan356@163.com

     

    【摘要】 软件测试从哪里开始到哪里结束?中间要经过哪些环节以及各环节要注意哪些事项。本文就有关问题结合个人实际工作经验进行阐述,鉴于每个环节都可以做为一个专题来进行探讨,所以受篇幅和时间限制,本文对有关问题未做深入剖析,只做一个宏观上的介绍。

    【关键词】测试流程、需求分析、测试用例、测试计划、缺陷管理

     

    一、概述

     

    一般而言,软件测试从项目确立时就开始了,前后要经过以下一些主要环节:

    需求分析→测试计划→测试设计→测试环境搭建→测试执行→测试记录→缺陷管理→软件评估→RTM.

     

    在进行有关问题阐述前,我们先明确下分工,一般而言,需求分析、测试用例编写、测试环境搭建、测试执行等属于测试开发人员工作范畴,而测试执行以及缺陷提交等属于普通测试人员的工作范畴,测试负责人负责整个测试各个环节的跟踪、实施、管理等。

    说明:

    1.以上流程各环节并未包含软件测试过程的全部,如根据实际情况还可以实施一些测试计划评审、用例评审,测试培训等。在软件正式发行后,当遇到一些严重问题时,还需要进行一些后续维护测试等。

     

    2.以上各环节并不是独立没联系的,实际工作千变万化,各环节一些交织、重叠在所难免,比如编写测试用例的同时就可以进行测试环境的搭建工作,当然也可能由于一些需求不清楚而重新进行需求分析等。这就和我们国家提出建设有中国特色的社会主义国家一样,只所以有中国特色,那是因为国情不一样。所以在实际测试过程中也要做到具体问题具体分析,具体解决。

     

    二、测试流程

     

     

        

    需求分析

     

    需求分析(Requirment Analyzing)应该说是软件测试的一个重要环节,测试开发人员对这一环节的理解程度如何将直接影响到接下来有关测试工作的开展。

    可能有些人认为测试需求分析无关紧要,这种想法是很不对的。需求分析不但重要,而且至关重要!

     

    一般而言,需求分析包括软件功能需求分析、测试环境需求分析、测试资源需求分析等。

     

    其中最基本的是软件功能需求分析,测一款软件首先要知道软件能实现哪些功能以及是怎样实现的。比如一款Smartphone包括VoIPWi-Fi以及Bluetooth等功能。那我们就应该知道软件是怎样来实现这些功能的,为了实现这些功能需要哪些测试设备以及如何搭建相应测试环境等,否则测试就无从谈起!

     

    既然谈了需求分析,那么我们根据什么来分析呢?总不能凭空设想吧。

     

    总得说来,做测试需求分析的依据有软件需求文档、软件规格书以及开发人员的设计文档等,相信管理一些规范的公司在软件开发过程中都有这些文档。

     

    测试计划

      

    测试计划(Test Plan)一般由测试负责人来编写。

     

       测试计划的依据主要是项目开发计划和测试需求分析结果而制定。测试计划一般包括以下一些方面:

     

    1.  测试背景

    a.       软件项目介绍;

    b.       项目涉及人员(如软硬件项目负责人等)介绍以及相应联系方式等。

    2.  测试依据

    a.       软件需求文档;

    b.       软件规格书;

    c.       软件设计文档;

    d.       其他,如参考产品等。

    3.  测试资源

    a.       测试设备需求;

    b.       测试人员需求;

    c.       测试环境需求;

    d.       其他。

    4.  测试策略

    a.       采取测试方法;

    b.       搭建哪些测试环境;

    c.       采取哪些测试工具以测试管理工具;

    d.       对测试人员进行培训等。

    5.  测试日程

    a.       测试需求分析;

    b.       测试用例编写;

    c.       测试实施,根据项目计划,测试分成哪些测试阶段(如单元测试、集成测试、系统测试阶段,α、β测试阶段等),每个阶段的工作重点以及投入资源等。

    6.  其他。

     

    测试计划还要包括测试计划编写的日期、作者等信息,计划越详细越好了。

    计划赶不上变化,一份计划做的再好,当实际实施的时候就会发现往往很难按照原有计划开展。如在软件开发过程中资源匮乏、人员流动等都会对测试造成一定的影响。所以,这些就要求测试负责人能够从宏观上来调控了。在变化面前能够做到应对自如、处乱不惊那是最好不过了。

     

    测试设计

     

    测试设计主要包括测试用例编写和测试场景设计两方面。

     

    一份好的测试用例对测试有很好的指导作用,能够发现很多软件问题。关于测试用例编写,请参见前面写的《也谈测试用例》一文,里面有详细阐述。

     

    测试场景设计主要也就是测试环境问题了。

     

    测试环境搭建

     

    不同软件产品对测试环境有着不同的要求。如C/SB/S架构相关的软件产品,那么对不同操作系统,如Windows系列、unixlinux甚至苹果OS等,这些测试环境都是必须的。而对于一些嵌入式软件,如手机软件,如果我们想测试一下有关功能模块的耗电情况,手机待机时间等,那么我们可能就需要搭建相应的电流测试环境了。当然测试中对于如手机网络等环境都有所要求。

     

    测试环境很重要,符合要求的测试环境能够帮助我们准确的测出软件问题,并且做出正确的判断。

     

    为了测试一款软件,我们可能根据不同的需求点要使用很多不同的测试环境。有些测试环境我们是可以搭建的,有些环境我们无法搭建或者搭建成本很高。不管如何,我们的目标是测试软件问题,保证软件质量。测试环境问题,还是根据具体产品以及开发者的实际情况而采取最经济的方式吧。

     

    测试执行

        

    测试执行过程又可以分为以下阶段:

     

    单元测试→集成测试→系统测试→出厂测试,其中每个阶段还有回归测试等。

     

    从测试的角度而言,测试执行包括一个量和度的问题。也就是测试范围和测试程度的问题。 比如一个版本需要测试哪些方面?每个方面要测试到什么程度?

     

    从管理的角度而言,在有限的时间内,在人员有限甚至短缺的情况下,要考虑如何分工,如何合理地利用资源来开展测试。当然还要考虑以下问题:

    1.  当测试人员测试的执行不到位、敷衍了事时该如何解决?

    2.  测试效率问题,怎样提高测试效率?

    3.  根据版本的不同特点是只做验证测试还是采取冒烟测试亦或是系统全面测试?

    4.  当测试过程中遇到一些偶然性随机问题该怎样处理?

    5.  当版本中出现很多新问题时该怎样对待?测试停止标准?

    6.  ……

    总之,测试执行过程中会遇到很多复杂的问题,还是那句话,具体问题具体解决!本文不做过多阐述。

     

    测试记录

     

    缺陷记录总的说来包括两方面:由谁提交和缺陷描述。

     

    一般而言,缺陷都是谁测试谁提交,当然有些公司可能为了保证所提交缺陷的质量,还会在提交前进行缺陷评估,以确保所提交的缺陷的准确性。

     

    在缺陷的描述上,至少要包括以下一些方面内容:

    序号

    标题

    预置条件

    操作步骤

    预期结果

    实际结果

    注释

    严重程度

    概率

    版本

    测试者

    测试日期

     

    以上是描述一个bug时通常所要描述的内容,当然在实际提交bug时可以根据实际情况进行补充,如附上图片、log文件等。

     

    另外,一个版本软件测试完毕,还要根据测试情况出份测试报告,这也是所要经过的一个环节。

     

    缺陷管理

     

    缺陷管理方面,很多公司都采取缺陷管理工具来进行管理,常见缺陷管理工具有Test DirectorBugfree等。

     

    下图是一个bug从提出到close所经过的一些流程,其他比如keep No action\keep spec等一些状态流程都未包含在内,在此仅做示范说明。

     

     

    注:软件缺陷和bug两者在含义上有着细微差别,本文统称缺陷。

     

    软件评估

     

    这里评估指软件经过一轮又一轮测试后,确认软件无重大问题或者问题很少的情况下,对准备发给客户的软件进行评估,以确定是否能够发行给客户或投放市场。

    软件评估小组一般由项目负责人、营销人员、部门经理等组成,也可能是由客户指定的第三方人员组成。

     

    测试总结

     

    每个版本有每个版本的测试总结,每个阶段有每个阶段的测试总结,当项目完成RTM后,一般要对整个项目做个回顾总结,看有哪些做的不足的地方,有哪些经验可以对今后的测试工作做借鉴使用,等等。测试总结无严格格式、字数限制。应该说,测试总结还是很总要的。

     

    测试维护

     

       由于测试的不完全性,当软件正式release后,客户在使用过程中,难免遇到一些问题,有的甚至是严重性的问题,这就需要修改有关问题,修改后需要再次对软件进行测试、评估、发行。

     

     

    作者 宣言 2007-03-25

  • 学习测试先要了解测试流程

    annayin 发布于 2007-02-02 18:11:22

    学习测试先要了解测试流程

    下面的是51testing周末公开课测试流程大纲

    软件测试流程培训课程提纲
    第一章:软件开发测试基本流程介绍

    1、软件项目生命周期
      简单介绍软件生命周期中的各个关键环节和关键点。

    2、软件开发测试基本流程介绍
    (1)软件需求分析阶段
      软件需求分析阶段,软件开发人员和软件测试人员的主要工作内容和技术技巧
    (2)软件系统测试计划阶段
      软件系统测试计划阶段,需要完成的系统测试计划、系统测试方案和系统测试用例的基本方法和步骤
    (3)软件概要设计阶段
      软件概要设计阶段,软件开发人员撰写概要设计文档。概要设计与集成测试之间的关系,以及概要设计文档的可测试性问题
    (4)软件集成测试计划阶段
      软件集成测试计划阶段,需要完成的集成测试计划、集成测试方案和集成测试用例的基本方法和步骤,以及集成测试的基本策略和原则
    (5)软件详细设计阶段
      软件详细设计阶段,软件开发人员撰写详细设计的基本原则,通过伪码样例讲解软件详细设计的撰写准则。
    (6)软件单元测试计划阶段
      软件单元测试计划阶段,需要完成的单元测试计划、单元测试方案和单元测试用例的基本方法和步骤
    (7)软件代码评审阶段
      软件代码评审阶段,保证代码质量的多种静态测试方法,包括采用自动化测试工具的方法和人工的代码质量保证方法
    (8)软件单元测试和集成执行阶段
      软件单元和集成测试执行阶段,如何开展软件自动化测试工作,并且使用具体实例演示
    (9)软件系统测试执行阶段
      软件系统测试执行阶段,软件系统测试执行的方法、策略、工具选择方面的内容


    第二章:软件同行评审

    1、同行评审基本概念
      介绍同行评审的概念、同行评审的作用,以及正规检视、技术评审、走读的区别。

    2、同行评审基本流程
      通用同行评审流程、通用同行评审计划阶段、通用同行评审介绍会议、通用同行评审准备阶段、通用同行评审的评审会议、通用同行评审的第三小时会议、通用同行评审的评审返工、通用同行评审的问题跟踪

    3、同行评审常见问题
      介绍在软件同行评审过程中,常见的问题分析;

    4、软件开发测试各阶段的需求评审
    (1)针对需求规格的评审分析
    (2)针对概要设计的评审要点分析
    (3)针对详细设计的评审要点分析
    (4)针对系统测试用例的评审要点分析
    (5)针对集成测试用例的评审要点分析
    (6)针对单元测试用例的评审要点分析
    (7)针对代码走读的要点分析


    第三章:软件测试需求分析过程

    1、软件测试需求分析方法概述
      介绍软件测试需求分析的常用方法,包括测试类型分析法、测试阶段分析方法等

    2、软件测试需求分析过程和方法
      讲解软件测试需求分析的四大步骤,包括被测试产品分析、软件测试需求的提取、软件测试规格分析、软件测试用例设计,并且在每个阶段引入相应的分析方法和分析策略。

    3、软件测试用例设计实例解析
      根据上述产品测试需求分析的步骤,以某产品为例,讲解如何从被测试产品的原始需求,通过上述四个步骤导出最后的产品测试用例。

    第四章:软件需求跟踪

    1、概述
    (1)软件测试需求管理和跟踪的必要性和紧迫性
    (2)传统软件开发过程中需求管理和需求覆盖方法

    2、传统开发过程中的需求管理和需求覆盖方法
    (1)需求管理工程介绍
    (2)需求跟踪流程

    3、结合需求管理工具完成需求跟踪练习
      根据教师提供的文档,学员完成软件需求规格->软件测试需求规格->软件系统测试用例->软件缺陷的的需求跟踪过程;

    第五章:软件缺陷管理

    1、软件缺陷管理的基本概念
      软件缺陷相关的基本概念:缺陷、故障、失效、缺陷报告单等。

    2、软件缺陷跟踪基本流程
    (1)软件缺陷跟踪流程中的角色和相关职责
    (2)软件测试基本流程

    3、软件缺陷分类方法
    (1)按照缺陷发现阶段划分
    (2)按照缺陷发现活动划分
    (3)按照缺陷严重等级划分
    (4)按照缺陷类型划分

    4、软件缺陷跟踪单的填写方法
      软件测试工程师填写软件缺陷报告单的技巧、方法和关注点

    5、软件缺陷跟踪工具介绍

    6、软件缺陷分析概述
    (1)软件缺陷分析的定义
    (2)软件缺陷分析的发展历史
    重点介绍根本原因分析发展史、可靠性模型发展史、正交分析法发展史。

    7、软件缺陷分析常用方法
      重点介绍正交缺陷分类分析方法、Gompertz、Rayleigh、缺陷根源分析方法。通过学习掌握,以上软件缺陷分析方法的基本原理和分析思路。

    第六章:软件配置管理

    1、软件配置管理介绍
      配置管理的基本概念介绍,包括配置、配置项、基线、版本、版本标识等基本概念。

    2、软件配置管理活动
    (1)配置计划
    (2)配置标识
    (3)配置控制
    (4)配置状态发布
    (5)配置审计

    3、软件配置库管理
    (1)常用配置管理工具介绍
    (2)配置库权限管理
    (3)配置库备份策略
    (4)配置库归档

    4、配置管理对于开发工程师和测试工程师的重要性


    第七章:软件系统测试计划

    1、系统测试过程和定义
    (1)软件测试过程
    (2)系统测试的四个阶段
    (3)系统测试在V&V中的地位
    (4)系统测试中角色和职责
    (5)系统测试入口准则和出口准则
    (6)系统测试的输入和输出
    (7)系统测试相关的文档模板和Checklist

    2、系统测试计划写作
      本章节通过具体的实例,教授学员系统测试计划写作方法,涵盖系统测试计划的目标、软件测试计划的总体概述、软件测试项目的组织形式、被测试对象分析、软件测试的需求跟踪、测试通过/失败标准、测试挂起/恢复条件、测试任务安排(包括安排任务的方法、标准,任务的输入/输出、任务的时间安排、任务所需资源安排、任务的风险和假设、任务相关的角色和职责)、应交付的测试工作产品描述、测试任务的资源分配方法等。


    第八章:软件系统测试方案

    1、软件测试方案简介
      介绍测试方案和测试计划的区别,以及测试方案所处的阶段。

    2、软件测试方案写作要点分析
      介绍测试方案的模板布局,以及模板中各个测试项目中的写作要点。

    第九章:软件测试报告和软件测试日报写作

    1、软件测试日报的写作方法和要点
      讲解软件测试日报写作要点,软件测试日报包括软件测试日志、软件测试记录和软件测试数据汇总,并且,讲解软件测试日报的写作要点和日报中测试数据分析方法。

    2、软件测试报告写作方法和要点
      讲解软件测试报告的基本格式,以及软件测试报告的写作要点。软件测试报告包括一下基本要点:测试时间、地点及人员、环境描述、测试对象质量评估、覆盖率统计、测试对象质量评价、测试过程评估、测试设计评估、测试执行评估、测试执行统计数据、测试用例执行结果统计数据。

    3、学员完成软件系统测试日报和报告
      学员结合系统测试用例执行得到的测试结果完成软件测试日报和软件测试报告,教师对学员作业点评。

    第十章:软件测试团队组建和测试工程师培养

    1、软件测试工程师的职业发展路线
      讲解软件测试工程师的岗位划分、岗位技能要求、以及软件测试工程师的职业发展通道;

    2、软件测试团队的组建和团队管理
      讲解软件测试团队组建的原则,以及团队的管理策略和方法;
  • 新画的测试流程图

    April.H.X 发布于 2007-01-30 16:11:39

     
  • 软件测试流程

    smilings 发布于 2006-12-22 17:46:02

    软件测试流程

    一、新产品或工程管理流程

    1、  需求调研

    在软件需求分析阶段,测试人员从软件生命周期的需求阶段就开始介入在需求阶段的测试人员参与软件需求调研,以测试角度分析需求的可测性,可构思将来对其测试的方法、原则等;同时全面了解系统需求,从客户角度考虑软件测试需要达到的验证状态,即何些功能点需重点测试、何些无需,以便将来制定测试计划。

    2、  制定测试计划

    进行每一种测试之前,测试负责人要根据“产品定义书”及“总体设计说明”和“详细设计文档”制定“测试计划”,制定总体的测试计划,详细阐明本次测试目的、对象、方法、范围、过程、环境要求、接受标准以及测试人员和测试时间等内容,“测试计划”经过审查通过,才能实施。

    3、  需求Review

    开发在完成软件需求分析之后,会提交需求分析文档,测试人员根据需求调研所了解的需求以及产品需求说明文档等资料,对需求分析文档进行Review,检查文档是否满足了需求,是否与需求一致等等。

    4、  设计Review

    在软件分析设计阶段,测试人员参与设计讨论,了解系统的实现方式和原理,并对概要设计和详细设计提出自己的见解。设计结束之后,开发提交概要设计文档和详细设计文档,测试人员对设计进行Review,检查设计规划和实现方案是否合理,如果不合理,存在的问题是什么、如何改进等等。

    5、  测试设计

    在设计测试方案时,首先分解测试内容,对于一个复杂系统,通常可以分解成几个互相独立的子系统,正确地划分这些子系统及其逻辑组成部分和相互间的关系,可以降低测试的复杂性,减少重复和遗漏,也便于设计和开发测试用例,有效的组织测试,将系统分析人员的开发分析文档加工成以测试为角度的功能点分析文档,重要的是描述对系统分解后每个功能点逐一的校验描述,包括何种方法测试、何种数据测试、期望测试结果等。然后以功能点分析文档作为依据进行测试用例的设计,设计测试用例是关系到测试效果以至软件质量的关键性一步,也是一项非常细致的工作,根据对具体的北侧系统的分析和测试要求,逐步细化测试的范围和内容,设计具体的测试过程和数据,同时将结果写成可以按步执行的测试文档。每个测试用例必须包括以下几个部分:

    (1)       标题和编号

    (2)       测试的目标和目的

    (3)       输入和使用的数据和操作过程

    (4)       期望的输出结果

    (5)       其他特殊的环境要求、次序要求、时间要求等

    6、开发测试工具和准备测试数据

       在软件测试中,为了提高测试工作的效益和质量,只要条件许可,应尽可能采用计算机自动或半自动测试的方法,利用软件工具本身的优势来提高工作效率。

    7、测试执行

    当所有必需的测试准备工作都已完成,并且产品已经开发完毕并提交测试,则可以按照预定的测试计划和测试方案逐项进行测试。在测试过程中发现的任何与预期目标不符的现象和问题都必须详细记录下来,填写测试记录。为了能准确的找出问题产生的原因,及时的解决问题,保证测试工作的顺利进行,一般来说所发现的问题必须是能够重视的。

    8、回归测试

       在测试中发现的任何问题和错误都必须有一个明确的解决方法。一般来说,经过修改的软件可能仍然包含着错误,甚至引入了新的错误,因此,对于修改以后的程序和文档,按照修改的方法和影响的范围,必须重新进行有关的测试。另一方面,对于版本更新后的软件也必须进行同样的测试过程。

    9、测试分析报告

       测试结束后要及时地进行总结,对测试结果进行分析,由测试负责人提交“测试分析报告”。

    10、产品发布

       测试完毕,整理产品发布包和相关文档并发布。对于新产品来说,必要的文档必须包括:

    (1)       安装操作手册

    (2)       产品白皮书

    (3)       管理维护手册

    (4)       用户操作手册

    (5)       测试报告

    11、版本控制

    新版本软件发布之后,马上对代码进行质量控制。

    (1)       Build Master给新版本的代码打一个cvs tag,方便代码回滚check out。比如,发布版本为p2p3.3.2,则给该软件代码也打一个与发布版本相同名字的tag p2p3.3.2。这样做的一个好处是,在目前的软件的基础上做了修改并发布新的版本后,如果需要check out某个版本的代码,则可以通过这个版本的tagcheck out,代码的修改可以在该版本上进行。

    (2)       Build Master对新发布的软件代码进行cvs lock,不允许开发人员在软件发布之后commit源代码,直到有新版本需求修改再给开发人员开放commit权限。这样做的好处是避免开发人员随意修改和commit源代码,确保源代码服务器上的源版本版本与当前最新的发布版本一致。

    二、工程维护管理流程

    1、  收集新需求:新功能和不紧急的故障,其代码的修改操作不必马上进行,取而代之的是做好新需求与故障统计;对已经确认的故障也可以先在bug管理系统报bug,但只是记录,不需求马上修改。当然了,对于紧急的工程故障,需要马上修改和测试。

    2、  确认新需求:与工程人员或客户或产品经理确认新需求,确保需求被理解正确。

    3、  需求讨论:当需求与故障积累到一定数量或者工程有新版本需求,进行一次发布测试,在新版本开始修改之前把近期积累的需求与故障整理,与相关开发人员、测试人员、项目经理和测试经理讨论,确认哪些新功能可以实现、新功能的实现方法与业务流程、新功能开发修改时间、测试版本、测试时间与发布时间。

    4、  bug跟踪管理系统报bug:确认所有需要修改的新功能和需求录入bug跟踪管理系统,并在bug跟踪管理系统中详细描述新功能需求和解决方法,同时整理相关bug列表,交付开发修改。

    5、  制定测试计划:

    A、 根据用户需求,定义并完善测试需求,作为测试的标准

    B、 确定重点测试事项,哪些功能需要重点测试

    C、 测试时间计划,并详细计划具体测试任务与时间

    D、风险说明

    E、 测试准备,提前对测试环境和测试资源进行准备

    F、 发布具体时间

    G、资源需求:包括测试人员、硬件需求、软件需求和培训计划

    6、  编写测试案例:根据功能需求编写测试案例

    7、  测试开发:开发自动测试脚本,补充自动测试案例

    8、  测试实施:按照测试计划进行测试,发现并申报bug

    9、  测试评估:

    A、 哪些需求通过了测试

    B、 有哪些遗留问题

    C、 测试效率评估

    D、开发质量度量和评估

    E、 并根据评估编写测试报告

    10、              发布新版本:

    A、 编写新功能文档,给工程提供新功能说明

    B、 编写升级文档,给工程提供升级参考方案

    C、 软件发布,包括新版本软件、新功能文档、升级文档和测试报告

    11、              代码版本控制:新版本软件发布之后,马上对代码进行质量控制。

    A、 Build Master给新版本的代码打一个cvs tag,方便代码回滚check out。比如,发布版本为p2p3.3.2,则给该软件代码也打一个与发布版本相同名字的tag p2p3.3.2。这样做的一个好处是,在目前的软件的基础上做了修改并发布新的版本后,如果需要check out某个版本的代码,则可以通过这个版本的tagcheck out,代码的修改可以在该版本上进行。

    B、 Build Master对新发布的软件代码进行cvs lock,不允许开发人员在软件发布之后commit源代码,直到有新版本需求修改再给开发人员开放commit权限。这样做的好处是避免开发人员随意修改和commit源代码,确保源代码服务器上的源版本版本与当前最新的发布版本一致。

     

    Written by smilings in GuangZhou , 2006

     

     

  • 一块来研究下“自学”软件测试的思路,应该学些什么……

    晓蕾LUCKY 发布于 2008-12-28 16:53:14

        自学测试一个多月了。相关的书籍也看了不少。可觉得自己老在“测试基础”这块打转,进步很小。今天无意在网上看到***培训机构的课程设置,拿来和自己做下比较,看看自己学到了什么程度?还应该学点什么?应该按照怎样的思路continue……只是不知道这些课程是否适合“自学的”初学者。望自学软件测试的、正在从事测试工作的前辈、还有对测试感兴趣的朋友给提供点入门建议,更希望大家能提供点各个阶段的经典的书目或是电子资料。

    功能测试

    软件测试基础概念

     

    20 什么是软件工程
    什么是软件生命周期
    软件生命周期的阶段划分
    什么是软件测试
    软件测试的意义
    软件测试的发展历史
    软件测试在软件生命周期中的地位
    瀑布模型和V模型
    软件测试的分类
    按照测试目的划分(功能测试、并发测试、压力测试、稳定性测试、容量测试、本地化测试、兼容性测试、安装卸载测试、界面测试、易用性测试、恢复备份测试、安全性测试)
    按照执行方式划分(静态测试、动态测试)
    按照阶段划分(单元测试、集成测试、系统测试、验收测试)
    按照透明度划分(黑盒测试、白盒测试、灰盒测试)
    功能测试的意义
    软件测试流程基础概念 20 什么是软件测试流程
    什么是测试计划
    测试计划的意义
    什么是测试需求
    测试需求的意义
    测试需求的属性定义
    什么是测试用例
    测试用例的意义
    测试用例的属性定义
    什么是测试执行
    测试执行的属性定义
    什么是缺陷
    缺陷的生命周期
    缺陷的属性定义
    什么是测试报告
    测试报告的意义
    测试管理工具的基础使用(TestDirector) 40 介绍TD的基本情况
    介绍TD的结构和工作原理
    需求模块使用(界面介绍、三种视图、需求的添加,修改,删除)
    测试用例模块使用(界面介绍、两种视图、测试用例的添加,修改,删除、测试用例对测试需求的覆盖)
    测试执行模块使用(界面介绍、两种视图、执行流的设置,测试集的设置)
    缺陷模块使用(界面介绍、缺陷的添加,修改,删除)
    测试过程的图表汇总分析
    软件测试流程中的方法介绍 40 测试计划的模板元素讲解
    测试计划的编写
    测试需求的分析方法和实践应用
    测试需求的优先级分析方法
    测试用例的设计方法和实践应用
    测试用例的优先级分析方法
    测试数据的准备
    测试执行的日志记录
    如何汇报缺陷
    测试报告的模板元素讲解
    测试报告的编写
    测试项目实践(标准项目和提高项目) 96 标准项目:双向就业系统的测试实践
    根据标准的软件需求说明书,由老师指导学员编写测试计划,测试需求分析,测试用例设计,测试用例实现,测试执行,缺陷汇报,测试报告。其中测试需求,测试用例,测试执行和缺陷都在TD中实现。通过项目,将理论和工具都应用到实践中。
    提高项目:焦点测试论坛的测试实践
    根据目前大多数IT公司的测试情况,由学员独立进行项目的测试。提高项目的规模,复杂度都高于标准项目,这样学员在掌握标准测试流程的基础上,加深对测试的理解和应用。
    测试管理工具的高级使用(TestDirector) 24 TD的安装
    TD的目录结构介绍
    新建项目
    项目的用户管理
    项目的访问模块管理
    项目的用户组和权限管理
    项目的字段管理
    项目的列表管理
    项目的邮件设置
    项目的跟踪性原则设置
    项目的工作流设置
    自动化测试 自动化回归测试基础知识 9 自动化测试基本概念
    自动化测试用途
    自动化发展史
    自动化测试工具介绍、对比
    自动化测试项目组角色及其职责
    自动化测试实施风险
    自动化测试工具QuickTestPro使用技能 20 自动化测试工具QTP安装
    自动化测试工具QTP介绍
    自动化测试工具QTP操作
    自动化测试工具QTP使用高级技巧
    自动化测试项目实施管理流程 21 自动化测试项目建组
    自动化测试策略制定
    自动化测试需求调研
    自动化测试计划制订
    自动化测试设计
    自动化测试实现
    自动化测试运行
    自动化测试结果分析
    自动化测试项目练习 30 项目:焦点测试论坛
    在讲师带领下,通过调研获取自动化测试需求,然后制订策略、计划,设计、开发自动化测试脚本、执行测试、收集测试结果并分析。通过项目让学员掌握自动化测试项目的标准流程,并学习各种测试文档的编写。
    性能测试 性能测试基础知识 9 什么是性能测试
    性能测试的价值
    性能测试好做吗
    什么是性能测试瓶颈
    什么是性能测试经理、分析师、工程师
    什么是响应时间
    什么是吞吐量/处理能力
    什么是资源利用率
    什么是负载
    负载与响应时间、吞吐量、资源利用率的关系
    什么是在线用户
    什么是并发用户
    什么是TPS、HPS
    什么是基础数据
    什么是测试数据
    如何保证性能测试项目正确实施(需求分析的正确性、实现的准确性、执行的合理性、监控的有效性、分析的完整性)
    性能测试工具LoadRunner使用技能 20 脚本录制
    参数设置-录制设置、一般设置、运行设置
    脚本增强-事务
    脚本增强-检查点
    脚本增强-thinktime
    脚本增强-参数化
    脚本增强-自动关联&手动关联
    场景设置
    结果分析
    性能测试项目实施管理流程 21 如何启动性能测试项目
    如何制订性能测试策略
    如何建立性能测试模型
    如何制定性能测试计划
    如何制定性能测试方案
    如何准备性能测试
    如何执行性能测试
    如何分析性能测试结果
    如何编制性能测试报告
    如何评审性能测试报告
    性能测试项目练习 30 项目:焦点测试论坛
    在讲师带领下,通过调研获取性能测试需求,然后制订策略、建立模型、制订计划和方案、准备测试数据、执行测试、收集测试结果并分析。通过项目让学员掌握性能测试项目的标准流程,并学习各种测试文档的编写。
    操作系统 Unix/Linux基本命令、sh编程 19 Unix/Linux常用命令
    Unix/Linux sh编程
    Unix/Linux资源监控 5 Unix/Linux资源监控命令
    LoadRunner如何监控Unix/Linux资源
    Linux安装 3 如何安装Linux
    数据库 SQL Server2000安装、基本使用 5 SQL Server2000安装
    SQL Server2000基本使用
    SQL语法、高级使用 8 SQL基本语法(查询、修改、删除、插入、建表等)
    SQL高级使用(多表查询、修改、删除等)
    SQL存储过程 8 SQL存储过程
    SQL触发器、视图 8 SQL触发器、视图

        一比较才发现自己学的东西好少。刚学了功能测试前两个阶段---软件测试基础概念、软件流程基础概念、还有就是在51论坛,博客里看的一些比较零散的知识。哎很难整合到一块,更别说成体系了。按照上面的这个课程设置,下一步我应该学TD、自动化测试。可不管自己怎么学,终究是一些书面的知识,没有实际的环境。即使装个真实的环境,也没有实际的项目练习。还是不想这些了,掌握基础再说。最近超喜欢一句广告语“只要你想到了,全世界都会为你让路”,只要能想到,就有实现的机会!

         现实生活的压力,我不可能全心全意地停下来学习软件测试还得继续工作。生活有保障了,我才能谈测试,谈其它。明年吧,明年的目标是真正能进入测试行业!

         忘说了,软件测试基础阶段我看的是ROTTON的《软件测试》;蔡为东的《测试实战--WEB MSN》;蔡为东的《软件测试工程师面试指导》,最近刚出一本《软件测试工程师培训教程》我大概看了几眼,这本书可以给大家提供一个学习的体系和思路,虽然介绍的东西挺全,但都不是很详细,不如看网上下的电子资料……其它 各个阶段的经典书目,电子资料,希望大家能提供点……

  • Java和Linux方面快速入门知识集锦

    投缘 发布于 2008-09-11 16:06:40Top 1 Digest 1

        从最近了解的招聘信息和面试方面体验来看,对于基于Java和Linux两方面要求都是有的,而且有很多要求进行白盒测试。因为我之前接触系统都是.Net和windows,所以这两方面是非常欠缺,不过没关系,不怕不会就怕不学!!现在开始,先找资料从头学起,我觉得计算机知识都应该是相关的,入门肯定容易!我就是把一些在51上搜集的给总结了一下,不然挺散。希望有需要的童鞋也下载去看看,一块学习学习!

    一、Linux系统入门资料

    1.系统学习Liunx建议(需要会哪些东西)

    下载地址:http://pickup.mofile.com/9320885539369043

    2.学习Linux需要掌握常用的一些Linux命令。

    CHM格式下载:

    下载链接一:
    http://www.linux286.com/linux/linuxml.chm

    下载链接二:ftp://FTP_hllinux:123456@211.95.73.26/Linux系统常用命令快速入门.chm

     

    PDF格式下载:

    下载链接一:
    ftp://FTP_hllinux:123456@211.95.73.26/Linux系统常用命令快速入门.pdf(右键另存为或用下载工具下载)
    下载链接二:
    http://www.linux286.com/linux/linuxml.pdf(右键另存为或用下载工具下载)

     

    3.Red Hat Enterprisr Linux AS 4图解教程之Linux基本操作

    介绍内容有Linux登录、注销、关机、使用帮助、查看文件、切换目录、显示文件内容、创建目录、删除目录、删除文件等等。


    下载地址:ftp://FTP_hllinux:123456@211.95.73.26/Red Hat Enterprisr Linux AS 4图解教程之Linux基本操作.pdf(右键另存为或用下载工具下载)

     

    4.Linux命令大全

    下载地址:http://bbs.51testing.com/attachment.php?aid=4860

     

    5.Linux实用培训学习教程1.0(最终版)

    内容包含有:接触linux,linux知识,linux四个主要部分,linux文件,安装linux的硬件配置说明,安装linux,ubuntu,初出茅庐,关注,linuxshell,linux培训,linux文化,学前课,redhatlinux

    下载地址:ftp://FTP_hllinux:123456@211.95.73.26/hl/Linux实用培训学习教程1.0(最终版).chm
     
    6.Linux初学者必备资料(特别全)
    请用鼠标右键点击这里:  选择“目标另存为”即可下载了。。。经过本人验证,最好不要用迅雷下载哦
     
     
    二、Java及J2EE
     
    1.张孝祥Java视频课程(含初级高级)完整版下载(总共13.5G)
     
    2.J2EE技术简单介绍
     
    3.Tomcat中文手册
    请用鼠标右键点击这里:  选择“目标另存为”即可下载了。。。经过本人验证,最好不要用迅雷下载哦
     
    4.开发完整J2EE解决方案的八个步骤
     
    5.J2EE程序的性能调优技巧
    请用鼠标右键点击这里:  选择“目标另存为”即可下载了。。。经过本人验证,最好不要用迅雷下载哦
     
    6.Ajax简介
     
        先找这么多,估计够看一阵了!!希望有需要的童鞋看完顶一下啊,这样我才有动力继续给大家提供些学习资料啊,是不!我希望我的blog是个潘多拉宝盒,装满了供大家学习的资料!
     


我的栏目

我的存档

数据统计

  • 访问量: 1843
  • 日志数: 1
  • 建立时间: 2008-10-24
  • 更新时间: 2008-10-24

RSS订阅

Open Toolbar