当前位置: 首页 > 后端技术 > PHP

【转载】软件测试系统学习流程及面试常见问题

时间:2023-03-29 21:38:25 PHP

学习软件测试的时候,是不是感觉无从下手?今天教大家软件测试学习的系统流程和面试常见问题。学习过程1.必备技能编程基础,能看懂前端页面,掌握一门语言:php/python/java等2.数据库知识,建议准备sql语言,掌握高级查询和使用基本可以应对用它。3、软件测试理论,这个大家都很熟悉了,也是必学的,所以应该比较容易搞定。注意准备网络和应用程序测试以及性能测试。做web、app、微信小程序的公司有很多。4、根据公司具体岗位要求,可以准备Linux命令、CMMI基础知识、TCP/IP基础知识等二、学习过程1、功能测试学习功能是最基本、最本质的工作软件测试就像地基一样,所以功能测试的基础一定要打好。当你了解了基本的功能测试,你可以看看《软件测试的艺术》这本书对于刚学软件测试的人来说真的很有用。2、接口测试接口是前后端数据交互的通道,接口测试也是测试中非常重要的一环。接口测试的学习包括测试工具的学习:apipost、jmeter、loadrunner等,通信协议,http协议也需要深入学习。推荐看看《图解网络-小林coding》,可以帮助我们了解互联网通信的基础知识以及前端如何向后端传输数据。3.性能测试性能测试一般是接口测试的一部分。通过接口对服务器进行测试,可以查看服务器的各种值。性能测试包括许多侧重点不同的分类测试,例如:压力测试、负载测试和稳定性测试。等待。4.自动化测试自动化测试可以分为:界面自动化测试和ui自动化测试。学习自动化测试需要掌握一门语言,php/python/java等,界面自动化测试需要掌握requests框架,ui自动化测试需要掌握:web端需要掌握selenium,app端需要掌握appium。5、Linux操作系统学习Linux操作系统的目的是为了自己部署测试环境,方便自测。学好Linuxshell语句也很重要。学习书籍,你可以阅读《鸟哥的linux私房菜》。6.前后端和数据库语言能看懂前端页面,知道前端页面是怎么写的,ajax传值的方法,后端可以用一个back-端语言,php/python/java等。能够编写数据库的基本SQL语句。面试常见问题一、功能测试1、说说你之前公司的测试流程。必答题。主要结合自己的项目经历,相信说说自己做过的一个项目,从立项到测试结束,当然重点是测试和自己做了什么。这里的面试官一般会根据你说的来提问。2、功能测试的主要测试方法有哪些?等价类划分、边界值、因果图划分、正交性、场景、随机、错误推理、测试大纲A:等价类划分方法::1:有效等价类:2:无效等价类:案例:例如登录输入box规定只能输入中文,同时长度为6-10。通过等价类设计测试用例:测试用例中的三个重要步骤:如果输入操作的预期结果与如果预期结果不匹配,则为bug有效等价类:输入:输入中文长度为6的字符,输入为王小明,为有效等价类。点击登录,结果预期长度不符合要求2:输入的长度为6,但为英文,点击登录,预期结果应为中文3:长度为输入的是4,不是中文,是数字,1234,点击登录,预计结果,请输入中文,长度为6-10位4:输入长度为12和非中文,如qwertyuiopas,点击登录,预期结果输入中文,长度为6-10位B:边界值法:应用场景:边界值常与等值一起使用类划分法,形成更完整的测试计划,找到有效数据和无效数据的边界点,注解边界值一般与有效等价类划分法结合使用:案例:比如一个登录的输入框规定只能输入中文,长度同时是6-10。上面输入框的边界:如果固定为大于等于6小于等于10,那么左边界为5和6,右边界为:10和11testcases:1:输入是王晓明,是有效等价类和边界值的组合2:输入昵称,这是边界值5,有效等价类3:输入欧阳致远的家人,这是边界值10,同时等价类4有效:输入欧阳致远拉拉,即边界值11,等价类C同时有效:因果图和决策表方法:应用场景:有多个控件在一个界面中,如果控件之间存在组合或限制关系。不同的控件组合会产生不同的输入结果。为了弄清楚不同的输入组合会产生什么样的输出结果,可以使用因果图和决策表法:判断是儿童、青年还是成人。人:条件1:年龄条件2:身高身高条件3:体重weight输入年龄5,体重80公斤,身高170,无此人输入增加80,身高170,输入年龄20,成人输入年龄5,体重30,身高60、子D:正交表:应用场景:一个界面中有多个控件,每个控件有多个值。测试时考虑了不同控件的不同值的各种组合,但是组合的数量巨大(>20种,判断表的因果图一般针对20种以下考虑),所以它没有必要测试所有这些。如何从所有的组合中选出最小和最优的组合进行测试,可以采用正交排列法。正交表的测试思路特点:1)每个控件的每个值参与组合的次数基本相等(统一)2)在所有组合数据中,选择数据时,要统一选择,不在当地。3)如果时间允许,尽量多测量组合正交表:主要是针对一个输入框可能有多个值的可能性,而且数量巨大。例如:输入年龄18,体重45,山西大同阳高E:大纲法适用场合:程序包含多个窗口,每个窗口有多个功能,这些功能之间有一定的关系。为了理清窗口之间的联系以及窗口的不同功能,采用了测试大纲法。F:场景法的适用场合:大部分业务比较复杂的软件系统都适合使用场景法(便于将各个功能点连接起来,形成完整的业务感觉)是一种基于软件业务的测试方法。终端用户尽量模拟用户使用本软件的操作:场景一:比如购物:输入袜子,点击查询,会出现一个列表,点击七只狼,点击进入详情,点击加入购物车,点击进入购物车结算,点击收获地址,点击支付,支付成功场景二:比如购物:输入袜子,点击查询,出现一个列表,点击七狼上,点击进入详情,点击加入购物车,点击去购物车结算,点击收获地址,点击取消支付G:错误推断方法凭经验和直觉来推测程序中所有可能出现的错误,因此在灰盒测试中经常采用有针对性地设计测试用例的方法。H:Randomtesting随机测试,不考虑任何用例和需求,完全站在用户或用户的角度来使用产品。适用场景:1)之前设置的用例都执行完了2)当大量的条件组合不能一次遍历时2.性能测试和接口测试1.一般使用什么性能测试和接口测试工具性能测试:jmeter、loadrunner接口测试:apipost、postmanApiPost——API调试和管理工具,可以直接生成文件www.apipost.cn2。如何进行接口测试,接口测试需要注意哪些方面通过apipost、postman等工具,根据接口文档,输入请求方法get,对于post等方法,输入url,输入参数即可通过,然后检查响应是否符合接口文档显示的内容。注意json响应中的参数类型等。3、性能测试具体指的是什么?是指验证软件的性能能够满足系统规范给出的规定要求的性能指标。性能测试是一个比较大的范围,可以进一步衍生出负载测试、强度测试、压力测试、稳定性测试。通过自动化测试工具模拟各种正常、异常、峰值情况,测试系统各项性能指标4、什么是压力测试?压力测试方法是在一定的饱和状态下对系统进行测试,如CPU、内存等。处理会话的能力,以及系统是否容易出错。测试系统可以承受的最大限制。是指系统在极限条件下的压力情况,在多大的压力下会导致系统出现故障,不能正常运行。100个用户连续访问1小时可视为压力测试,连续访问10小时可视为负载测试。三、自动化测试1、自动化测试是什么意思?UI界面自动化和界面自动化操作界面的自动化;通过代码实现海量接口测试2、自动化测试一般用什么工具?Web测试:python+selenium+浏览器驱动的app测试:python+appium