工做几年的时间本身也参与了好几个项目,可是没有一个项目是让本身满意和舒服的。不少项目有很多问题,本身在项目中作测试工做也是颇有挑战而且常常疲惫不堪。最近在思考本身心目中的理想项目是什么样子的,但愿本身之后能参加到这样的项目中。由于本身目前的职位是测试工程师(QA),因此我主要从测试人员的视角来讨论。git
有些项目中开发人员认为测试只是测试人员或者带测试头衔的工程师的工做,和本身无关,这实际上是错误的。全部项目组中的成员都要对产品的质量负责,而不是只有测试工程师来负责。以前项目中也遇到过只认为测试工做就是测试工程师的活儿,其余的开发工程师和产品经理都不须要进行测试的工做。若是开发人员都没有要好好测试的意识,那么单元测试的质量也不用期待了。基本上在集成测试的时候就爆发不少bug和不少问题。编程
本身以前作过的项目,并无实际接触过经过测试驱动开发的方式编程的开发人员。并且也没有遇到作单元测试自动化测试的状况。可是本身最近有经过测试驱动开发进行编程的实践,感受仍是对提升代码的质量颇有帮助的。 若是项目有良好的单元测试代码覆盖率的话,进行单元测试的自动化回归测试也很简单。 固然颇有可能开发人员会反驳说,没有时间来写测试代码,甚至单元测试只能手工简单测试。由于项目排期太紧的缘由。实际上这种说法也不太对,虽然一开始经过测试驱动开发方法会在开发阶段多花时间,可是单元测试的力度大力,发现bug和解决bug的成本更小了。同时后面集成测试的压力也小了,其实经过整体项目进度来看不定会须要花更多时间来完成。 实际上公司内部能够经过对一两个项目进行实行测试驱动开发来进行试验,最后在和其余不用这种方法的项目对比质量和进度,就能发现测试驱动开发的方法是否会影响项目的进度。api
好的项目是流程比较合理和规范的,下面是简化的项目流程从上到下来执行。框架
我的认为理想的项目应该是拥抱新技术和工具的。特别是一些基本工具的使用,能提升项目中工做效率。 本身以前也在没有使用bug管理工具和版本管理工具的项目工做过,相比使用JIRA和git等工具的项目明显有不少缺点,并且效率也更低。工具
为何要重视自动化测试呢?在实际的工做中由于要频繁变动需求和修改代码,那么每发布一个小版本都须要执行上一版本已经正确执行过的测试用例来进行回归测试,只有经过了回归测试才能确认此次新增或修改的功能没有对以前的功能产生很差的影响。回归测试是很重要的,可是经过手工的方式进行回归测试的缺点不少,好比执行效率低,速度慢,并且成本高,要占用好几我的力,另外人也容易出错,容易发生遗漏。单元测试
还有一种经过人工评审来筛选要执行那些回归测试的办法,来减小要执行的测试用例数量,可是这种方式也是有问题的,由于一开始的选择就有多是错误的,执行的测试用例越少,咱们对产品质量的信心就越小。开发工具
若是在敏捷开发项目过程当中没有自动化测试的话,那么回归测试的工做就会占用测试工程师不少时间,这样工程师就没有时间来进行探索式测试等更有创造性的工做。测试
回归测试是很是适合做成自动化测试的,由于回归测试就是重复执行以前的测试用例,计算机比较擅长进行重复的工做,咱们应该利用计算机来完成尽可能多的回归测试。 另外回归测试不只仅包括集成测试和用户验收测试,我认为单元测试和接口测试也应该作成自动化回归测试,单元测试和接口测试所占的比重能够更高一些。接口
综上所述,我心中理想的项目是全体成员意识上都重视测试,同时有很强的自动化思惟。有规范的流程,而且经过工具和自制脚原本将大部分的流程自动化,例如自动发布版本,自动化测试,自动部署等。开发
参考文献:
《高效团队开发工具与方法》 池田尚史,藤仓和明,井上史彰 著