软件测试方法与软件测试过程

Olinda ·
更新时间:2024-09-21
· 976 次阅读

读书前记

  其实本章节的内容在大学的软件测试的课程中有很详细系统的学习,而且在近也看过很多关于软件测试的基础知识,同时在各大论坛和站点下载和浏览了很多关于这方面的知识。但是一个很明显的特点是学校里面学习的虽然比较深刻但是不够通俗,而看书籍的时候也不会如此细心的浏览,可论坛和站点中的文章帖子等都不够系统。将这些基础的测试知识进行系统的复习,并仔细的记录一些重要的知识点以加强记忆和理解。

内容摘要

  测试的主要方法与分类:黑与白,黑盒测试:将有效与无效的测试用例输入到被测试软件中,观察软件的输出的测试,它不需要了解软件实现细节,当软件内部实现机制更改时,一般不必修改测试用例,从用户使用角度出发,但是无法覆盖软件代码个主要路径,容易导致测试不很完全;白盒测试:针对软件代码各路径进行测试,相对易于调试,容易发现Bug产生的原因,需要了解软件的结构,对测试人员的编程能力要求高,软件实现代码改变,测试用例一般也需要改变。

  黑盒测试能发现的错误:功能错误或遗漏,界面错误,数据结构或外部数据库访问错误,性能错误,初始化和终止错误。

  黑盒测试的测试用例设计原则:两个标准与七个方法,两个标准:在测试覆盖率相同的时候,测试用例要尽可能的少,现有测试用例要达到越高越好的测试覆盖率;七个方法:等价类划分(输入的值域),边界值分析(不同值域之间的变化点),错误推测方法(代码变动的点、历史上Bug多的点),因果图方法(软件逻辑上的因果关系),判定表驱动分析(条件选择顺序),正交实验设计,功能图分析。

  等价类划分(Equivalence Partition):把所有可能的输入数据,程序的输入域划分成若干个部分,从每一个部分当中选取一个或者少数具有代表性的数据作为测试用例的输入。等价类指某个输入数据范围的子集合,在该子集合中,被测试软件程序对于其中任意输入数据所产生的行为是一致的。等价类划分有两种:有效等价类(合理的、有意义的输入数据所构成的集合,验证是否实现了所规定的功能和性能)与无效等价类(验证软件是否实现了所规定的意外处理)

  划分等价类的方法:1在输入条件规定了取值范围或值的个数的情况下,则可以确定一个有效等价类和两个无效等价类2在输入条件规定了输入值的集合或者规定了“必须”如何的条件下,可以确定一个有效等价类和一个无效等价类3在输入条件是一个布尔量的其概况下,可以确定一个有效等价类和一个无效等价类4在规定了输入数据的一组值,并且呈现要对每一个输入值分别处理的情况下,可确定n个有效等价类和一个无效等价类5在规定了输入数据必须遵守的规则的情况下,可确定一个有效等价类和若干个无效等价类6在确知已划分的等价类中各元素在程序处理中的不同方式的情况下,则应再将该等价类进一步划分为更小的等价类

  等价类划分设计测试用例的步骤:1为每个等价类规定一个的编号(标识用例)2设计一个新的测试用例,使请尽可能多地覆盖尚未覆盖的有效等价类,直到所有的有效等价类都有测试用例覆盖为止3设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,直到所有的无效等价类都被覆盖为止。

  边界值分析法:对等价类划分的补充,对两个相邻等价类之间的那个数值(边界值)区域设计测试用例。首先确认输入和输出数据中等价类的各个边界,选取等于、刚刚大于、刚刚小于边界值的输入数据进行测试。

  边界值分析设计测试用例的原则:1如果输入条件规定了值的范围,则应取刚达到这个范围的边界值,以及刚刚超越这个范围的边界值作为测试输入数据2如果输入条件规定了值的个数,则用大个数、小个数、比大个数少1、比大个数多一得数作为测试数据3如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和后一个元素作为测试用例4如果程序中使用了一个内部数据结构,则应该选择这个内部数据结构的边界上值作为测试用例5分析规格说明,找出其他可能的边界条件

  判定表方法:考虑输入条件之间的联系,相互组合可能会产生一些新的情况,采用一种适合描述对于多种条件的组合,相应产生多个动作的形式来考虑测试用例,主要由生产因果图并根据因果图形成判定表以确定测试用例两部分。

  判定表生成测试用例五步骤:1分析规格说明书中,哪些是原因(输入),哪些是随之产生的结果(输出),并给每个原因和结果赋予一个标识符2分析规格说明书中的逻辑关系,发现并记录各个原因与结果之间、原因与原因之间对应的关系,根据这些关系划出因果图3由于某些限制,上述组合中有些组合不可能明确出现,应用一些记号表明4将因果图转化为判定表5将判定表中的每一列拿出来作为依据,设计测试用例。

  判定表的结构:判定表(Decision Table)是分析和表达多逻辑条件下执行不同操作的情况下的工具,通常由5个部分组成:1条件桩(Condition Stub):;列出了问题的所有条件2动作桩(Action Stub):列出了问题规定可能采取的操作3:条件项(Condition Entry):列出针对它左列条件的取值,在所有可能情况下的真假值4动作项(Action Entry):列出在条件项的各种取值情况下应该采取的动作5规则:任何一个条件组合的特定取值及其相应要执行的操作。在判定表中贯穿条件项和动作项的一列是一条规则。

  判定表的建立步骤:1确定规则个数2列出所有的条件桩和动作桩3生成判定表的记录,填入条件项4填入动作项5简化过程,合并相似规则以确保测试用例不会有所遗漏

读后感

  在读本章节的内容的时候,似乎只是头脑中某些影像的翻新,但是有些观点还是能够让我从一个以前未曾考虑的角度来思考这是测试方法和过程。比如等价类指某个输入数据范围的子集合,在该子集合中,被测试软件程序对于其中任意输入数据所产生的行为是一致的。等价类划分的依据是数据产生的行为,这个比单纯的从输入数据的类型的常用的分类法的思维方式更接近准确。再比如判定表(Decision Table)是分析和表达多逻辑条件下执行不同操作的情况下的工具。将判定表当做一个工具来对待的思想,让我对“工具”这个词有了更新的认识,它不仅仅是一个实物或者一个软件等,还可以是一种技术,一种设计或者分析甚至是为了某个明确的目的而采用的思维方式。

读书后记

  以前看书很少能够挖掘出书中的这些可以带给自己的精华和认知上的提升,看来这样写读书笔记真的对于自己的进步是毋庸置疑的,有时可能是无法替代的。本来以为读本章节内容不会有让我意外的收获,但是不然,很多的收获不是某些理论,某些技能,有时它只是一个你未曾发现的视角,一个让你对这些理论和技能醍醐灌顶的词句。

  看来读书只有认真的读过才会让你有那种值得的感觉,否则好像只是看一本技术说明书或者一些资料的收集体的味道,只是看过,不是品味过。



软件测试方法 测试方法 测试过程 方法 软件测试 测试 软件

需要 登录 后方可回复, 如果你还没有账号请 注册新账号