日历

« 2008-10-12  
   1234
567891011
12131415161718
19202122232425
262728293031 

统计信息

  • 访问量: 419
  • 日志数: 3
  • 建立时间: 2008-04-12
  • 更新时间: 2008-04-12

RSS订阅

我们的爱情在刚开花的时候遇到了冷空气,我们的记忆在老去是时候被遗忘了。

我的最新日志

  • 浅谈QA所应该具备的知识

    2008-4-12

    在中国目前的中小软件企业,普遍存在(注意:不是全部)这样的现象:QA往往处于一种“相濡以沫”(即互相安慰、互相鼓励)的尴尬境地,一方面,在管理层不能得到很好的支持;另一方面,在项目组依然被项目成员所厌弃。

    那么,如何改变这种尴尬的角色呢?作为QA应当具备那些素养,笔者根据自己的工作经历以及与相关人士的探讨、阅读相关书籍知识之后,发现QA应当首先具备一些基本素养:软性特质及硬性特质,在本文中将就这些特质阐发笔者的一些体会。

    一、软性特质

    1、思想决定高度

    拥有好的思想,才能引导自身向好的方向发展,QA首先要有先知先觉的思想。思想就是灵魂,QA要有天然的悟性,要真正吃透过程改进的思想,抓住CMMI的脉络,而不是仅仅知道CMMI是什么。

    2、谦虚的服务意识

    服务是一种态度,谦虚是一种本质,作为QA,既是公司利益忠诚的服务者,又是项目组成员谦虚的服务者,只有让公司及项目组轻松、愉快起来,QA的价值才“有可能”体现。

    3、良好的人际沟通技巧

    人际关系,无疑是QA必备的素养,作为过程改进的执行者与推动者,是维系过程的纽带,拥有良好的人际沟通技巧,将给QA工作增添很多的分数。

    4、严谨的逻辑思维能力

    逻辑思维是一种长期历练的结晶,看问题、办事情总得有个相互关联的逻辑结构。解决过程改进中存在的一些问题,将始终考验QA的这种能力。以往经验与知识体系固然重要,但要分清楚问题之间千丝万缕的关系,有理有据、省时省力地去解决问题,还需要您严谨的逻辑来推理与分析。

    5、持续的自我反省

    “吾日三省吾身”,作为QA,必须时刻保持自我反省与批评的态度,我们也不必要“三省”,只要“一省”就可以了,每天下班后,整理一下自己的思绪,并把体会写下来,记得:一定要动手写下来,积年累月,说不定您记下来的这些体会就会变成一本书——您自己的书。

    6、坚韧的毅力与决心

    人们学说:兴趣是最好的老师,没错,兴趣足以让人入迷于某事,但毅力与决心却是达到目标必备的素质,这种品质既可以与生俱来,也可以后天培养。有志者事竟成,没错的,要有这种坚持不懈的努力。

     

    二、硬性特质

    QA作为SPI的执行者与推动者之一,只有在自身具备一定的条件下,才能进行工作,QA首先是一个专才,其次才是一个全才。

    作为一名QA,如果您仅仅关注于什么CMMI中的一些PA等,那您就玩完了,余下的这几十年你就逃离不了文员的角色了(夸张了一点,主要是想说明知识广度的重要性)。举个例子:excel中有很多统计分析的内容,如果连统计分析中最基本的概念都搞不清楚,方差什么的都忘的差不多了,那么,很抱歉,从头开始。

    拥有丰富的知识体系,打好奠基,才能一步一步走向目标。笔者根据多方面的观察、了解,以及切身的体验与工作,觉得首先应该具备如下的几点(或几方面)知识体系。

    1、软件工程体系

    如果连最基本的软件生命同期、软件开发阶段都不懂或者不是很明白,那么,您死定了,要么现在就开始去学,要么,脱离QA这个行业。

    2、质量体系知识

    以前的ISO现在好像已经过时了吧?那么CMM、CMMI呢?都过时了!知识的发展与淘汰原来都这么快,我们得加紧“吃知识”。6Sigma比较流行啦,快快来学吧……旧的知识会被新的知识所替代,但有一点:思想不变!不管发展成“后CMMI”时代还是后什么时代,请随时准备储存您的质量体系知识。

    3、部分项目管理与开发经验

    要做好QA工作,并做一位“有可能”称职的QA,如果没有实地的项目开发与管理经验,只会纸上谈兵,那么,您就有可能成为“赵括”(历史人物,如果不懂历史,请Google或Baidu关键字:“秦赵大战 赵括 纸上谈兵”)。这样说可能有些言重,但这却也是事实,没有实地的项目开发、管理经验,有可能将过程改进做砸。

    4、配置管理

    配置项是什么?配置基线又怎么理解?里程碑呢?……如果您一直问配置管理员这些名词概念。哈哈,结果可想而知了,也许配置管理员就以沉默来侮辱您;也许就要呕倒一大片人了。

    5、测试知识

    如果连最基本的测试覆盖率都弄不清楚咋回事,那么,恭喜你,你要被那些测试的人数落了。

    6、统计分析

    统计分析知识的重要性这里就不必多说了,很清楚的一点:用数据来说话,收集、分析数据的能力您应该有所具备。

    7、良好的文采及演讲才能

    想成为大师吗?想。那么,请随时随地准备提升您的写作能力,因为您要将您的思想写下来并发扬出去;请锻炼您的演讲才能,因为您必须时刻准备做一位思想的传播者。说这些可能对于目前从事过程改进的QA有些言重,但,至少您得把您的方法、理念在公司或项目组进行推广,所以,您必须有这些才能。


    本人联系方式: msn:/email:sxdlove@live.cn

  • QA和测试的不同:

    2008-4-12

    QA和测试的不同:
    QA关注的重点不仅仅是质量,而且是整个软件过程,保证的首先是过程和体系。而软件测试通过一系列活动,
    给QA人员提供尽可能的有效的信息和数据,使他们能够发现过程上的异常或者制度上的不妥之处。
    共同之处:QA和测试的目的一样,都是尽可能保证最终发布的产品更符合用户需求,尽可能的没有bug。
    不同之处:QA关注的是整个软件过程,STE关注的是最终质量,采用设计、执行用例等方法去发现错误
    我觉得两者又有关系又有区别
    我们说质量工程包括:QA(Quality Assurance)-质量保证,  ST(Software Testing)软件测试[STE(Software Testing Engineer)-软件测试工程师],QC(Quality Control)-质量控制
    QA关注的重点不仅仅是软件质量,而且是整个软件过程,保证的首先是过程和体系,它侧重过程质量,不深入到软件本身的质量。而软件测试通过一系列活动来确保软件质量.
    给QA人员提供尽可能的有效的信息和数据,使他们能够发现过程上的异常或者制度上的不妥之处。QC是质量控制,说白了比QA的工作高一个等次,主要控制过程管理的质量问题.
    共同之处:QA和测试的目的一样,都是尽可能保证最终发布的产品更符合用户需求,尽可能的没有bug。
    不同之处:QA关注的是整个软件过程,STE关注的是最终质量,采用设计、执行用例等方法去发现错误。


    QA 与 QC的性质和区别(zz)

    1. QA、QC的定义

    QA英文全称:Quality Assurance ,中文含义:质量保证;QC英文全称:Quality Control,中文含义:质量控制。

    按照ISO9000:2000,QA的定义是“质量管理的一部分,致力于提供质量要求会得到满足的信任”,QC的定义则是“质量管理的一部分,致力于满足质量要求”。简言之,QC是对人事、对物,直接致力于满足质量要求:QA则是对人、对过程,致力于使管理者、顾客和其他相关方相信有能力满足质量要求。

    在软件/信息化方面的一些标准中,QA的定义包括:“质量保证是指为使软件产品符合规定需求所进行的一系列有计划的必要工作。”(GB/T 12504-1990计算机软件质量保证计划规范);“为使某项目或产品符合已建立的技术需求提供足够的置信度,而必须采取的有计划和有系统的全部动作的模式。”(GB/T11457—1995软件工程术语)。在这两个标准中都没有直接关于QC的定义。

    按照不同的目的、从不同的角度对同一个术语的定义往往存在差异,例如GB/T 12504-1990、GB/T11457—1995分别对QA的定义就存在差异,按照GB/T 12504-1990的QA定义涵盖的范围较宽,包含了QC的内容。

    2. QA与QC的侧重点比较

    一个软件组织或项目团队中存在QA和QC两类角色,这两类角色工作的侧重点比较如下:
    角色         QC             QA
    工作对象     产品           过程
    工作方式     事后反应       事先预防
    功能类型     生产功能       人员功能
    缺陷应对     发现缺陷       预防缺陷
    工作风格     被动务实       主动务虚


    QA与QC的其他区别还包括:

    从在组织中的地位来看,QA,具备一定资质的人才往往成为组织的高级人才,他需要全面掌握组织的过程定义,熟悉所参与项目所用的工程技术;QC则既包括软件测试设计员等高级人才,也包括一般的测试员等中、初级人才。国外有软件企业要求QA应具备两年以上的软件开发经验,半年以上的分析员、设计员经验;不仅要接受QA方面的培训,还要接受履行项目经理职责方面的培训。

    从在组织中的权限方面看,项目组中,QA独立于项目经理,不由项目经理进行绩效考核;QC受项目经理领导,通常在项目运行周期内QC的绩效大部分由项目经理考核决定。

    从组织活动上看,QA活动贯穿项目运行的全过程;QC活动一般设置在项目运行的特定阶段,在不同的控制点可能由不同的角色完成。

    从工作职责方面看,对称职的QA,跟踪和报告项目运行中的发现(Findings)只是其工作职责的基础部分,更富有价值的工作包括为项目组提供过程支持,例如为项目经理提供以往类似项目的案例和参考数据,为项目组成员介绍和解释适用的过程定义文件等;QC的活动则主要是发现和报告产品的缺陷。

    3. QA的工作内容

    国际标准、国家标准都是通用的,软件组织是具体的、鲜活的。不同组织中QA的工作职责和内容会有共同性,也会有特异性,可以分层次考虑QA的工作内容和特点:

    3.1 过程遵从性

    保证过程遵从性是QA的根本职责,即保证项目组按组织规定的过程运行。通常各类组织,不仅是软件组织中的QA都致力于保证过程遵从性,以证实能以稳定的质量提供产品和服务,得到具备满足质量要求能力的信任。

    3.2 计划符合性

    保证项目的计划符合性首先是项目经理的责任,不是QA的根本职责。有些组织中QA不必认真关注计划符合性;但是,项目的规模、工作量、进度、缺陷等方面的计划符合性是高层管理者的关注重点,QA作为高层管理者的耳目有必要跟踪和报告计划符合性。在许多软件组织中跟踪和报告计划符合性是QA的常规工作内容。

    3.3 工件正确性

    工作产品(Work Product)简称工件,指项目运行中产生的各种文档、代码、程序等。在多数软件组织中,QA通常不直接跟踪和报告工件正确性。其根本原因是这样做将会导致QA在项目工作中陷得太深,不利于保持QA的独立性和客观性。其他原因还包括QA的能力、时间资源都可能不足以支持其去跟踪和报告工件正确性。

    4. 基于实际情况理解和处理QA的工作内容

    怎样定义QA的具体职责范围是各组织自己的事,质量管理标准和过程改进模型都只会要求某个职责要有机构、角色履行,不会要求组织一定要设立某个机构、某种角色,或某种角色必须是怎样的职责。即使在同一个组织中,根据不同的应用目的也可以作不同的处理。

    例如,在一个通过了SW-CMM三级的软件组织, QA计划的最小范围只包括支持、跟踪和报告项目组的活动,当项目工件中存在外包部件时要跟踪和报告外包部件开发方的相关活动,当项目与特定顾客的需求、部署和实施有关时要负责与该顾客就质量管理问题,包括产品和服务缺陷等问题进行沟通。组织内部使用的QA与需求管理计划、配置管理计划、工件评审计划、沟通计划、风险管理计划、培训计划、测试计划、开发计划等是分离的;但对大型的企业信息化建设项目,如果顾客需要,提交给顾客以展示本组织质量保证能力的QA计划需要包括包括QA、QC的多方面计划,例如评审计划和测试计划,比较接近GB/T 12504-1990中的QA活动范围。

  • 测试人员注意事项和职位要求

    2008-4-12

    1、学习你测试的系统里面使用到的编程语言。这个将不单提高你的技术,而且提高了你与开发人员的沟通能力。
    2、一些最好的老师是与你合作的同事;
    3、关注项目中新的进展变化,理解需求并理解用户的期望;
    4、跟你的开发人员建立合作关系,不妨坐下来讨论彼此的期望和想法;
    5、要有耐心;
    6、做到精确。不管是提交缺陷还是过程改进需求,如果没有精确地描述问题和影响,你将不能在这个行业里面走的很远。
    7、不要争论。因为你不可能一下子改变每件事情。如果你想建立或者改善你的测试流程或者开发流程,你可以对你所处的位置和如何改善做一个全面的评估,然后对本清单做个优先排序。
    8、摘一些“挂的低的水果”(先做一些容易做的事情):文档、工具、评估---
    希望像开始看到收获的那些人一样,你也能得到更多的转变。所以你的下一个改进的尝试将进行的更加顺畅;
    9、读一些被推荐的书;
    10、保证你做的每一件事情都被至少一位有经验的人检查过;
    11、保持关注新技术,即使你目前没有在使用,但你可能某一天会用上,所以抽出时间来至少读上些基本的内容!
    12、加入一个你所在领域方面的用户群或者QA群,如果有这样的群的话。网络,通风和沟通是无价的;
    13、多提问题,并且要充满好奇心,别害怕提问和请求帮助;

    职位要求

    1. 专业不限,统招本科以上学历;
    2. 计算机相关专业优先;
    3. 初步了解测试工作流程,热爱测试工作;
    4. 熟练掌握非专业化的测试工作,初步掌握一到两项专业测试工具;
    5. 学习能力、分析式思考演绎能力强。
    工作职责:
    1. 负责软件产品/项目测试工作;
    2. 承担软件产品售后项目的支持保障工作;
    3. 承担面向实施部及用户的产品培训工作;
    4. 了解测试新技术、工具的发展动态,检验并引入测试工作;
    5. 完成上级交办的其他工作。

Open Toolbar