等价类

测试流程

萝らか妹 提交于 2019-12-01 09:54:53
需求分析: 整体流程图: 需求提取 -> 需求分析 -> 需求评审 -> 更新后的测试需求跟踪xmind 分析流程: 1. 需求提取: 分析依据(包括:需求矩阵、产品交互图、需求说明书) 获取需求的纬度 客户价值 可以为客户带来哪些价值? 可以解决哪些问题? 根据以上问题定位功能是否合理 UI功能 - 展示功能 模块关联-历史模块 新功能模块关联 考虑是否关联?耦合部分是否需要支持? 客户使用场景-部署方式 网络特性 客户使用服务器常见外设 性能参数-性能要求 网卡最低速率 硬件支持 输出(提取最原始的测试需求) 2. 需求分析: 分析依据(五维分析) 用户场景 功能是否和场景强关联 网络拓扑能否满足客户需求 和竞争对手比较差异 功能是否能满足客户实际应用场景 是否考虑了用户的实际操作 明确性 范围明确性(参数、类型长度范围) 清晰性限制等范畴 无法预知影响的需求提出进行确定,风险 二义性 概念模糊【大概念、第三方支持、与上个版本相同】 支持与不支持等范畴 一个需求描述能出现多种理解 完整性 需求一致性【用户需求、需求规格、需求矩阵三者是否同意】 需求完整【隐形需求】 关联性【与新老功能、与外置软件设备】 可测试性 实现测试需要的工具、方法【调试、接口命令】 定位方式【日志等形式观察】 复杂环境、容量边界、操作时过程不可见 输出 测试需求跟踪 缺陷预防bug 工具需求

边界值测试法

大城市里の小女人 提交于 2019-12-01 08:04:54
边界值测试法 1. 介绍 边界值分析法就是对输入或输出边界值进行测试的,也是一种黑盒测试. 边界值分析法通常作为等价类划分法的补充,其测试用例来自等价类的边界;长期的经验得知,大量的错误是发现在输入或输出范围的边界上,而不是发生再输入输出范围的内部,因此针对各种边界情况设计测试用例,可以查出更多错误. 和等价类划分法的区别: 是等价类划分法的补充 等价类划分法可以挑选等价范围内任意一个数据作为代表,边界值分析法要求每个边界值都要作为测试条件 边界值分析法不仅考虑输入条件,同样考虑输出产生的测试情况 常见的边界值: 边界点(上点):输入范围的边界点 离点: 离边界点最近的点 内点: 输入范围内的任意一个点 对于边界值的说明: 边界值数据本质上属于等价类的范畴,测试时确实是一种冗余(重复),但是为了更好的测试质量(边界值特别容易出bug),边界值必须要单独测,适当必要的冗余是可以接受的. 举例: 0-100内的整数 上点 0, 100 离点 1, 99; -1,101; 1,101; 0, 99; 内点 34 2. 使用边界值设计测试用用例 2.1 步骤: 明确需求 确定有效和无效等价类 明确输入条件中的边界值 编写测试用例 注意: 边界值法应用时,如果测试时间紧张,应该优先测试最大值和最小值 2.2 案例 要求:测试qq账号是否符合规范 需求: qq号是6-10位的整数 确定边界值

测试行业13问

拈花ヽ惹草 提交于 2019-12-01 05:46:14
1、测试是做什么的?   如果是专业的测试人员的话,那软件测试的工作就相当复杂了,首先制定测试计划是势在必行的,包括测试的起始结束时间,在什么时间要有什么进度,之后就是进行各个测试环节,单元测试——集成测试——系统测试——验收测试。这里边前两步是用到白盒测试,后两步需要的是黑盒测试。   如果是找测试方面的工作的话,那一开始我相信问得不会很深,但是基础肯定是要知道的,就是什么是黑白盒测试,建议测试文档包含的必须部分等等吧,都是很基础的。 2、软件测试类型都有哪些?测试类型的区别与联系?      测试类型有: 功能测试,性能测试,界面测试 。    功能测试 在测试工作中占的比例最大,功能测试也叫黑盒测试。是把测试对象看作一个黑盒子。利用黑盒测试法进行动态测试时,需要测试软件产品的功能,不需测试软件产品的内部结构和处理过程。采用黑盒技术设计测试用例的方法有:等价类划分、边界值分析、错误推测、因果图和综合策略。    性能测试 是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。压力测试是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。    界面测试

测试流程

