
接口测试实际跟一般测试不同就是测试用例的设计部分。
获取接口规范。
设计接口测试功能用例(主要从用户角度出发看接口能否实现业务需求,用例设计就是黑盒用例那一套)。
各种入参验证(正常情况,异常情况包括输入参数个数不对,类型不对,可选/必选,还有考虑参数有互斥或关联的情况)。
接口返回值各种验证(符合接口文档需求)
了解接口实现逻辑,实现逻辑覆盖(语句/条件/分支/判定/…)
接口能并发执行吗、安全吗,性能满足要求吗?
采用工具或者自写代码来验证。
发现问题跟功能测试一样,该报bug报bug,该跟踪状态的跟踪状态
postman、jmeter、soapui(不常用)
GET post PUE DELETE
区别:get直接从服务端拉取数据
post:先发送请求再拉数据(注册、更新、改)
put:修改的数据
delete:用户删除数据
这几种方式,取决于开发,他用啥你们就传啥
1、通过接口测试能快速发现非功能层面的一些逻辑问题
2、能提高测试的效率
3、相对UI自动化来说,比较稳定,能减少回归成本
后端修改
1、验证这个BUG、在前端去复现bug
2、在服务器上面找到日志文件
3、用tail -f显示日志
4、去观察日志,如果有明确的“exception”,那就是后台报错
5、接口返回码为500+即服务器问题,后台问题。
前端:
前问题一般就是界面的问题,不过像开发在url中加入新的请求参数,而没有写进接口文档中的错误属于后端错误。
一般像页面的排版和显示问题都属于前端问题
答案:
传入type=1 pagesize=6 pageno=1 它返回的数据图文文章列表第一页6条数据
传入type=2 pagesize=3 pageno=2 它返回的数据视频类文章第2页3条数据
传入type=3 pagesize=4 pageno=2 它返回的数据视频类文章第2页4条数据
类型为空条数为空、页数为空,它返回无数据
类型和条数和页数传入特殊字符、超长,传入负数它的节点返回无数据
注册用户的数据没有传入到数据,那就调用一下登录接口是否成功,如果失败了,提bug
1.首先在postman创建一个登录接口,确定登录是正常的,如果它使用的cookie那么需要把cookie传入列表接口头部信息中
如果登录接口他返回的token是在返回报文中,那么列表接口直接在头部信息中传入这个token即可
最后两个联通之后,根据用例传入不同的参数值去校验这个商品列表接口是否正常





1.把字段基金代码的长度扩长为8位
2.统计同一销售商和网点代码下持有的总份额
3.统计出同一个基金帐号和基金代码记录数超过2条的总数有多少
4.把基金账号为100008,网点代码最小的那条记录的份额更新为2000

