对于那些依靠丰富经验+运气才能发现的问题,对于开发偶尔深埋下的雷一段时间后被触发,测试工程师有没有应对策略?

  如果一个系统不存在Bug,那随便采用什么方法、随便什么样的人、或者不测试,都可以发布,而且表现高质量。

  如果一个系统Bug遍布于每行代码,即使测试工程师使出浑身解数来守护质量,还是要遗漏。

  如何提高开发代码质量,如何提高测试用例(一个好的测试用例是在于它能发现至今未发现的错误)设计质量,结合两者所长?

  测试工程师通过需求分析、设计评审、代码阅读来设计测试用例,在这个过程中可以监控到开发的代码,可以更好的设计用例。掌握了需求、掌握了从用户角度、掌握了系统实现、掌握了用例设计能力,设计出高质量用例。

  基于代码的场景测试:

  通过阅读(检视)开发的代码,掌握系统实现,充分发挥测试工程的场景设计能力,来设计测试用例和执行。

  测试工程师应该是全能的,为提高质量不择手段,基于代码的场景测试可以是其中之一。

  如果方法使用适当,开发工程师能力有多高,质量能达到多高。

  如果方法使用适当,测试工程师能力有多高,质量能达到多高。

  开发与测试怎么融合,融合的途径是代码。

  基于代码的场景测试实践

  实践原则:

  1、转测试代码质量越高,测试浪费的时间越少。

  2、测试用例的质量越高,测试系统的质量越高。

  第一阶段:提高代码质量

  实践方法:

  1、测试工程师review代码、单元测试用例,在代码级别减少问题,提高代码质量。

  2、测试工程师结合阅读的代码和业务进行测试用例设计,提高用例质量。

  预置条件:

  1、系统的架构、代码相对稳定。

  2、测试工程师需要有代码能力,结合业务场景,进行code review代码。

  3、测试工程师不被代码的思维局限,掌握实现更好的去设计用例。

 期望效果:

  1、代码/用例质量提高,测试阶段发现Bug数减少,释放测试工程师点时间。

  2、测试工程师与开发的交流增多,测试工程工程师代码能力可以进一步提升。

  第二阶段:代码质量+自动化

  实践方法:

  1、手工测试释放的时间,可以投入到写自动化用例。

  2、测试工程师,进行code review代码且写部分自动化用例。

  预置条件:

  1、测试工程师有写代码能力,有自动化框架或工具支撑。

  2、测试工程师能平衡时间投入,选择合适的用例自动化。

  期望效果:

  1、保持测试用例的设计投入。

  2、手工与自动化测试相结合,持续进行。

  第三阶段:代码质量和提高自动化

  实践方法:

  1、自动化用例与开发同时进行开发,持续优化。

  2、用自动化用例,来代替部分手工测试。

  预置条件:

  1、自动化用例有一定规模的积累。

  2、自动化用例可以保证部分功能的质量。

  期望效果:

  1、减少测试周期。