余生颓废 提交于 2019-12-01 05:43:09
最近,很多小伙伴正在为面试新工作做准备。所以我整理一下 软件测试 的基本工作流程和一些 测试用例 编写方法。大致内容如下,希望这些内容对大家有帮助。文末有福利哦    首先,作为测试人员需了解业务,分析需求点   为什么测试人员要参加 需求分析 ?也就是进行测试需求分析的目的是什么?    第一、把用户需求转化为功能需求   1)对测试范围进度量   2)对处理分支进行度量   3)对需求业务的场景进行度量   4)明确其功能对应的输入、处理和输出   5)把隐式需求转变为明确    第二、明确测试活动的五个要素   测试需求是什么、决定怎么测试、明确测试时间、确定测试人员、确定测试环境、测试中需要的技能,工具以及相应的背景知识,测试过程中可能遇到的风险等等。测试需求需要做到尽可能的详细明确,以避免测试遗漏和误解。    那么,接下来怎么进行测试需求分析?   1)确认功能   (业务功能、辅助功能、数据约束、易用性需求、编辑约束、参数需求、权限需求、性能约束)   1、业务功能:与用户实际业务直接相关的功能或者细节;   2、辅助功能:辅助完成业务功能的一些功能或者细节,例如:设置过滤条件;   3、数据约束:功能的细节,主要是用于控制在执行功能时,数据的显示范围,数据之间的关系等;   4、易用性需求:功能的细节,产品中必须提供,便于功能操作使用的一些细节,例如:快捷键等;  

从测试用例看测试的问题及变化

送分小仙女□ 提交于 2019-11-30 22:34:52
对于一个 测试 人员来说测试用例的设计编写是一项必须掌握的能力。但有效的设计和熟练的编写却是一个十分复杂的技术,它需要你对整个软件不管从业务还是从功能上都有一个明晰的把握。 一、问题: 许多测试类书籍中都有大幅的篇章介绍用例的设计方法,如等价类划分,边界值,错误推断,因果图等。但 实际应用 中这些理论却不能给我们很明确的行为指导,尤其是业务复杂,关联模块紧密,输入标准和输出结果间路径众多时,完全的遵循这些方法只能让我们在心理上得到一种满足,而无法有效的提高测试效率。有时我们只有依靠以前项目的用例编写经验(或习惯),希望能在这一个项目中更加规范,但多数情况下我们规范的只是“书写的规范”,在用例设计上以前存在的问题现在依旧。 当好不容易用例基本完成,我们却发现面对随之而来的众多地区特性和新增需求,测试用例突然处于一种十分尴尬的境地: 从此几乎很少被执行 已经与程序的实现发生了冲突(界面变动,功能变动) 执行用例发现的bug很少 根本没有时间为新的功能需求增补用例 有时间补充,但用例结构越来越乱, 特性的用例与通性用例之间联系不明确(以新增需求为主线列出所有涉及到的更改,但特性与通行之间的数据或业务联系在用例中逐渐淡化) 知道怎样执行这个用例,但它要说明什么呢?(多数用例给我们的 感觉 是只见树木,不见森林,只对某一功能,无法串起) 通过上面的一系列问题可以看到

软件测试基础知识总结

你说的曾经没有我的故事 提交于 2019-11-30 22:19:18
1、 软件测试阶段有哪些任务 ①、制定测试大纲(测试计划) ②、制作测试数据(测试方案) ③、单元测试(程序测试,一般由开发人员进行) ④、功能测试 ⑤、性能测试 ⑥、集成测试(子系统测试) ⑦、系统测试 ⑧、验收测试 ⑨、测试报告及向下阶段提交系统运行、维护用户手册 2 、 自动化测试 概念:为了提高工作效率,节省人力和成本,把人为驱动的测试转化为机器执行 3、自动化测试的过程 需求分析 测试计划 框架搭建(附带工具选择) 测试用例设计(编写测试用例或开发测试脚本,并文档化) 测试——调试测试(针对自动化测试脚本) 评估(评估测试结果并改进测试过程) 4、 自动化测试技术 录制/回放(依赖工具) 脚本技术 数据驱动(data driven)的自动化测试 关键字驱动(keyword driven)的自动化测试 业务驱动 5、自动化测试方案选择需要考虑的方面 ①、项目的影响(能否帮助项目进度、覆盖率、风险) ②、复杂度(是否容易实现,包括数据和其他环境等) ③、时间(实现自动化需要多少时间) ④、早期需求和代码的稳定性(需求或代码能否证明是在范围内变化的) ⑤、维护工作量(代码能否能长期保持相对稳定) ⑥、覆盖率(自动化测试能否覆盖程序的关键特性和功能) ⑦、资源(是否拥有足够的人力、硬件和数据资源来运行自动化测试) ⑧、执行(负责执行的人员是否有足够的技能和时间去运行) ⑨

test问题

 ̄綄美尐妖づ 提交于 2019-11-30 18:34:16
1 、问:你在测试中发现了一个bug ,但是开发经理认为这不是一个bug ,你应该怎样解决? 首先,将问题提交到缺陷管理库里面进行备案。 然后,要获取判断的依据和标准: 根据需求说明书、产品说明、设计文档等,确认实际结果是否与计划有不一致的地方,提供缺陷是否确认的直接依据; 如果没有文档依据,可以根据类似软件的一般特性来说明是否存在不一致的地方,来确认是否是缺陷; 根据用户的一般使用习惯,来确认是否是缺陷; 与设计人员、开发人员和客户代表等相关人员探讨,确认是否是缺陷; 合理的论述,向测试经理说明自己的判断的理由,注意客观、严谨,不参杂个人情绪。 等待测试经理做出最终决定,如果仍然存在争议,可以通过公司政策所提供的渠道,向上级反映,并有上级做出决定。 2 、问:给你一个网站,你如何测试? 首先,查找需求说明、网站设计等相关文档,分析测试需求。 制定测试计划,确定测试范围和测试策略,一般包括以下几个部分:功能性测试;界面测试;性能测试;数据库测试;安全性测试;兼容性测试 设计测试用例: 功能性测试 可以包括,但不限于以下几个方面: 链接测试。链接是否正确跳转,是否存在空页面和无效页面,是否有不正确的出错信息返回。 提交功能的测试。 多媒体元素是否可以正确加载和显示。 多语言支持是否能够正确显示选择的语言等。 界面测试 可以包括但不限于一下几个方面: 页面是否风格统一,美观