CREATE TABLE A (
P_ID int,
p_num int,
s_id int);
INSERT INTO A VALUES
(1,10,01),
(1,12,02),
(2,8,01),
(3,11,01),
(3,8,03);
select a.*,a.s1_id+a.s2_id+a.s3_id as sum_p from (select p_id,
sum(case when s_id=1 then p_num else 0 end) as s1_id ,
sum(case when s_id=2 then p_num else 0 end) as s2_id ,
sum(case when s_id=3 then p_num else 0 end) as s3_id
from product_t group by p_id) a;
1、描述下敏捷测试流程
2、介绍下你做过项目的业务流程
3、介绍下做过的项目当时你团队组成是什么样?有多少开发、测试,项目周期多久,时间4、如何分配的,有多少用例,多少bug等?
5、APP测试和web测试有什么区别
6、测试计划包含哪些内容
7、什么叫冒烟测试用例?冒烟测试用例一般会选取哪些作为冒烟测试用例
8、讲下bug处理流程,你们是用什么工具提单的
9、说下你印象最深的bug
10、偶现性bug怎么处理
11、测试用例设计都有哪些方法?什么场景下使用什么方法
12、有个上传文件的功能,需要上传文件,测试点有哪些?
13、进行测试用例设计:一串数字,闰年的判别
14、如何测试ip地址(IP地址组成为:(1~255).(0~255).(0~255).(0~255))
15、测试报告都有哪些要素?
16、bug的处理机制 bug的定级
17、线上出现bug时,处理流程是什么样的?
18、订单列表展示的测试用例设计
19、你觉得一个软件达到什么标准可以上线
20、请进行测试用例设计:一串数字,闰年的判别
鉴于篇幅所限,需要完整面试题(附答案)的可以私信我关键词“资料”免费获取
很好奇,就使用rubyonrails自动化单元测试而言,你们正在做什么?您是否创建了一个脚本来在cron中运行rake作业并将结果邮寄给您?git中的预提交Hook?只是手动调用?我完全理解测试,但想知道在错误发生之前捕获错误的最佳实践是什么。让我们理所当然地认为测试本身是完美无缺的,并且可以正常工作。下一步是什么以确保他们在正确的时间将可能有害的结果传达给您? 最佳答案 不确定您到底想听什么,但是有几个级别的自动代码库控制:在处理某项功能时,您可以使用类似autotest的内容获得关于哪些有效,哪些无效的即时反馈。要确保您的提
我正在编写一个包含C扩展的gem。通常当我写一个gem时,我会遵循TDD的过程,我会写一个失败的规范,然后处理代码直到它通过,等等......在“ext/mygem/mygem.c”中我的C扩展和在gemspec的“扩展”中配置的有效extconf.rb,如何运行我的规范并仍然加载我的C扩展?当我更改C代码时,我需要采取哪些步骤来重新编译代码?这可能是个愚蠢的问题,但是从我的gem的开发源代码树中输入“bundleinstall”不会构建任何native扩展。当我手动运行rubyext/mygem/extconf.rb时,我确实得到了一个Makefile(在整个项目的根目录中),然后当
我有一个围绕一些对象的包装类,我想将这些对象用作散列中的键。包装对象和解包装对象应映射到相同的键。一个简单的例子是这样的:classAattr_reader:xdefinitialize(inner)@inner=innerenddefx;@inner.x;enddef==(other)@inner.x==other.xendenda=A.new(o)#oisjustanyobjectthatallowso.xb=A.new(o)h={a=>5}ph[a]#5ph[b]#nil,shouldbe5ph[o]#nil,shouldbe5我试过==、===、eq?并散列所有无济于事。
我有一些Ruby代码,如下所示:Something.createdo|x|x.foo=barend我想编写一个测试,它使用double代替block参数x,这样我就可以调用:x_double.should_receive(:foo).with("whatever").这可能吗? 最佳答案 specify'something'dox=doublex.should_receive(:foo=).with("whatever")Something.should_receive(:create).and_yield(x)#callthere
Sinatra新手;我正在运行一些rspec测试,但在日志中收到了一堆不需要的噪音。如何消除日志中过多的噪音?我仔细检查了环境是否设置为:test,这意味着记录器级别应设置为WARN而不是DEBUG。spec_helper:require"./app"require"sinatra"require"rspec"require"rack/test"require"database_cleaner"require"factory_girl"set:environment,:testFactoryGirl.definition_file_paths=%w{./factories./test/
我遵循MichaelHartl的“RubyonRails教程:学习Web开发”,并创建了检查用户名和电子邮件长度有效性的测试(名称最多50个字符,电子邮件最多255个字符)。test/helpers/application_helper_test.rb的内容是:require'test_helper'classApplicationHelperTest在运行bundleexecraketest时,所有测试都通过了,但我看到以下消息在最后被标记为错误:ERROR["test_full_title_helper",ApplicationHelperTest,1.820016791]test
我已经构建了一些serverspec代码来在多个主机上运行一组测试。问题是当任何测试失败时,测试会在当前主机停止。即使测试失败,我也希望它继续在所有主机上运行。Rakefile:namespace:specdotask:all=>hosts.map{|h|'spec:'+h.split('.')[0]}hosts.eachdo|host|begindesc"Runserverspecto#{host}"RSpec::Core::RakeTask.new(host)do|t|ENV['TARGET_HOST']=hostt.pattern="spec/cfengine3/*_spec.r
我在app/helpers/sessions_helper.rb中有一个帮助程序文件,其中包含一个方法my_preference,它返回当前登录用户的首选项。我想在集成测试中访问该方法。例如,这样我就可以在测试中使用getuser_path(my_preference)。在其他帖子中,我读到这可以通过在测试文件中包含requiresessions_helper来实现,但我仍然收到错误NameError:undefinedlocalvariableormethod'my_preference'.我做错了什么?require'test_helper'require'sessions_hel
只是想确保我理解了事情。据我目前收集到的信息,Cucumber只是一个“包装器”,或者是一种通过将事物分类为功能和步骤来组织测试的好方法,其中实际的单元测试处于步骤阶段。它允许您根据事物的工作方式组织您的测试。对吗? 最佳答案 有点。它是一种组织测试的方式,但不仅如此。它的行为就像最初的Rails集成测试一样,但更易于使用。这里最大的好处是您的session在整个Scenario中保持透明。关于Cucumber的另一件事是您(应该)从使用您的代码的浏览器或客户端的角度进行测试。如果您愿意,您可以使用步骤来构建对象和设置状态,但通常您
我有:When/^(?:|I)follow"([^"]*)"(?:within"([^"]*)")?$/do|link,selector|with_scope(selector)doclick_link(link)endend我打电话的地方:Background:GivenIamanexistingadminuserWhenIfollow"CLIENTS"我的HTML是这样的:CLIENTS我一直收到这个错误:.F-.F--U-----U(::)failedsteps(::)nolinkwithtitle,idortext'CLIENTS'found(Capybara::Element