软件测试(二)中涉及哪些测试方法?

摘要:测试用例 什么是测试用例: 测试⽤例(Test Case)是为了实施测试⽽向被测试的系统提供的⼀组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等要素。 设计测试用例:一般为功能测试+界⾯测试&#x2B
测试用例 什么是测试用例: 测试⽤例(Test Case)是为了实施测试⽽向被测试的系统提供的⼀组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等要素。 设计测试用例:一般为功能测试+界⾯测试+性能测试+兼容性测试+易⽤性测试+安全测试。 功能测试:功能测试是⼀个试图发现程序与其外部规格说明书之间存在不⼀致的过程。外部规格说明书是⼀份从最终用户的⻆度对程序⾏为的精确描述。功能测试通常是⼀项黑盒操作。 界⾯测试:对软件界⾯上所有的内容都需要进行测试。要求整体界面测试界面的实现与设计图要求⼀致。 性能测试:性能测试和功能测试的区别是:功能测试检查软件是否做了,⽽性能测试测试软件做的好不好。 兼容性测试:软件是部署在硬件系统之上,并依赖所需要的软件环境。如QQ可以在PC端打开,也可以在移动端打开;移动端⼜分为IOS系统和Android系统,且市⾯上⼿机⼜有不同的品牌、不同的机型、不同的版本。软件是否能够在不同的环境下正确运⾏需要测试⼈员进行验证。 易⽤性测试:易⽤性测试的标准是检查产品是否具备简单易上手的属性。假如测试⼈员从来没有安装或使⽤过该产品,作为⼀个新用户,对当前产品是否能够快速适⽤产品的使⽤流程。 安全测试:安全测试和性能测试⼀样都是⽐较⼤的领域。常⻅的安全问题如:隐私数据明⽂显⽰;参数未强校验导致SQL注⼊;越权:普通用户也可以执⾏管理员权限的操作。 除了上面常用的测试方法,还有弱网测试和安装卸载测试。 弱网测试推荐使用fiddler抓包工具。配置步骤如下: 设计方法 等价类: 是一种非常经典的黑盒测试技术 核心思想:依据需求将输⼊(特殊情况下会考虑输出)划分为若⼲个等价类,从等价类中选出⼀个测试⽤例,如果这个测试⽤例测试通过,则认为所代表的等价类测试通过,这样就可以⽤较少的测试⽤例达到尽量多的功能覆盖,解决了不能穷举测试的问题。 等价类的两大分类: 有效等价类(Valid Equivalence Class): 符合程序规格说明、合理的输入数据集合。 用于验证程序是否实现了它应该做的功能。 无效等价类(Invalid Equivalence Class): 不符合规格说明、不合理或非法的输入。 用于验证程序的容错性和健壮性,确保程序不会因为错误输入而崩溃。 边界值: 边界值分析法就是对输⼊或输出的边界值进⾏测试的⼀种⿊盒测试⽅法,是对等价类划分法的补充。它不是从等价类中随便挑一个典型值,而是专门盯着等价类的边缘进行测试。 边界值包含:边界值+次边界值 通常我们关注以下五个点:最小值(Min)、略大于最小值(Min+)、正常值(Nominal)、略小于最大值(Max-)、最大值(Max) 因此等价类往往和“边界值”一起用 正交法: 正交法是利用数学上的“正交表”来安排测试。它的核心特质是:均匀分散、齐整可比。 简单来说,它保证了:任意一列中,每个状态出现的次数一样多。任意两列中,所有可能的组合都出现过,且次数一样多。 这意味着你不需要测遍所有组合,只需要测这些“均匀分布”的点,就能发现大部分由于多个参数交互引起的Bug。 正交表的三个要素正交表通常用符号\(L_n(k^m)\)表示: L:正交表的代号。 n(行数):需要进行的测试用例个数。 k(水平数):每个因素下的不同取值个数。 m(因素数):变量的个数(即有多少个输入框/配置项)。 正交法的操作步骤: 提取因素(Factor):确定有哪些输入变量。 确定水平(Level):每个变量有哪些取值(等价类)。 选择正交表:根据因素数和水平数去查标准的正交表工具(通常有现成的对照表)。如果找不到完全匹配的,选一个稍微大一点的再进行裁剪。 变量映射:把实际的测试值填入表中的 1, 2, 3 占位符。 编写用例:每一行就是一条测试用例。 推荐使用allpairs工具来生成正交表。 判定表法: 当输入条件(原因)之间存在复杂的逻辑依赖或组合关系,且不同的组合会触发不同的动作(结果)时,等价类和边界值就不够用了。这时我们需要使用判定表法(Decision Table Testing)。 判定表是最严谨、最能逻辑覆盖的一种黑盒测试方法。 判定表的四个组成部分: 条件桩(Condition Stub):列出问题的所有输入条件。 动作桩(Action Stub):列出程序可能采取的所有操作/结果。 条件项(Condition Entry):列出针对条件的各种取值组合(通常用 Y/N 或 T/F 表示)。 动作项(Action Entry):列出在某种条件组合下,对应的动作是否发生。 判定表的设计步骤: 判定表的设计步骤确定原因和结果:找出所有的输入条件和输出动作。
阅读全文