是二轮,线上笔试后的约的线下面试,这里我记录一下面试过程中大概遇到的问题。
1、设计测试用例的主要方法:流程图法,等价类划分,边界值分析法,因果图法等等
这里他问我熟悉哪种方法,给他讲一下:(我说的流程图,问我用什么画图,我回答是亿图图示)
(1)流程图法
-
定义:
- 根据软件的业务流程或程序流程图来设计测试用例。通过分析流程图中的各个节点、分支和路径,确定可能的输入和预期输出,从而设计出全面覆盖流程的测试用例。
-
步骤:
- 绘制流程图:根据软件的需求规格说明书或程序的逻辑结构,绘制出详细的流程图。流程图应包括所有的主要功能模块、分支条件、循环结构等。
- 确定节点和路径:分析流程图中的各个节点和路径,确定关键节点和可能的执行路径。关键节点可以是输入节点、判断节点、循环节点等,执行路径可以是基本路径、分支路径、异常路径等。
- 设计测试用例:针对每个关键节点和执行路径,设计相应的测试用例。测试用例应包括输入数据、预期输出、执行步骤等。对于不同的路径,可以考虑边界值、等价类划分等方法来设计输入数据。
- 执行测试用例:按照设计好的测试用例执行测试,记录实际输出结果,并与预期输出结果进行比较。如果发现差异,应及时进行问题定位和修复。
-
优点:
- 直观地展示软件的业务流程和程序逻辑,便于理解和分析。
- 可以全面覆盖软件的各种执行路径,提高测试的覆盖率。
- 有助于发现流程中的错误和缺陷,如死循环、非法跳转等。
例如,对于一个在线购物系统,绘制流程图可以包括用户登录、浏览商品、加入购物车、结算、支付等步骤。针对每个步骤,可以设计不同的测试用例,如输入错误的用户名和密码进行登录测试、在购物车中添加和删除商品测试、选择不同的支付方式进行支付测试等。
总的来说,流程图法是一种有效的测试用例设计方法,可以帮助测试人员更好地理解软件的业务流程和程序逻辑,提高测试的质量和效率。
(2)等价类划分
-
定义:
- 把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。
-
划分原则:
- 有效等价类:是指对于程序的规格说明来说是合理的、有意义的输入数据构成的集合。利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。
- 无效等价类:与有效等价类的定义恰巧相反,无效等价类指对程序的规格说明是不合理的或无意义的输入数据所构成的集合。
-
步骤:
- 确定等价类:根据需求规格说明书,分析输入数据的类型、范围、格式等,确定等价类。
- 划分等价类:将输入数据划分为若干个等价类,可以采用以下方法:
- 按区间划分:例如输入数值的范围,可以划分不同的区间作为等价类。
- 按数值集合划分:如果输入数据是一组固定的值,可以将这些值分别作为不同的等价类。
- 按限制条件或规则划分:根据输入数据的限制条件或规则进行划分。
- 确定测试用例:从每个等价类中选取一个或多个代表性的数据作为测试用例。
-
优点:
- 可以用较少的测试用例覆盖较多的输入情况,提高测试效率。
- 可以避免测试的盲目性,使测试更加有针对性。
(3)边界值分析法
-
定义:
- 对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,因为在很多情况下,边界情况往往是容易出错的地方。
-
边界值的选择:
- 对于输入数据,选取正好等于、刚刚大于和刚刚小于边界的值作为测试用例。
- 例如,如果输入数据的范围是 [1, 100],那么边界值可以选择 1、2、99、100。
-
步骤:
- 确定边界:根据需求规格说明书,确定输入数据的边界值。
- 选取边界值:选取正好等于、刚刚大于和刚刚小于边界的值作为测试用例。
- 设计测试用例:根据选取的边界值设计测试用例,包括输入数据和预期输出。
-
优点:
- 可以有效地发现输入或输出边界处的错误。
- 对于一些复杂的系统,边界值分析法可以快速定位可能出现问题的地方。
(4)因果图法
-
定义:
- 因果图法是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法。它适合于检查程序输入条件的各种组合情况。
-
因果图的基本符号:
- 恒等:若原因出现,则结果出现;若原因不出现,则结果也不出现。
- 非:若原因出现,则结果不出现;若原因不出现,则结果出现。
- 或:若几个原因中有一个出现,则结果出现;若几个原因都不出现,则结果不出现。
- 与:若几个原因都出现,结果才出现;若其中一个原因不出现,则结果不出现。
-
步骤:
- 分析需求:理解需求规格说明书,确定输入条件和输出结果。
- 确定原因和结果:将输入条件作为原因,输出结果作为结果。
- 绘制因果图:根据原因和结果之间的关系,绘制因果图。
- 转换为判定表:将因果图转换为判定表,列出所有可能的输入组合和对应的输出结果。
- 设计测试用例:根据判定表设计测试用例。
-
优点:
- 可以考虑输入条件之间的组合关系,发现一些复杂的逻辑错误。
- 能够清晰地展示输入条件和输出结果之间的因果关系,便于理解和分析。
(5)场景法
-
定义:
- 通过场景描述的业务流程(业务逻辑),也包括代码实现逻辑,设计用例来遍历场景,验证软件系统功能的正确性。
-
场景的组成:
- 基本流:是经过用例的最简单的路径,无任何差错,程序从开始直接执行到结束。
- 备选流:在基本流的基础上,出现了各种异常情况或分支情况。
-
步骤:
- 分析需求:理解业务流程和需求规格说明书,确定场景的基本流和备选流。
- 绘制流程图:根据基本流和备选流绘制流程图,清晰地展示业务流程。
- 设计测试用例:根据流程图设计测试用例,覆盖各种场景。
-
优点:
- 可以模拟用户的实际操作场景,更加贴近实际使用情况。
- 有助于发现业务流程中的错误和缺陷,提高软件的质量和用户体验。
2、问了我一些excel上的问题,我记得有一个没回答上,最后面试官说是VLOOKUP函数。
在 Excel 中可以使用以下方法标注 A 区和 B 区中的重复内容:
方法一:条件格式
- 选中要标注重复内容的区域,假设 A 区范围是 A1:A10,B 区范围是 B1:B10,那么可以选中一个较大的区域,比如 A1:B10。
- 在 Excel 的 “开始” 菜单中,点击 “条件格式”。
- 选择 “突出显示单元格规则” 中的 “重复值”。
- 在弹出的对话框中选择一种标注的格式,比如设置为红色填充。点击 “确定” 后,A 区和 B 区中的重复内容就会被标注出来。
方法二:使用函数
- 在 C1 单元格输入公式
=IF(COUNTIF(A$1:B$10,A1)>1,"重复","")
,这个公式会判断 A1 单元格的值在 A1:B10 这个区域中出现的次数,如果大于 1 则表示重复,在 C1 单元格显示 “重复” 字样,否则显示为空。 - 拖动 C1 单元格的填充柄,将公式复制到 C2:C10(假设 A、B 区共有 10 个单元格需要判断)以及更多的单元格,这样就可以将重复的内容在 C 列标注出来。
也可以使用 VLOOKUP 函数结合一些辅助列来解决类似判断 A 区和 B 区重复内容的情况,但相对比较复杂。
以下是一种方法:
- 在 C1 单元格输入公式
=IF(COUNTIF(B:B,A1)>0,"重复","")
,将其向下填充至与 A 区数据范围一致的行。这个公式判断 A 区中的每个值在 B 区中是否存在,如果存在则标注为 “重复”。 - 在 D1 单元格输入公式
=IF(COUNTIF(A:A,B1)>0,"重复","")
,将其向下填充至与 B 区数据范围一致的行。这个公式判断 B 区中的每个值在 A 区中是否存在,如果存在则标注为 “重复”。
另一种可以考虑的是使用 VBA(Visual Basic for Applications)编写代码来实现,不过这需要一定的编程基础。
————————————
后续我再继续补充,今天还有面试哈