一般来讲,测试用例设计的时候可以采用二维的方式归类:
  横向:根据对用的FDD进行分类。
  纵向:根据测试类型进行分类。
  横向
  横向的分类主要根据功能模块进行划分。根据产品的不同而有所不同,但是一般每一个测试用例,都能追溯到一个具体的功能需求。具有类似功能需求的测试用例会放在一起,形成一个功能模块的测试集。
  纵向
  纵向的分类主要根据测试的类型进行分类。主要有以下几种类型:
  BAT(Build Acceptance Test)
  这类测试用例属于基本的测试用例。一般都不复杂,但都是非常重要的基本用例。BAT测试用例具有很高的稳定性。BAT的测试用例大概会占测试用例的总数的30%左右。BAT里面的测试用例,往往都是作为Regression测试用例的。BAT的测试用例用例一旦fail, 意味产品有重大缺陷,基本无法发布。对应的测试用例发现的问题,往往为P1的Bug。
  Core(Core Regression Test)
  这类测试用例和BAT的测试用例很相似,代表核心功能,重要级别会比BAT要低些。测试用例会比较复杂,一般占整个总数的20%左右。一般Core集里面的测试用例fail, 对应的Bug也往往都是P1。Core和BAT比较难以划分,但是可以将不属于BAT和Func的测试用例划入到这个里面。
  Func
  这类测试用例往往是对BAT和Core的补充。BAT和Core执行的主要路径的测试用例,那么分支的测试用例往往都设计在Func里面,这类测试用例相对比较多和复杂,占整个测试用例的比例为50%左右。Func集里面测试用例fail, 对应的Bug往往为P2或者P3。
  其他一般还会有,UI, Security, Performance, Localization等等。
  大致结构和设计如下图: