按框架的定义来分,自动化测试框架可以分为:基础功能测试框架、管理执行框架;
按测试类型来分,可以分为:功能自动化测试框架、性能自动化测试框架;
按测试阶段来分,可以分为:单元自动化测试框架、接口自动化测试框架、系统自动化测试框架;
按组成结构来分,可以分为:单一自动化测试框架、综合自动化测试框架;
按部署方式来分,可以分为:单机自动化测试框架、分布式自动化测试框架。
CSDN:对于如何管理软件测试团队以及建设好工程师文化,你有什么经验可分享?同时,软件工程师应具备什么样的素质?
贺炘:由于Google和苹果的崛起,我们一直在谈工程师文化。作为公司的管理者,或者团队的领导者当然也希望能有机会改变世界,不管我们怀揣什么梦想,如果想梦想成真势必要从最基础的事情上做起。
管理一个团队首要的问题一定是团队的使命,我们做什么事、解决什么问题、对客户的价值是什么以及我们在这个关系链中起到什么作用等。
其次要解决的就是团队构成,作为领导者,你如何将复杂问题进行有效的拆分,各个点上你需要的人才是什么。你可以根据你手里的资源来决定如何解决问题,也可以根据问题来筹划需要什么样的资源。
团队组成了,剩下的就是怎么能共同完成目标了,团队成员之间的关系,分工方式,奖励等都是具体的考量,总之需要能把大家拧到一起,以使命为目标,一起融洽的干活。
这里我谈谈我理解的工程师文化,工程师文化是说产品如何做都由工程师说了算吗?显然这样理解有些狭隘!权利和责任是相辅相成的,怎样才能创造出伟大的产品?一定是能够深刻理解用户的人,如果一个团队中没有出现深刻理解用户的工程师,片面强调工程师文化可能是个灾难。
测试工程师的素质我觉得分两个层次,普通的测试工程师需要细心、耐心、良好的沟通能力以及责任心等。如果你希望成为一个优秀的测试工程师,相比较其他行业并没有什么特别之处,保持自信,保持好奇心,在你的专业上持续的解决复杂问题。
CSDN:软件测试人员大多被称作测试工程师,但也有不少的人认为其只是QA,你觉得测试和QA是怎样的关系?
贺炘:这是个很重要的事情,其实测试工程师并不是QA,而应该称为QC。之前我在《程序员》杂志上投过稿。
和这个问题有关的内容摘抄如下:
QA的英文为:Quality Assurance 我们翻译为“质量保证”
QC的英文为:Quality Control 我们翻译为“质量控制”
我们将这两个角色之间进行一下职责划分,以方便我们后续的讨论。
QA:监控公司质量保证体系的运行状况,审计项目的实际执行情况和公司规范之间的差异,并出具改进建议和统计分析报告,对公司的质量保证体系的质量负责。
QC:对每一个阶段或者关键点的产出物(工件)进行检测,评估产出物是否符合预计的质量要求,对产出物的质量负责。
通过上面的职责划分,我们发现,如果我们将软件的生产比喻成一条产品加工生产线的话,那QA只负责生产线本身的质量保证,而不管生产线中单个产品的实际质量情况。QA通过保证生产线的质量来间接保证软件产品的质量。
而QC不管生产线本身的质量,而只关注生产线中生产的产品在每一个阶段的质量是否符合预期的要求,如果我们生产的是杯子,那QC只关注:生产的材料是否是预期的,每个杯子瓶口的直径是否符合要求,杯子把手是否符合设计要求等等具体的、可量化的点。
针对软件企业的软件开发过程而言:
QA可以进一步明确为SQA,即:软件质量保证,只负责软件开发流程的质量,企业内相对应的角色为:软件质量保证人员,有的企业就直接称之为SQA。
QC可以进一步明确为SQC,即:软件质量控制,只负责软件开发过程中各个阶段产出的工件的质量,产出的工件可能是相关的文档或者代码等,企业内相对应的角色为:软件测试人员。
原文转自:http://www.csdn.net/article/2013-06-05/2815534