1.QA全方位参与整个软件开发过程,例如当BA和开发人员kick off一个卡的时候,QA参与讨论,提出一些需要程序员自测时候可能会忘记测试的点,此外,QA往往对业务更熟悉,可以提供建议给程序员,那些业务细节不能够忽视,以防止这些地方出现bug。
  2.当开发人员做完卡时候,需要把卡sign off给QA,在这个过程中,会在开发本地环境演示,期间如果出现缺陷,开发人员会重新把卡放到in dev列进行修复。直到开发人员本地环境都没有问题后,QA才开始正式测试。
  3.把Jmeter的性能测试脚本加入到CI中,每次提交代码会跑一遍性能测试脚本,确保每次新代码的提交,不会破坏产品关键流程的性能。
  4.建议团队使用代码缺陷扫描工具,避免一些通用的bug的出现。
  5.建议团队的把单元测试覆盖率提高到一定程度,例如80%,可以减少新的功能代码对原有功能的破坏。
  6.建议团队根据实际情况去使用BDD的方式(Cucumber)去写自动化测试用例,可以让项目的PM,BA,Dev,QA等人对业务有一致的理解,减少由于业务理解不止出现的Bug。
  7.多写一些测试blog发布在公司内网发布,帮助开发人员了解哪些地方容易出现Bug。
  8.我如果碰到了一些比较有趣或者通用的bug,会在团队的每天早上站会,或者下午code review时候,跟大家分享,这样大家都会知道这种类型的bug。
  9.有些开发认为开发出的界面和设计稿有一定偏差问题不大,但是我建议界面尽量按照设计稿做,因为几个像素的偏差,一个按钮位置的不同,一块区域透明度不够等,都会造成整体美感的下降。经过和团队合作一段时间后,大家实现的界面和设计稿更加贴近或者完全一致。
  10.建议开发把重要的,或者一些特殊的实现思路,以及一些需要别人知道的细节,记录在Jira的卡中。因为敏捷团队中,文档比较少,而Jira卡中记录了这些信息后,将来任何人拿到这个卡,都能很快了解上下文和这个卡有无特殊实现等。我自己做测试时候,如果碰到一些比较有趣的卡,也会记录下测试思路和测试数据。
  11.建议开发和QA结对测试,传递测试的方法和思路。因为在探索性测试过程中,使用结对测试的方法,可以比较有效的传递知识。
  12.有些开发缺少横向对比同类产品的意识,因此开发出来的功能会不易使用。建议每个人都应该关心和对比同类产品的优缺点,这样才能让自己做出的功能模块来更有竞争力,更好使用。
  13.当QA测试的非常仔细的时候,开发自测的仔细程度也会相应提高很多。例如,刚进入团队时候,有些开发自测时都很少考虑多浏览器兼容性测试,于是浏览器上经常会出现bug。我告诉大家,我每次测试都会在所有需要测试的浏览器上进行测试,而且每次出现bug后,我都会把卡挪回开发重新处理。因此在和团队一起工作一段时间后,大家在不同浏览器上自测的力度越来越大了。