在做这个外包管理系统的准备阶段,我组建了团队并寻找相关的职务人员。我作为咨询和需求分析师,睿哥作为技术负责人和架构师。其余的开发人员包括前端开发和后端开发都很好确定,唯独在寻找测试人员的时候我烦了难。
推荐给我的几个测试人员我都和他们一起谈了一下,结果发现因为没有专门的测试团队和相关的培训,我遇到的测试人员对于测试的相关流程和关键交付完全没有概念,他们以前也做过测试但是都是在系统中点击操作,从没有做过测试案例等测试的关键交付物。
于是我做了一个决定,团队不配备测试人员了。在开发完成以后我牵头带领团队团队进行测试,之所以做出这样的决定:
首先是项目成本的原因,公司对项目的利润率有要求,如果我团队人员过多的话,成本就会过高不能保证利润率。
其次如果团队中的成员不能胜任本职工作,辅导需要一定的工作量,更重要的原因是会影响整个团队的士气。因为这样会造成工作的多寡不均。
经过了近三个月的开发,现在项目已经基本完成了测试准备上线。测试的标准流程和关键交付都是我们一起摸索出来的,真的做过一遍以后发现有很多的经验可以总结和分享。
测试的种类和内容
一般测试工作可以分成单元测试、冒烟测试、功能测试和性能测试四种类型。
单元测试
单元测试的主要目的是保证开发工作的质量。
单元测试由开发人员自己完成,当然如果有测试人员配备也可以测试人员完成。
在我们平时的项目中开发人员完成一件工作以后,一般不会自己在进行单元测试。就像我们许多人一样觉得自己的工作不会出错。但是在进行评审的时候我发现很多低级错误如果开发人员进行单元测试的话都可以避免。所以还是建议项目一定要坚持单元测试。
冒烟测试
冒烟测试的主要目的是保证整个系统的流程和逻辑通畅。
冒烟测试一般是由专门的测试人员根据设计说明来进行,或是其他对系统总体设计非常了解的人员。
冒烟测试是系统交付的重要保障,大家都知道系统交付时候一般也会进行交付验收。交付验收的时候一定要保证系统能够跑通,在系统跑通的前提下一些具体的细节和bug客户是可以接受的,但是如果系统流程都不能跑通就交付验收测试的话,说明态度就有问题。
功能测试
功能测试的目的是保证系统实现的功能符合当初设计和用户的要求。
功能测试一般由专门的测试团队和用户验收团队进行。
功能测试首先会有专门的测试团队根据需求说明书编写相关的测试案例。在系统完成相关的开发工作以后根据测试案例对系统进行测试。
功能测试还包括系统的使用者也就是用户根据自己的实际工作对系统进行测试,在用户测试的测试案例中,要突出用户故事的概念。体现实际工作场景。
性能测试
性能测试目的是保证系统的性能,包括系统的并发性,安全性等。
系统的性能测试一般会有专业的人员借助工具进行,这里就不进行赘述了。
测试工作的重要交付物
测试工作包括四项重要的交付物,分别是测试计划、测试用例、测试缺陷跟踪表和测试报告。
测试计划
测试计划是对测试功能何时开展进行的规划,测试计划的主要内容应该明确测试功能需要覆盖哪些内容,时间如何安排等。
我们这次项目按照测试计划分为两个阶段举行,第一个阶段完成外包管理的全生命周期功能的测试,第二阶段完成供应商、合同和报表的测试。
测试计划的制定时间,按照理论来说是在项目开始的时候就一起制定完成并入项目管理计划。但是做过项目经理的都知道,大多数项目都会发生延期,所以在项目开始做的测试计划只能是参考,一般会在开发工作完成以后制作的测试计划切实可行。
测试用例
测试用例一是对测试工作进行指导,二是有一个明确的验收标准。
测试用例应当包括的主要内容有测试的功能名称,测试时候如何进行操作,测试需要达到怎样的结果。
实际中的测试用例制定时间,建议是系统基本开发完成时进行。因为这时候的系统功能已经明确不会做太大的变更,如果测试用例做的过早而功能又发生了变更,那么测试用例根本不能使用。
测试缺陷跟踪表
测试缺陷跟踪表是对测试出的bug进行解决的记录。对于修复工作进行持续的跟进,这个表格其实现在基本上已经不必再做了,因为现在的测试工作已经基本上都在系统中进行。
测试报告
测试报告是对测试工作的总结,是对系统是否合格做出的评价性文件。
综上所述,我们的测试工作包括:
1.单元测试(建议做)
2.冒烟测试(必须做)
.功能测试(必须做)
4.性能测试(根据实际需要)
我们的测试交付物:《测试计划》、《测试用例》、《测试缺陷跟踪表》、《测试报告》