测试用例

软件测试常见面试题(一)

心已入冬 提交于 2019-12-04 03:30:58
https://blog.csdn.net/FlyPigYe/article/details/93405954 1、开发犯低级错误怎么办? 开发首先要规范好编码,出低级错时不要职责,内心指出错误。让他们自己进行测试,反思找出错误。 2、你进行过那些测试,擅长什么? 我主要从事web测试,搭建环境,对程序进行集成测试、系统测试、回归测试。还有编写测试用例,使用手册,功能测试文档。 3、开发说不是bug怎么办? 将自己的见解告诉开发,不行就把见解和bug提交项目经理决定。 4、你的职业规划?* 巩固基础测试知识,提高理解需求能力。 学习自动化测试,并且运用。技术到尾后学习带领测试团队。 最后争取达到测试经理水平。 5、什么测试用例才是合格?* 能覆盖到所有测试点 6、缺陷报告测试组成? 缺陷编号、缺陷标题、缺陷描述缺陷有限等级、 缺陷优先程度、缺陷所属模块、缺陷所属版本、缺陷所属开发人员、 输入数据、输出结果、缺陷分析等。 C/S模式,使用交替方法确认是client还是server端问题 7、测试用例包括那些 用例编号、测试环境、用例标题、输入数据、预期结果 8、软件评审的人员和目的 人员:客户、项目经理、开发人员、测试人员 目的:查看软件是否还存在问题。是否在不同平台正常运行,是否有和客户理解不一致的地方,是否有改进的地方 * 9、什么事软件测试?目的? * 通过人工或者自动化的操作

自动化用例设计

一个人想着一个人 提交于 2019-12-04 00:17:05
  用例设计部分,无论是手工测试还是自动化测试,都必须要的环节,也是非常重要的环节。在做自动化的时候,用例需要考虑前置后置、步骤和对比,每一个部分都要有提供非常明确的测试数据,要考虑数据的重复使用是否会影响脚本的执行结果。 自动化用例设计原则 1.不是所有的手工用例都要转成自动化测试用例 2.考虑到脚本开发的成本,不要选择流程太复杂的测试用例,如果有必要,可以考虑把流程拆分成多个用例来实现脚本 3.选择的用例最好可以构建成场景。例如,一个功能模块,分多个用例,多个用例使用同一个场景 4.选择的用例可以带有目的性。例如,这部分是用来做冒烟测试,那部分测试是做回归测试等等,当然,会存在重叠的关系。如果当前用例不能满足需求,那么唯有修改用例来适用脚本和需求 5.选取的用例可以是你认为重复执行,很繁琐的部分。例如,字段验证、提示信息验证这类,这部分适用于回归测试 6.选取的用例可以是主体流程,这部分适用于冒烟测试 7.自动化测试也可以用来做配置检查、数据库检查。这些可能超越了手工用例,但也算是拓展的一部分,项目负责人可以有选择的增加 8.平时在手工测试时,如果需要构造一些复杂的数据或重复一些简单的机械式动作,则告诉自动化脚本,让它来帮你,或许你的效率会因此得到提高 编写自动化用例遵循的原则 1.一个用例为一个完整的场景,从用户登录系统到最终退出并关闭浏览器 2.一个用例只验证一个功能点

python之pytest测试sqlalchemy代码

我的未来我决定 提交于 2019-12-03 23:45:29
注释:运行环境linux+python3.7.3+pytest5.2.2+postgresql+flask-sqlalchemy2.4.1 公司之前用的NoSQL作数据管理,最近让我把数据库使用关系型数据库翻译一下,老大决定使用postgresql并采用ORM管理数据库,数据库翻译完,老大说为了保证数据稳定迁移,让我用pytest写一下测试用例,第一次写啊,遇到各种坑,第一就是测试项目的目录搭建,因为之前会一点unittest,unittest实现自动化测试可以写在同一个类中进行测试,当时不知道怎么搭合适,各种实验,最终采用下边的目录结构,很好的做到解耦。第二坑就是转化过来的数据表各种外键约束,直接使用pytest运行测试他会自动的搜索test开头的测试用例,这样没有顺序,我某些表中用到的外键这张表输入还没有插入,就会测试失败,后来又使用pytest按照表的外键关系一个个的添加,等价于手动排序 1:搭建测试项目结构 (目录结构)这里每个文件都是包,是因为你在使用pytest执行用例的时候他会自动搜索包中test开头的文件 .├── manage.py # 项目启动文件├── moduls # 模型类存放包│ ├── __init__.py│ └── moduls.py          # 模型类py文件└── test # 单元测试包 ├── conftest.py #

测试用例设计之正交实验法

拥有回忆 提交于 2019-12-03 23:00:01
1. 正交试验法介绍 正交试验法是研究多因素、多水平的一种试验法,它是利用正交表来对试验进行设计,通过少数的试验替代全 面试 验,根据正交表的正交性从全面试验中挑选适量的、有代表性的点进行试验,这些有代表性的点具备了“均匀分散,整齐可比”的特点。本规范只讨论各因素是相互独立的正交试验法,各因素相互影响的正交试验法在我们设计 测试 用例 的时候用不到,所以不提。 正交表是一种特制的表格,一般用L n (m k )表示,L代表是正交表,n代表试验次数或正交表的行数,k代表最多可安排影响指标因素的个数或正交表的列数,m表示每个因素水平数,且有n=k*(m-1)+1。正交试验法原理及特点见 附录 。 2. 使用正交试验法的原因 对于单因素或两因素试验,因其因素少,试验的设计、实施与分析都比较简单。但在实际 工作 中,常常需要同时考察3个或3个以上的试验因素,若进行全面试验,试验的规模很大,由于时间和成本的限制我们不可能进行全面试验,但是具体挑其中的哪些测试用例进行测试我们心里拿不准,总担心不做不挑选的那些测试用例会遗漏一些严重缺陷。为了有效的、合理地减少测试的工时与费用,我们利用正交试验法来设计测试用例。正交试验法就是安排多因素试验、寻求最优水平组合的一种高效率的试验设计方法。 我们用测试实例来进行说明使用正交试验法设计测试用例的好处。 测试需求: 某所大学通信系共2个班级

unittest使用总结

爷,独闯天下 提交于 2019-12-03 20:51:10
unittest简介 Unittest是python内置的一个单元测试框架,主要用于自动化测试用例的开发与执行 简单的使用如下 import unittest class TestStringMethods(unittest.TestCase): def setUp(self): print("test start") def test_upper(self): self.assertEqual('foo'.upper(), 'FOO') def test_isupper(self): self.assertTrue('FOO'.isupper()) self.assertFalse('Foo'.isupper()) def tearDown(self): print("test end") if __name__ == '__main__': unittest.main() 1.导入unittest库 2.创建类继承TestCase类 3.以test开头的方法,就是实际执行的独立用例,必须要以test开头,因为是unittest中约定的 4.setUp()方法用于测试用例执行前的初始化工作,tearDown()方法用于用例执行完后的清理操作,这里用例指以test开头的方法,也就是每个test开头的方法执行前后都会调用这两个方法 5

如何设计测试用例—以登录功能为案例

孤者浪人 提交于 2019-12-03 20:33:20
嗨,大家好,我是叶子   关于测试用例设计,根据业务不同,能力不同,设计的测试用例也完全不同,以下是关于一个老掉牙的案例,“登录”功能。   需求:做为用户,我想输入账号、密码及验证码,以便我能正常登录系统 根据以上需求,不同的测试人员,可能会设计出来不同的测试用例来进行登录功能的测试,有兴趣的小伙伴,可以看一下自己有哪些没有想到,也欢迎小伙伴继续补充: 登录用例设计-1 输入已注册的用户名和正确的密码,验证是否登录成功 输入已注册的用户名和不正确的密码,验证是否登录失败,并且提示信息正确 输入未注册的用户名和任意密码,验证是否登录失败,并且提示信息正确 用户名和密码两者都为空,验证是否登录失败,并且提示信息正确 用户名和密码两者之一为空,验证是否登录失败,并且提示信息正确 如果登录功能启用了验证码功能,在用户名和密码正确的前提下,输正确的验证码,验证是否登录成功 如果登录功能启用了验证码功能,在用户名和密码正确的前提下,输不正确的验证码,验证是否登录失败,并且提示信息正确 是否支持第三方登录 设计出以上用例,你可能觉得比较满意了,因为看上去这些用例已经覆盖了需求点。不错,上面的用例确实覆盖了需求的主要的测试场景,可是在一个更为优秀的测试工程师那里,可能这只是满足了基础测试,那么有经验的测试工程师会如何设计测试用例,又会增加哪些测试用例: 登录用例设计-2 用户名、密码

10、pytest -- skip和xfail标记

自作多情 提交于 2019-12-03 20:07:30
目录 1. 跳过测试用例的执行 1.1. @pytest.mark.skip 装饰器 1.2. pytest.skip 方法 1.3. @pytest.mark.skipif 装饰器 1.4. pytest.importorskip 方法 1.5. 跳过测试类 1.6. 跳过测试模块 1.7. 跳过指定文件或目录 1.8. 总结 2. 标记用例为预期失败的 2.1. 去使能 xfail 标记 3. 结合 pytest.param 方法 往期索引: https://www.cnblogs.com/luizyao/p/11771740.html 实际工作中,测试用例的执行可能会依赖于一些外部条件,例如:只能运行在某个特定的操作系统( Windows ),或者我们本身期望它们测试失败,例如:被某个已知的 Bug 所阻塞;如果我们能为这些用例提前打上标记,那么 pytest 就相应地预处理它们,并提供一个更加准确的测试报告; 在这种场景下,常用的标记有: skip :只有当某些条件得到满足时,才执行测试用例,否则跳过整个测试用例的执行;例如,在非 Windows 平台上跳过只支持 Windows 系统的用例; xfail :因为一个确切的原因,我们知道这个用例会失败;例如,对某个未实现的功能的测试,或者阻塞于某个已知 Bug 的测试; pytest 默认不显示 skip 和 xfail

禅道工具

十年热恋 提交于 2019-12-03 18:22:25
当日学习目标 掌握禅道管理工具项目流程掌握需求评审及变更过程 了解项目经理创建项目及团队了解项目经理分配任务 了解研发人员领取任务,更新状态,打包提测过程掌握禅道提交测试用例及使用excel导入用例 掌握禅道提交缺陷掌握bug修复过程 禅道工具项目流程 产品经理 : 建立产品-整理需求 项目经理: 建立项目-关联产品-关联需求--创建团队--分解任务 开发团队: 领取任务工期额估算完成任务,修复BUG,打包提测 测试团队: 分解用例,执行用例,提交BUG给开发人员,回归测试 禅道的特点 集产品管理,项目管理,质量管理三个核心流程于一体的软件生命周期管理工具禅道的使用-超级管理员 设置公司信息设置部门结构添加用户 禅道的使用-产品经理建立产品 创建模块 添加计划新建需求 需求评审 新建需求(草稿)---评审需求(确认通过)---需求状态(激活) 新建需求(草稿)---评审需求(有待明确)---需求状态(草稿) 新建需求(草稿)---评审需求(拒绝)---需求状态(关闭) 禅道的使用-项目经理 创建项目:项目视图下---点击右侧的创建项目关联产品:在创建项目时关联产品 关联需求:1.创建项目后可以直接关联产品;2.直接在项目视图--需求模块,点击关联需求 创建团队:在项目视图下--创建团队 分解任务:在项目视图--任务模块,点击右侧的建任务,在项目视图--需求模块

Robolectric进行Android单元测试

a 夏天 提交于 2019-12-03 15:48:10
Robolectric进行Android单元测试 测试驱动android开发 在安卓模拟器或者真机上跑测试用例速度很慢。构建、部署、启动app,通常需要花费一分钟或者更久。这不是TDD(测试驱动开发)模式.Robolectric提供一种更好的方式。 可能你一直尝试在java IDE中使用junit或者testng直接跑测试用例,但是一直报 java.lang.RuntimeException: Stub! 异常。 这个异常是因为在jdk中没有android运行环境。而现在Robolectric这款android单元测试工具,模拟了android sdk中的jar包,可以直接在jvm中运行测试用例,这样就大大节省了时间。一个Robolectric测试用例如下: // Test class for MyActivity @RunWith(RobolectricTestRunner.class) public class MyActivityTest { @Test public void clickingButton_shouldChangeResultsViewText() throws Exception { Activity activity = Robolectric.buildActivity(MyActivity.class).create().get(); Button

Atman开发实习生的笔试题

限于喜欢 提交于 2019-12-03 14:47:47
坐标:山东 编程题(限时30分钟) 如何判断一个字符串是否为合法的IP地址 。 要求: 1. 不能使用正则表达式和自带的库函数。 2. 列出全部测试用例,并给出原因。 3. 把代码的后缀名改成txt后上传,不用压缩。 在字符串中找出第一个只出现一次的字符。 (1). 列出全部测试用例,每种类型给出一个实际的测试数据及其期望结果。如case1:输入:abcd13faeb,输出:c (2). 用自己熟悉的编程语言写出完整程序 要求: (a). 注明所使用的语言名称 (b). 不能依赖库函数直接实现此功能,需使用基础数据结构(数组/链表/队列/栈/hash等)实现 (c). 时间复杂度O(n)* 来源: https://www.cnblogs.com/javastudydoing/p/11800909.html