测试用例常用方法和选择原则

等价类划分是一种重要的、常用的黑盒测试方法,不需要考虑程序的内部结构,只需要考虑程序的输入规格即可。它将不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具有完整性和代表性。

 等价类思考步骤:

  1、先确定有效和无效等价类。

  2、有效等价类就是题目条件(两端的极值(边界值)要判断,中间随意一个值也要判断)。

  3、无效等价类先划分与条件相反的情况,其它特殊情况(中文、英文、特殊符号、空格、空值)。

  二、边界值

  具体测试用例思路:找到边界值和它两端的值,分别进行测试。

  1、确定边界情况(输入或输出等价类的边界)。

  2、选取正好等于、刚刚好大于或刚刚好小于边界值作为测试数据。

  3、边界值的取值依据输入范围区间不同而有所不同,但是都需要把上点值、离点值和内点值取到(闭两边、开中间)。

  边界值的方法小结:

  1、如果输入条件规定了值的范围,则应取刚刚到这个范围的边界值,以及刚刚超载这个范围边界的值作为输入数据。

  如:两位加法器数的范围为-99 - 99,则应测试-99 -100和99 100。

  2、输入条件规定了值的个数。

  如:姓名要求1-20个字符,需要测试0、1、2个字符和19、20、21个字符。

  某商品信息查询系统,每页最多显示10条商品信息,我们应该闪图商品信息使其能够查询出9、10、11条、1条、0条商品记录。

  边界值和等价类区别:边界值分析不是从某等价类中随便挑一个作为代表,而是这个等价类的每个边界都要作为测试条件。它们是相辅相成的关系,配合使用。

三、因果图法

  因:输入条件 | 果:输出条件、输出结果。

  适用于输入条件之间有相互制约、相互依赖的情况。

  因果图中的符号:

  1、恒等:有因就有果,没有因就没有果。

  2、非:有因没有果,没有因有果。

  3、或:条件有一个是真,结果就是真,条件都是假,结果才是假。

  4、且(与):条件都为真,结果才是真,一个条件为假,结果就是假。

  利用因果导出测试用例需要经过以下几个步骤:

  1、找出所有的原因,原因即输入条件或输入条件的等价类。

  2、找出所有的结果,结果即输出条件。

  3、明确所有输入条件之间的制约关系以及组合关系。

  哪些条件不能组合在一起,哪些条件可以组合在一起。

  4、明确所有输出条件之间的制约关系以及组合关系。

  哪些输出结果不能同时输出,哪些输出结果可以同时输出。

  5、找出什么样的输入条件组合会产生哪种输出结果。

  6、把因果图转换成判定表/决策表。

  7、为判定表/决策表中的每一列表示的情况设计测试用例。

  四、判定表法

  根据因果图来制作判定表(因果图可以不画)

  组成部分:

  1、条件桩:所有条件。

  2、动作桩:所有结果。

  3、条件桩:针对条件桩的取值。

  3、动作桩:针对动作桩的取值。

  书写步骤:

  1、列出所有条件和动作桩。

  2、填写条件和动作桩的项目。

  3、简化判定表。

  注意:如果出现“-”代表此选项不影响最终结果。

  五、场景法

  场景法就是模拟用户操作软件时的场景,主要用于测试系统的业务流程,分为基本流(正确流程)和备选流(错误流程)。

  在冒烟测试时也主要采用场景法进行测试。

  六、流程分析法

  流程分析法适用于有先后顺序的测试,常用于业务流程测试、安装流程测试等。每个流程就是一条测试用例,它只是在测试整体流程是否正确,细节还需要使用等价类、边界值等方法完善。

  七、错误推断法

  凭着直觉和经验来设计测试用例,它是根据之前项目相关的bug数据总结来的。

  八、正交表

  从全面试验中挑选出有代表性的点进行测试(均匀分散,整齐可比);高效率、快速、经济的方法。

  作用方法:

  1、根据控件和取值当我选择一个合适的正交表。

  2、列举取值并编号,生成取值表。

  3、把取值表与选择的正交表进行映射。

  混合正交表生成工具allpairs:

  很多情况下无法找到合适的正交表,就要使用正交表生成工具。

  使用步骤:

  1、制作取值表(只列出数据即可,不用编号)。

  2、复制取值表的数据,放到文本文档中保存(注意不要更改任何格式,例如文件叫Test2.txt)。

  3、把文本文档放在allpairs文件夹中。

  4、cmd进入控制台。

  5、使用控制台命令进入allpairs文件夹中(cd目录路径)。

  6、在控制台中输入 allpairs.exe Test2.txt>chenggong.txt(chenggong是自己真怕的名字,用来存放生成的组合用例,可以自动生成,不必提前建好)。

  测试方法的选择

  在确定测试方法时,应遵循以下原则:

  1、拿到一个测试任务时,先关注它的主要功能和业务流程,业务逻辑是否正确实现,考虑使用场景法。

  2、需要输入数据的地方,考虑采用等价类划分法,包括输入条件和输出条件的等价划分,将无限测试变成有限测试。要注意配合边界值法来做详细测试。

  3、在任何情况下都必须采用边界值分析法,这种方法设计出的测试用例程序错误的能力最强。

  4、如果程序的功能中含有输入条件的组合情况,则一开始就应考虑选用因果图和判定表法。

  5、对于参数配置类的软件,需要考虑参数之间的组合情况,考虑使用正交排列法选择较少的组合方式(最少的测试用例获得最大的测试覆盖率)。

  6、对照程序逻辑,检查已设计出的用例的逻辑覆盖程序,如果没有达到要求的覆盖标准,则应当再补充更多的测试用例。

  7、采购错误推断法再追加测试用例---依靠测试工程师的经验和智慧。

你可能感兴趣的:(程序员,软件测试,python,测试用例,程序人生,开发语言,功能测试)