软件测试基础知识题目

橙三吉。 提交于 2019-11-30 16:38:26
基础题(65分) 1、什么是需求?需求有哪些来源?(3分) 答:需求的分类:直接需求(用户直接需求告知要求)和间接需求(行业需求要求);需求的定义:准确的描述用户需求; 来源:行业、用户、团队、运营、客服、自己(调研反馈、数据分析、竞品分析);数据分析:产品功能使用情况,如行业报告、产品后台数据等挖掘用户需求;调研反馈:通过市场调研或用户调研等方式挖掘用户真实需求;竞品分析:确立竞品分析的目的,然后分析竞品的功能和内容都有什么,通过与竞品的对比得出自身产品的需求; 直白点说:01:来源客户要求;02行业要求;03公司内部分析的需求; 2、为什么说需求需要测试,如何测试?(4分) 答:需求是标准,贯穿整个项目,是项目中最重要的标准,必须经过多方面(技术、角色:用户、产品、测试、开发)测试,才能合理安排项目进度和技术分析设计,确保需求符合用户要求和课实现。 测试方法:01评审,参加人员(用户、产品、测试、开发);02场景和技术模拟,确保可实现;03行业调研; 3、单元测试的定义?测试意义是什么?(3分) 答:指对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,如C语言中单元指一个函数,Java里单元指一个类,图形化的软件中可以指一个窗口或一个菜单等。总的来说,单元就是人为规定的最小的被测功能模块

1209F - Koala and Notebook

二次信任 提交于 2019-11-30 02:18:41
这场比赛没打,看同学fst了,于是来看看。 这道题看似简单,但是没想清楚细节真的不太行。像现在熬到十一点左右,脑子真的不行。 首先显然位数越小越好,因为每一位要比较,不如拆点。此时要拆成 两条有向链 (开始实现成了无向链) 然后这个时候就可以很方便地跑最短路了。但是细节比较多。 首先直接贪心走最小边然后bfs是不行的,所以要考虑分层(这里也挂了)。对于每一个点伸出去边长相等的属于一个等价类。此时容易证明等价类数量是 \(O(m)\) 的。 于是直接分层跑即可。由字典序从小到大枚举等价类,易知更新时不断在等价类列表尾插入一个新的点是对的。 这道题就这两个难点,于是作为低水平选手两处都被坑到了。 #include <bits/stdc++.h> const int mod = 1000000007; const int MAXN = 1100010; std::vector<int> G[MAXN][10], qs[MAXN]; void addedge(int b, int e, int v) { G[b][v].push_back(e); } int n, m, idx, dp[MAXN]; bool vis[MAXN]; int main() { std::ios_base::sync_with_stdio(false), std::cin.tie(0); std::cin >>

软件测试基础问答

僤鯓⒐⒋嵵緔 提交于 2019-11-29 20:54:37
问:你在测试中发现了一个bug,但是开发经理认为这不是一个bug,你应该怎样解决。 首先,将问题提交到缺陷管理库里面进行备案。 然后,要获取判断的依据和标准: 根据需求说明书、产品说明、设计文档等,确认实际结果是否与计划有不一致的地方,提供缺陷是否确认的直接依据; 如果没有文档依据,可以根据类似软件的一般特性来说明是否存在不一致的地方,来确认是否是缺陷;根据用户的一般使用习惯,来确认是否是缺陷;与设计人员、开发人员和客户代表等相关人员探讨,确认是否是缺陷;合理的论述,向测试经理说明自己的判断的理由,注意客观、严谨,不参杂个人情绪。 等待测试经理做出最终决定,如果仍然存在争议,可以通过公司政策所提供的渠道,向上级反映,并有上级做出决定。 问:给你一个网站,你如何测试?首先,查找需求说明、网站设计m等相关文档,分析测试需求。 制定测试计划,确定测试范围和测试策略,一般包括以下几个部分:功能性测试;界面测试;性能测试;数据库测试;安全性测试;兼容性测试设计测试用例:功能性测试可以包括,但不限于以下几个方面: 链接测试。链接是否正确跳转,是否存在空页面和无效页面,是否有不正确的出错信息返回等。 提交功能的测试。 多媒体元素是否可以正确加载和显示。 多语言支持是否能够正确显示选择的语言等。 界面测试可以包括但不限于一下几个方面:页面是否风格统一,美观页面布局是否合理