| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发测试 -> 测试面试基础知识 -> 正文阅读 |
|
[开发测试]测试面试基础知识 |
文章目录1.什么是测试(找出软件中存在的bug,提高产品的质量,提升用户的体验)软件测试就是利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估。执行测试用例后,需要跟踪故障,以确保开发的产品适合需求。 2.测试流程一、**测试需求分析阶段:**阅读需求,理解需求,主要就是对业务的学习,分析需求点。 参与需求评审会议 二、测试计划阶段:主要任务是编写测试计划,参考软件需求规格说明书、项目总体计划,内容包括测试范围(来自需求文档)、进度的安排,人力物力的分配,整体测试策略的制定,和风险的评估与规避措施有一个制定,一般有测试负责人编写,当然我们也会参与相关的评审工作。 三、测试设计阶段:主要任务是编写测试用例,会参考需求文档(原型图)、概要设计、详细设计等文档,有不明确的也会及时和开发、产品经理沟通。用例编写完成后会进行评审。 四、**测试执行阶段:**首先搭建测试环境,执行预测(冒烟),以判定当前版本可测与否,如果预测通过,正式进入系统测试,遇到问题提交Bug到缺陷管理平台,并对bug进行跟踪,直到被测软件达到测试需求要求,没有重大bug,测试结束。 五、**测试评估阶段:**出测试报告,对整个测试的过程和版本质量做一个详细的评估。确认是否可以上线。 3.测试方法有哪些1、按是否查看程序内部结构分为: 4、黑盒测试分为功能测试和性能测试: 1)功能测试(function testing),是黑盒测试的一方面,它检查实际软件的功能是否符合用户的需求。 4.测试用例编写方法(另一个参考链接 几个常用设计测试用例的方法总结 - 简书 (jianshu.com))(黑盒测试方法)一、等价类、边界值等价类分为: 有效等价类–在取值范围内 无效等价类—在取值范围外 边界值:错误更可能出现在输入的附近趋势 +1和-1,用此边界值需考虑三点:上点,离点,内点 一般会选择6个数据进行测试 总结:编写测试用例需要从各方面考虑并根据我们测试用例方法来编写,测试用例的设计都是循序渐进的过程并不能一步到位。 二、因果图
? 1.因–原因–输入条件 果–结果—输出结果 2.确定原因,根据用户的需求来确定原因,因为这些原因会导致一些结果和影响 3.我们测试人员就要理解被测系统的判断逻辑过程 4.通常因果图是判定表的一个前置过程 ? 5.一般 a.输入与输出的关系 b.输入与输入的关系
? 恒等 a=b 当输入条件发生时,结果一定会出现 ? 非 a!=b 当输入条件发生时,结果不发生 ? 或 a v b 当输入条件有一个为真的,输出结果就为真 ? 与 a ^ b 当输入条件有一个为假的,输出结果就为假
? 互斥(异):如果选择只能选择一个,但可以不选 ? 包含(或):至少选择一个,可以多选但不能不选 ? 唯一: 必须选择一个,唯一与互斥的区别:唯一必须选择一个,互斥可以选一个也可以都不选 因果图设计测试用例步骤
**小结:**1、因果图主要考虑控件之间条件的组合关系 ? 2、控件过多,组合量大的情况下不宜使用因果图法 三、判定表
四、正交排列表**A.定义:**一种特制的表一般正交表记为LnMk ? n代表行数 也就是需求侧卧时组合的行数 ? k代表列数 表述控件的个数(因素的个数或因子的个数) ? M 每个控件包含的取值个数(各因子的水平数即各因素的状态数) ? L 正交表的代号 B.因子:所有参与试验影响结果的条件 C. 影响实验结果因子的取值或输入 ? 特点:分布均匀,整齐可比 ? L9(34)表示 有4个因子 每个因子有3个取值 9是需求测试组合的个数 n=k*(m-1)+1 n为序号 D.小结:正交表中的因子,判定表种的条件桩 ? 优 点:可以把最优的部分筛选出来 ? 缺点:经常遗漏一些测试 五、场景法A.定义:模拟用户操作软件的场景 常用于冒烟测试 B.核心概念: a.基本流-–按照正确的业务流程来实现的仅有一条操作路径 b.备选流—导致流程出现错误的操作流程(模拟错误的操作流程) 基本流: 1、开始→插入银行卡→卡合法→提示输入密码→用户输入密码或取消→密码正确→提示输入金→用户输入金→用户确认→输入100单位金额→余额足够→不超过取款限额→输出超屏给用户,退卡→用户取走现金,取走银行卡→界面回复初始状态 备选流: 2、开始→输入银行卡→卡不合法→提示error1,退卡 3、开始→输入银行卡→卡合法→提示输入密码→用户输入密码或取消→取消→退卡 4、开始→输入银行卡→卡合法→提示输入密码→用户输入密码或取消→密码不正确→输入错误3次→吞卡 5、开始→输入银行卡→卡合法→提示输入密码→用户输入密码或取消→密码不正确→输入错误不超过3次→输入正确→提示输入金额→用户输入金额→用户确认→输入100单位金额→余额足够→提示error3,退卡 6、开始→输入银行卡→卡合法→提示输入密码→用户输入密码或取消→密码不正确→输入错误不超过3次→输入正确→提示输入金额→用户输入金额→用户确认→输入100单位金额→提示error2→输入金额→确认金额→输入100单位金额→提示error3,退卡 7、开始→输入银行卡→卡合法→提示输入密码→用户输入密码或取消→密码不正确→输入错误不超过3次→输入正确→提示输入金额→用户输入金额→用户确认→输入100单位金额→余额足够→不超过取款限额→提示error4,退卡 8、开始→输入银行卡→卡合法→提示输入密码→用户输入密码或取消→密码不正确→输入错误不超过3次→重新输入正确→提示输入金额→用户输入金额→用户确认→输入100单位金额→提示error2→输入金额→确认金额→输入100单位金额→不超过取款限额→提示error4,退卡 9、开始→输入银行卡→卡合法→提示输入密码→用户输入密码或取消→密码不正确→输入错误不超过3次→重新输入正确→提示输入金额→用户输入金额→用户确认→输入100单位金额→提示error2→输入金额→确认金额→输入100单位金额→不超过取款限额→输出钞票,退卡→用户取走现金,取走银行卡→界面恢复初始状态 10、开始→输入银行卡→卡合法→提示输入密码→用户输入密码或取消→密码正确→→提示输入金额→用户输入金额→用户确认→输入100单位金额→提示error2→输入金额→确认金额→输入100单位金额→提示error3,退卡 11、开始→输入银行卡→卡合法→提示输入密码→用户输入密码或取消→输入正确→提示输入金额→用户输入金额→用户确认→输入100单位金额→余额足够→不超过取款限额→提示error4,退卡 12、开始→输入银行卡→卡合法→提示输入密码→用户输入密码或取消→输入正确→提示输入金额→用户输入金额→用户确认→输入100单位金额→提示error2→输入金额→确认金额→输入100单位金额→不超过取款限额→提示error4,退卡 13、开始→输入银行卡→卡合法→提示输入密码→用户输入密码或取消→输入正确→提示输入金额→用户输入金额→用户确认→输入100单位金额→提示error2→输入金额→确认金额→输入100单位金额→不超过取款限额→输出钞票,退卡→用户取走现金,取走银行卡→界面恢复初始状态 六、状态转换图**A.定义:**关注被侧对象的状态变化,在需求规格中是否有不可到达的状态和非法状态 B.状态:在被测对象待定输入的条件下能不能保持响应形式 C.方法流程:a、分析需求划状态节点 b、画状态树 c、写测试用例 D.小结:先写主要操作 为减少测试用例数量 沿着状态转换图一条路径 七、大纲法A.定义:检查窗口与窗口之间的联系 每一个窗口有对歌动作,为了弄清楚窗口之间的关系,或说动作之间 的联系,可以使用测试大纲法 **B.步骤:**a、找所有窗口以及每个窗口的输入动作,注意先后顺序 ? b、找到各个窗口之间的关系,并依据此编写测试用例 适用于软件安装程序测试,检查界面测试要点以及窗口之间的变化 QQ五笔输入法 1、点击取消,若不下载,则点“是” 否则点“否”
2、搜索qq五笔输入法,下载安装包 点击下一步 3、阅读协议后,点击上一步,返回2步骤 4、点击取消,则步骤1 5、点击我接受, 6、点击浏览,选择安装目录 7、选择上一步,返回步骤5 8、点击取消,则执行步骤1 9、点击“安装” 安装页面,等待安装 10、无法点击“上一步”和“取消” 11、默认,系统初始值,点击“下一步 12、安装完成,点击“完成” 测试用例: 1、下载→取消→是 2、下载→取消→否→返回下载 3、下载→下一步→取消→是 4、下载→下一步→取消→否→返回上一步 5、下载→下一步→返回上一步 6、下载→下一步→我接受→取消→是 7、下载→下一步→我接受→取消→否→返回人接受 8、下载→下一步→我接受→浏览→储存目录选择 9、下载→下一步→我接受→上一步→返回我接受 10、下载→下一步→我接受→安装→下一步→完成 八、错误推断法A.定义:基于经验和直觉推断程序中所有可能存在的各种错误,从而出针对性设计测试用例 三点要素:经验,知识,直觉 九、测试方法总结十、白盒测试及其基本方法
强度由低到高:语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖。 (1)语句覆盖:就是设计若干个测试用例,运行被测程序,使得每一可执行语句至少执行一次。 (2)判定覆盖:使设计的测试用例保证程序中每个判断的每个取值分支至少经历一次。 (3)条件覆盖:条件覆盖是指选择足够的测试用例,使得运行这些测试用例时,判定中每个条件的所有可能结果至少出现一次,但未必能覆盖全部分支 (4)判定条件覆盖:判定-条件覆盖就是设计足够的测试用例,使得判断中每个条件的所有可能取值至少执行一次,同时每个判断的所有可能判断结果至少执行,即要求各个判断的所有可能的条件取值组合至少执行一次。 (5)条件组合覆盖:在白盒测试法中,选择足够的测试用例,使所有判定中各条件判断结果的所有组合至少出现一次,满足这种覆盖标准成为条件组合覆盖。 (6)路径覆盖:是每条可能执行到的路径至少执行一次。 补充:(1)语句覆盖在所有的测试方法中是一种最弱的覆盖。 (2)判定覆盖和条件覆盖比语句覆盖强,满足判定/条件覆盖标准的测试用例一定也满足判定覆盖、条件覆盖和语句覆盖(3)路径覆盖也是一种比较强的覆盖,但未必考虑判定条件结果的组合,并不能代替条件覆盖和条件组合覆盖。
|
|
开发测试 最新文章 |
pytest系列——allure之生成测试报告(Wind |
某大厂软件测试岗一面笔试题+二面问答题面试 |
iperf 学习笔记 |
关于Python中使用selenium八大定位方法 |
【软件测试】为什么提升不了?8年测试总结再 |
软件测试复习 |
PHP笔记-Smarty模板引擎的使用 |
C++Test使用入门 |
【Java】单元测试 |
Net core 3.x 获取客户端地址 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/17 22:34:59- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |