A. 应聘软件测试,一般会有什么笔试的题目
一般笔试重点测试考生的政策理论水平、分析解决实际问题的能力和文字表达能力等综合素质。题型主要包括论述题、案例分析题、公文处理、对策性文章等形式。归纳起来就是读材料,看材料中反映了什么问题,然后提出解决问题的办法。考试时间一般是2.5-3小时,3-4道题。案例分析题可能会有两问,公文写作每年公文种类不定,有时是通知,有时是调研报告,有时又是会议纪要,有时会是公文改错题等等,大作文一般是对策性论文,就是写怎么办的文章。分值分布一般是案例分析30-40分(2道题左右),公文写作(1道题)20-30分,对策性论文(1道题)40分。
具体的范文模板
链接:https://pan..com/s/1ElLaFPNS_Ax5WnumUrjv6A
B. 软件测试面试题:WEB+网络|接口测试|性能测试|自动化测试
1. http代码表,常考题目
404:找不到资源
500:服务器内部错误,无法完成请求。
501:服务器不支持请求的功能,无法完成请求。
502:充当网关或代理的服务器,从远端服务器接收到了一个无效的请求。
301:永久移动。请求的资源已被永久的移动到新URI,返回信息会包括新的URI,浏览器会自动定向到新URI,今后任何新的请求都应使用新的URI代替。
302:临时移动。与301类似。但资源只是临时被移动,客户端应继续使用原有URI。
200:成功。
2. TCP/IP四层网络模型
链路层、网络层、传输层、应用层。
3. TCP/UDP区别?
TCP: 可靠传输协议,需要三次握手连接,有确认重传机制,特点是可靠、准确、有拥塞控制,缺点就是比较慢,传输量比较小,适用于升级、下载;一句话:TCP是可靠的传输。
UDP: 不可靠传输协议,面向非连接的协议,优点是传输量大、速度快,缺点是已丢失、没有拥塞控制,适用于直播、视频等。一句话:UDP是不可靠的传输。
4. html css js运行的先后顺序是什么?
界面加载的时候先加载html在加载css最后加载js
5. session和cookie的区别是什么
1. session存放在服务器端用来校验客户端的身份
2. cookie存放在客户端,每次从客户端往服务器发请求时,将cookie带到服务器端,用来校验客户端的身份
1. 怎么用JMeter测试接口?
如果使用JMeter进行接口测试:
1) 测试前了解需求,根据接口规格说明书梳理业务;
2) 接下来设计用例,分析接口的入参和出参,分清楚有哪些有效输入和无效输入,设计用例(原则:用最少的用例覆盖所有有效输入,针对每一个无效的输入设计一个测试用例,如果有错误码没有覆盖到,还要对每个未覆盖的错误码分别设计一个用例);
3) 准备测试数据,比如:测试所需的账号、密码、key 等信息;
4) 打开JMeter,创建一个线程组,根据接口类型,填写好对应的接口地址和请求方式等;
5) 参数化配置,添加配置元件CSV Data Set Config,定义变量,并准备CSV格式的数据,变量的引用用${变量名}的格式;
6) 添加断言来判断测试结果的正确性,用得最多的是响应断言;
7) 添加监听器,比如查看结果树,对测试结果进行监听;
8) 运行测试用例;
9) 查看监听器结果,来判断用例的执行是成功还是失败,针对失败的用例,分析其失败原因;
10) 针对测试中发现的问题,给开发提单,直到问题最终解决。
11) 最后输出测试报告。
2. 怎么用Postman测试接口?
如果使用Postman测试接口:
其中1,2,3点相同,工具使用方面则比JMeter跟简单,工具的主要的步骤是添加对应的请求、填写主机URL及入参、添加测试套、运行测试套、分析结果出报告。
3. 在JMeter上如何把上一个请求的结果作为下一个请求的参数?
使用正则表达式提取器提取上一个请求的响应中的信息,保存一个引用名称比如abc,在下一个请求的参数中,用${abc}的格式来引用提取的结果。
常用的正则表达式格式:(.+?),其中.表示匹配任意字符串,+表示只匹配一次,?表示匹配到就停下来。
一般是我们功能测试完成最后两三天时间测试性能。
1、先是分析需求计算出并发数,TPS,响应时间和 CPU,内存,硬盘和网络IO这些指标。
2、制定测试方案,主要包括环境,计划和具体测试那些场景(如可靠性,并发,负载,压力测试等)
3、根据场景用Badboy录制脚本,导出为JMeter工具支持的脚本。
4、用JMeter工具打开脚本,进行脚本调试,加一些断言,监听器,参数化等。
5、接下来执行性能测试,然后主要收集监听器和收集服务器CPU,内存,硬盘和网络IO等分析是否满足需求,如果满足就输出性能测试报告。
6、如果指标不能满足,反馈给开发进行调优。调优后继续测试,一直到满足需求后最终输出测试报告。
1. python怎么定义一个函数?
你可以定义一个由自己想要功能的函数,以下是简单的规则:
1) 函数代码块以def关键词开头,后接函数标识符名称和圆括号()。
2) 任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
3) 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
4) 函数内容以冒号起始,并且缩进
5) return[表达式]结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回None
2 Python切片
3. Python上用过什么库/模块?
webdriver:定位和操作元素
time:设置等待时间
ActionChains:动作链,完成鼠标的相关操作
Keys:键盘的相关操作
WebDriverWait:设置显式等待
Expect_Conditions:针对单个元素,设置显式等待的场景
PIL:截图
Select:下拉选择框的操作
unittest python:自带的单元测试框架
HTMLTestRunner:运行脚本,生成报告
ddt:实现数据驱动测试,行为和数据分离
4. 你做过自动化测试吗?
我在上一份工作中,公司去年下半年也开始规划做Web 自动化,采用Python作为开发语言,通过Selenium WebDriver定位和操作页面元素,自动化框架用的是unittest。我主要负责写测试脚本。
假设一个测试团队有5个人:1资深(测试经理)+2~3个中级(自动化+手动)+1 个初级(手动)
5. 使用什么工具进行的自动化测试
使用的工具是Selenium(Web自动化工具)
6. 用的什么编程语言
用的Python
7. Selenium 用的是哪个版本的的?Python用的是哪个版本的?
用的是selenium 3.11.0和Python2.7.10
8. Selenium的工作原理?
1)对html元素定位
2)模拟对第一步定位到的元素进行点击、输入、选择等操作一句话:定位元素,操作元素。
9. 元素定位方法有哪些?
要点:8种定位方法
1) 根据元素的属性值定位,比如 id、name、class、标签名、链接文字和部分链接文字;
2) 根据CSS选择器定位;
3) 根据 XPath 定位;
10. 子页面里的元素怎么定位?
先切换到框架里,然后再定位,用switch_to_frame函数根据子页面id或name,切换到子页面;定位完了如果要再定位主页面的元素,要用switch_to_default_content 函数先返回主页面。
11. 怎么定位alert弹窗?或者这样问:怎么处理JS原生窗口?
要点:主要涉及点击弹窗确认按钮、强行关闭弹窗、获取弹窗中的文字等操作。
1) 点击弹窗的确定按钮,用如下函数:
driver.switch_to_alert().accept()
2) 强行关闭,点击右上角的叉叉,用如下函数:
driver.switch_to_alert().dismiss()
3) 获取弹窗里的文字,用如下函数:
driver.switch_to_alert().text
12. 怎么运行自动化用例并生成测试报告?
以unittest为例,我通常的做法是把用例加载到测试套中,做成一个脚本,在命令窗口下运行脚本,报告的生成用第三方模块HTML TestRunner来生成。
13. 怎么定位/操作图片中的验证码?
用tesseract OCR引擎处理图片中的验证码,步骤:
(1)对整个屏幕截屏,保存成png格式的图片;
(2)在截取的图片中定位验证码图片的位置坐标;
(3)根据坐标对验证码截图;
(4)在图片中提取验证码,输入到输入框。
C. 软件测试面试题
linux的话一般面试官都会直接问题你熟悉的常用命令有哪些,你自己说一部分,面试官还问的话一般也是问一些查端口号啊,进程啊,或者是查看磁盘空间或者是C PU、内存的命令。然后还可能问你会不会SHELL脚本编写。oracle的话基本的增删改查肯定是要会的,一般数据库方面的知识在做笔试题的时候就会有。考的最多的应该还是查询,多表联查、或者根据什么信息查询内容。如果要学基本语法的话,这个网站很不错。http://www.w3school.com.cn/sql/index.asp
D. 求软件测试面试问题
测试技术面试题
1、什么是兼容性测试?兼容性测试侧重哪些方面?
参考答案:
兼容测试主要是检查软件在不同的硬件平台、软件平台上是否可以正常的运行,即是通常说的软件的可移植性。
兼容的类型,如果细分的话,有平台的兼容,网络兼容,数据库兼容,以及数据格式的兼容。
兼容测试的重点是,对兼容环境的分析。通常,是在运行软件的环境不是很确定的情况下,才需要做兼容。根据软件运行的需要,或者根据需求文档,一般都能够得出用户会在什么环境下使用该软件,把这些环境整理成表单,就得出做兼容测试的兼容环境了。
兼容和配置测试的区别在于,做配置测试通常不是Clean OS下做测试,而兼容测试多是在Clean OS的环境下做的。
2、我现在有个程序,发现在Windows上运行得很慢,怎么判别是程序存在问题还是软硬件系统存在问题?
参考答案:
1、检查系统是否有中毒的特征;
2、检查软件/硬件的配置是否符合软件的推荐标准;
3、确认当前的系统是否是独立,即没有对外提供什么消耗CPU资源的服务;
4、如果是C/S或者B/S结构的软件,需要检查是不是因为与服务器的连接有问题,或者访问有问题造成的;
5、在系统没有任何负载的情况下,查看性能监视器,确认应用程序对CPU/内存的访问情况。
3、测试的策略有哪些?
参考答案:
黑盒/白盒,静态/动态,手工/自动,冒烟测试,回归测试,公测(Beta测试的策略)
4、正交表测试用例设计方法的特点是什么?
参考答案:
用最少的实验覆盖最多的操作,测试用例设计很少,效率高,但是很复杂;
对于基本的验证功能,以及二次集成引起的缺陷,一般都能找出来;但是更深的缺陷,更复杂的缺陷,还是无能为力的;
具体的环境下,正交表一般都很难做的。大多数,只在系统测试的时候使用此方法。
5、描述使用bugzilla缺陷管理工具对软件缺陷(BUG)跟踪的管理的流程?
参考答案:
就是Bugzilla的状态转换图。
6、你觉得bugzilla在使用的过程中,有什么问题?
参考答案:
界面不稳定;
根据需要配置它的不同的部分,过程很烦琐。
流程控制上,安全性不好界定,很容易对他人的Bug进行误操作;
没有综合的评分指标,不好确认修复的优先级别。
7、描述测试用例设计的完整过程?
参考答案:
需求分析 + 需求变更的维护工作;
根据需求 得出测试需求;
设计测试方案,评审测试方案;
方案评审通过后,设计测试用例,再对测试用例进行评审;
8、单元测试的策略有哪些?
参考答案:
逻辑覆盖、循环覆盖、同行评审、桌前检查、代码走查、代码评审、景泰数据流分析
9、LoadRunner分哪三部分?
参考答案:
用户动作设计;
场景设计;
测试数据分析;
10、LoadRunner进行测试的流程?
参考答案:
1、 测试测试
2、 创建虚拟用户脚本
3、 创建运行场景
4、 运行测试脚本
5、 监视场景
6、 分析测试的结果
以上,最好是结合一个案例,根据以上流程来介绍。
什么是并发?在lordrunner中,如何进行并发的测试?集合点失败了会怎么样?
参考答案:
在同一时间点,支持多个不同的操作。
LoadRunner中提供IP伪装,集合点,配合虚拟用户的设计,以及在多台电脑上设置,可以比较好的模拟真实的并发。
集合点,即是多个用户在某个时刻,某个特定的环境下同时进行虚拟用户的操作的。集合点失败,则集合点的才操作就会取消,测试就不能进行。
12、使用QTP做功能测试,录制脚本的时候,要验证多个用户的登录情况/查询情况,如何操作?
参考答案:
分析用户登录的基本情况,得出一组数据,通过性测试/失败性测试的都有(根据TC来设计这些数据),然后录制登录的脚本,将关键的数据参数化,修改脚本,对代码进行加强,调试脚本。
13、QTP中的Action有什么作用?有几种?
参考答案:
Action的作用
用Action可以对步骤集进行分组
步骤重组,然后被整体调用
拥有自己的sheet
组合有相同需求的步骤,整体操作
具有独立的对象仓库
Action的种类
可复用Action
不可复用Action
外部Action
14、TestDirector有些什么功能,如何对软件测试过程进行管理?
参考答案:
需求管理
定义测试范围
定义需求树
描述需求树的功能点
测试计划
定义测试目标和测试策略。
分解应用程序,建立测试计划树。
确定每个功能点的测试方法。
将每个功能点连接到需求上,使测试计划覆盖全部的测试需求。
描述手工测试的测试步骤
指明需要进行自动测试的功能点
测试执行
定义测试集合。
为每个测试人员制定测试任务和测试日程安排。
运行自动测试。
缺陷跟踪
记录缺陷
查看新增缺陷,并确定哪些是需要修正的
相关技术人员修改缺陷
回归测试
分析缺陷统计图表,分析应用程序的开发质量
E. 软件测试面试题
第一题:我认为需要在测试前需要先写好测试计划,其中最重要的是本次测试使用的测试方法、使用的测试工具、测试环境。人员方面需要进行人员及进度的安排,每个测试阶段后的输出工件,还要有风险评估。在测试前将这些准备工作做到位,这样在测试的时候就会比较有条理。
第二题:控制测试质量,我认为最好是做好测试用例的设计,这样可以对测试的覆盖率进行控制。
补充:如果时间充裕的话可以在设计用例后对其进行评审,这样可以提高测试质量。不过这个在实际的工作当中一般实现不了。。。。
下面列出的是网上的一个软测笔试题,好多单位在笔试的时候都会下来作为笔试题,我至少遇到两次了,其他的笔试题还有,但不一一列出了。
一、判断题(每题1分,12 分,正确的√,错误的╳)
1.软件测试的目的是尽可能多的找出软件的缺陷。()
2.Beta 测试是验收测试的一种。()
3.验收测试是由最终用户来实施的。()
4.项目立项前测试人员不需要提交任何工件。()
5.单元测试能发现约80%的软件缺陷。()
6.代码评审是检查源代码是否达到模块设计的要求。()
7.自底向上集成需要测试员编写驱动程序。()
8.负载测试是验证要检验的系统的能力最高能达到什么程度。()
9.测试人员要坚持原则,缺陷未修复完坚决不予通过。()
10.代码评审员一般由测试员担任。() 1
11.我们可以人为的使得软件不存在配置问题。()
12.集成测试计划在需求分析阶段末提交。()
二、不定项选择题(每题2 分,10分)
1.软件验收测试的合格通过准则是:()
A. 软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。
B. 所有测试项没有残余一级、二级和三级错误。
C. 立项审批表、需求分析文档、设计文档和编码实现一致。
D. 验收测试工件齐全。
2.软件测试计划评审会需要哪些人员参加?()
A.项目经理
B.SQA 负责人
C.配置负责人
D.测试组
3.下列关于alpha 测试的描述中正确的是:()
A.alpha 测试需要用户代表参加
B.alpha 测试不需要用户代表参加
C.alpha 测试是系统测试的一种
D.alpha 测试是验收测试的一种
4.测试设计员的职责有:()
A.制定测试计划
B.设计测试用例
C.设计测试过程、脚本
D.评估测试活动
5.软件实施活动的进入准则是:()
A.需求工件已经被基线化
B.详细设计工件已经被基线化
C.构架工件已经被基线化
D.项目阶段成果已经被基线化
三、填空题(每空1分,24 分)
1.软件验收测试包括(正式验收测试)、(非正式验收测试和Alpha测试)、(Beta测试)三种类型。
2.系统测试的策略有功能测试、(性能测试)、(负载测试)、(压力测试)、易用性测试、(容量测试)、(强度测试)、 (兼容性测试又称)、(本地化测试)、(BVT测试)、(裸机测试)、(安全性测试)、()、(容错性测试)、(恢复测试)、()等15 种方法。
3.设计系统测试计划需要参考的项目文档有(需求规格说明书)、()和迭代计划。
4.对面向过程的系统采用的集成策略有()、()两种。
5.通过画因果图来写测试用例的步骤为、、、及把因果图转 换为状态图共五个步骤。
四、简答题(共37分)
1. 阶段评审与同行评审的区别。(4 分)
2 . 什么是软件测试。(3 分)
答:通过人工或自动化手段对系统进行测试,目的是为了验证系统是否满足预定功能或者是为了弄清楚实际结果与预期结果之间的差别。
3 . 简述集成测试的过程。(5 分)
答:将通过单元测试的单元模块按照设计要求组合起来再进行测试。重点检查程序接口处是否有问题。
过程:首先进行集成测试的测试计划测试设计测试开发测试用例执行测试评估,并且进行全程的缺陷跟踪。
4 . 怎样做好文档测试?(4 分)
答:文档测试要注意一下几点:文档的读者群、文档的术语、文档的正确性、文档的完整性、文档的一致性、文档的易用性、样例与示例、文档的语言
5. 白盒测试有那几种方法?(6 分)
答:白盒测试方法分为:静态测试和动态测试
静态测试方法:①编码标准与准则 ②走查 ③审查 ④评审
动态测试方法:①语句覆盖 ②判定覆盖 ③条件覆盖 ④判定-条件覆盖 ⑤条件组合覆盖 ⑥路径覆盖
⑦条件组合+路径覆盖
6. 系统测试计划是否需要同行评审,为什么?(4 分)
答:系统测试计划需要进行同行评审,因为如果对一个系统长时间进行测试可能会出现测试疲劳甚至出现
对系统的免疫现象,因此可以进行同行评审,减少对相同系统的疲劳测试。
7. Alpha 测试与beta 测试的区别。(4 分)
8 . 比较负载测试、容量测试和强度测试的区别。(6 分)
9 . 测试结束的标准是什么?(3 分)
F. Python做软件自动化测试的入门提问
同在软件测试岗位。由于同样初学python,所以没有太多的实践经验。
使用python的单元测试框架,可以建立测试类,构造测试集。
测试类中包含了common的测试方法定义,包括测试开始前建立测试环境的setUp方法和测试完成后清理还原环境的tearDown方法,最好按照约定规则(以test开头)来命名所有的测试方法。
测试集允许你根据测试策略组合不同的测试用例并实施。
下面两篇文章推荐看看:
http://www.ibm.com/developerworks/cn/linux/l-pyunit/
http://www.cnblogs.com/coderzh/archive/2010/08/23/custom-python-unittestoutput-as-gtest.html
有一个问题我还没找到答案,就是如何让单元测试框架的log输出到文件(默认输出到控制台)。
G. 跪求Python大佬,题目如下
H. 刚面完的字节跳动Python软件测试用例编写(含思路)
软件测试编写是软件测试的基本技能;也有很多人认为测试用例是软件测试的核心;软件测试中最重要的是设计和生成有效的测试用例;测试用例是测试工作的指导,是软件测试的必须遵守的准则。
在这里我们不讨论以上的各种观点,但是综上所述,大家可以看出,测试用例编写这项软技能非常重要且是测试人的必备技能,相信很多人没有质疑。
下面我们介绍下测试用例编写。
我们将用例编写分为黑盒用例编写和白盒用例编写两大类。
黑盒测试用例(优先)+白盒测试用例(补充)=完整测试用例
总体编写策略:
对于测试用例编写来说,常用的四种方法基本就够用了,等价类、边界值、正交实验法、错误推断法,辅以场景测试法、需求/设计转换法、探索式测试思想,可以应付绝大多数产品的测试。个别的产品还需要在某一点细化和扩充,需要就事论事。
使用各种编写方法的综合设计策略;
1)在任何情况下都必须使用边界值分析方法,经验表明用这种方法设计出测试用例发现程序错误的能力最强。
2)必要时用等价类划分方法补充一些测试用例,尤其注意无效等价类情况。
3)如果程序的功能说明中含有输入条件的组合情况,则一开始就可选用因果图法(或判定表法、正交试验法)。
4)用错误推测法再追加一些测试用例,主要是利用测试经验。
5)对照程序逻辑,检查已设计出的测试用例的逻辑覆盖程度,如果没有达到要求的覆盖标准,应当再补充足够的测试用例;参照白盒用例编写。
6)对程序的应用场景进行研究和思考,增加不同场景下的测试用例;用户场景测试必须重视,很大一部分程序错误就是因为测试场景与用户真实场景的差异性带来的。
7)对业务和程序有更深的理解之后,可以充分发挥发散思维和探索式想法;大家不要误解探索式测试就是漫无目的的测试,其实探索式测试有非常详细的测试指导思路。
常见的方法如下:
(1)等价类
(2)边界值
(3)因果图
(4)判定表驱动法
(5)正交实验法
(6)功能图法
(7)场景实验法
(8)错误推断法
(9)需求转化
(10)设计文档
(11)探索式测试
等价类:选取少数有代表性的数据,这一类数据等价于这一类的其它值;找出最小的子集,可以发现最多的错误;
两大特性:必须设计的用例;涵盖了大部分情况;
两类情况:有效等价类;无效等价类;
转化为测试用例
1、按照输入条件、有效等价类、无效等价类建立等价类列表,列出所有的等价类;
2、为每一个等价类固定一个编号;
3、设计一个测试用例,使其覆盖一个或多个有效的等价类;
4、设计一个或更多的测试用例以覆盖剩余的有效等价类;
使用场景:输入条件(取值范围/值个数;必须值集合;布尔值;一组处理值;必须遵守的规则;再细分更小等价类;)
等价类举例:
以三角形测试为例:输入3个整数做为三角形的三个边,通过程序判定三角形的类型。
边界值:所谓边界条件,是指输入和输出等价类中那些恰好处于边界、超过边界、或在边界以下的状态 ;
两个特征:选择一个或多个元素,以便等价类的每一个边界都经过了测试;与仅仅关注输入条件不同,还需要考虑结果空间(输出等价类)设计测试用例;
边界条件可能非常微妙,因此把他们确定下来煞费心思;
使用场景:输入+输出都需要考虑(值的范围;值个数;有序集合;内部数据结构;分析规格说明;)
边界值举例:
以三角形测试为例:输入3个整数做为三角形的三个边,1<a、b、c<10,通过程序判定三角形的类型;
因果图:输入条件的组合进行分析。用一个系统的方法选择出高效的测试用例集;
分析思路:
1、分析规格说明描述,确定原因和结果,并赋予标识符;
2、分析规格说明语义,找出原因与原因之间,原因与结果之间关系,画出因果图;
3、有些原因与原因之间,原因与结果之间组合不会出现,用记号表明约束或限制条件;
4、因果图转换为判定表;
5、判定表的每一列作为依据,设计测试用例;
使用场景:必须考虑输入条件的各种组合(一种适合于描述多种条件的组合、相应产生多个动作的形式来进行设计);
4、黑盒-判定表
判定表:分析和表达多逻辑条件下执行不同操作的情况的工具 ;略过因果图的绘制,直接列出所有组合进行筛选;
分析思路:判定表通常有四个部分组成:条件桩、动作桩、条件项、动作项;
判定表的建立步骤:(根据软件规格说明)
确定规则个数;列出所有条件桩和动作桩;填入条件项;填入动作项,得到初始判定表;简化合并相似规则;
使用场景:控制类和游戏。优点是能把复杂的问题按各种可能的情况一一列举出来,简明而易于理解,也可避免遗漏。缺点是不能表达重复执行的动作,例如循环结构。
5、黑盒-正交试验法
正交实验法:利用因果图来设计测试用例时, 输入原因与输出结果之间的因果关系,有时很难从软件需求规格说明中得到;往往因果关系非常庞大,以至于测试用例数目巨大,为了有效地、合理地减少测试的工时与费用,可利用正交实验设计方法进行测试用例的设计。
分析思路:
(1)提取功能说明,构造因子–状态表 ;
(2)加权筛选,生成因素分析表 ;
(3)利用正交表构造测试数据集 ;
使用场景:必须考虑输入条件的各种组合(从大量的数据中挑取适量、有代表性的点,合理有效的测试);
6、黑盒-场景实验法
场景实验法:软件几乎都是由事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果形成事件流;生动的描绘出事件触发时的情景,有利于设计用例,同时测试用例也更容易的得到理解和执行。
分析思路:
每条路径都反映了基本流和备选流;基本流是最简单的路径;备选流自基本流开始,会有特定条件下加入并执行,可能有多种情况;
使用场景(0代表基本流):0;0+1;0+1+2;0+3;0+3+1;0+3+1+2;0+4;0+3+4;…
7、错误推断法
错误推断法:基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法;更多的与用户的使用习惯及测试程序中的常见问题为主。
分析思路:
(1)列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据这些情况选择测试用例;
(2)注意积累与分享;
使用场景:任何测试、任何情景下都会用到的方法。
有常用的测试用例集,可以参照。
举例:数字输入验证,分别输入数字(正数、负数、零值、单精度、双精度)、字符串、空白值、空值、临界数值;不合法的输入,系统给出必要的判断提示信息;
8、黑盒-需求转换法
需求转换法:根据需求,执行需求分析,并编写测试用例。
分析思路:
(1)将需求转换为思维导图;
(2)仔细推敲每一个字的含义;
(3)与用户的使用场景和目的结合;
(4)严格设计每一个用例;
(5)可以建立一种模型,进行需求转换;
使用场景:任何测试、任何情景下都会用到的方法。
注意:需求的变更带来的影响;需求理解偏差带来的影响;需求含糊不清带来的影响等;
9、黑盒-设计文档
设计文档:参照设计文档,可以理解软件系统内部设计流程及处理机制,对比写好的测试用例,可以在对应功能及模块处新增;
分析思路:
(1)仔细阅读设计文档;
(2)与相关人员沟通实现机制;
(3)结合测试用例编写方法,对比之前写好的用例;
使用场景:任何测试、任何情景下都会用到的方法。
注意:设计文档的编写正确性;设计文档的理解偏差;
10、黑盒-探索式测试法
探索式测试法:无限创意的测试点,永无止境的探索测试;我们要在测试的最前沿发挥洞察力、技术及应变措施,找出产品的缺陷;
分析思路:
局部探索式测试;全局探索式测试;混合探索式测试;
使用场景:任何测试、任何情景下都会用到的方法。像漫游一样,自由地寻找软件中的缺陷,软件测试的未来必然有探索式测试。
基本思路:
第一步需要绘制流程图;
第二步根据路径分析法确定测试用例;
第三步使用等价类/边界值的方法确定测试用例的数据
第四步根据实际情况补充(如默认流程、特殊流程等)
基本策略:
1、语句覆盖准则基本上没啥用,比较强的逻辑覆盖准则是判定覆盖或者条件覆盖;通常判定覆盖可以满足语句覆盖;语句覆盖<判定覆盖<条件覆盖;
2、循环覆盖来说,完全的路径测试并不符合实际;
若你想深入学习软件测试,但是却苦于没有资源,现在就给大家奉上一份13G的超实用干货测试学习资源,涉及的内容非常全面。 需要点击链接免费领取喔
包括测试软件学习路线图,50多天的测试上课视频、16个突击实战测试项目,80余个软件测试用软件,37份测试文档,70个软件测试相关问题,40篇测试经验级文章,上千份测试真题分享,还有2022年软件测试面试宝典,还有软件测试求职的各类精选简历,希望对大家有所帮助……
I. 跪求Python大佬,题目如下