【知识详解】测试相关
问:需求分析和系统设计?
需求分析与系统设计是软件生存期中最重要的两个步骤,需求分析需要解决的是“做什么”的问题,而系统设计则是解决“怎么做”的问题;
- 需求分析主要是确定待开发软件的功能、性能、界面等要求,包括需要输入什么数据,要得到什么结果,最后应输出什么,需求分析就是确定计算机是做什么的;要达到什么样的效果;
- 系统设计:就是要把许多事物和问题抽象起来,然后把这些问题或事物模块化,让一个大问题变的容易些,然后就是需要解决这些模块化之间耦合的情况;
问:为什么选择测试开发(怎么理解测开)?
我个人理解,开发是一个产品很重要的阶段,然后测试也是很重要的,现在比如说开发的java,有很多框架都也在被广泛应用,所以开发出一个能够使用的产品变的简单了,各种产品也都很多,但是对于用户来说,这么多的产品里是会更加注重产品的质量和服务,所以这时候测试人员的价值就体现了,对一个产品进行测试是整个产品阶段是很重要的一环,在测试阶段多找出产品的bug或不足,那真正使用的时候问题就少了,现在的话也更多的从手工测试逐渐转变为自动化测试,对产品的质量把控也越来越重视,感觉会很有潜力,未来也会比较有前景,我感觉自己比较适合这个岗位,因为平时考虑问题比较全面,能够站在别人的角度考虑问题,比较喜欢刨根问底;作为一名测试人员是能够有较强的成就感的,能够将一个产品变的越来越好。另外,测试开发要有开发能力,现在很多都在开发测试工具或者是框架,都能提高测试效率,此外也需要有比较强的学习能力,我认为自己比较适合做测试开发。
测试开发这个角色既融入了测试人员的这种质量意识,也要有开发人员的技能;
测试规划:我觉得对于测试工程师主要有两个方向把,一个是管理岗位,另一个是技术的岗位,我个人还是的规划是这种技术的路线,刚开始去把基础的做好,比如像设计用例、执行测试、环境部署、定位问题等;总结技术和方法,沉淀一下;然后根据技术和自己的兴趣,去选择一个领域深入,比如性能测试、自动化测试、接口测试、安全测试等。目前是这样的一个打算;
问:测试应该具备什么能力?
- 持续不断的学习能力;当然这也是每一个开发人员都应该具有的,不仅是测试,现在技术变化很快,也有很多框架一直在诞生,所以要有不断的学习能力;
- 好的编程能力:要能够理解各种程序的逻辑关系,能读好、写好代码;
- 要能够发现问题,做事细心全面:测试是要能够测出问题的,测试的时候多发现问题,真正上线就少问题,考虑测试用例的时候要全面,并且具有代表性;
- 要有很好的沟通能力;能够明确的表明自己的意思,尤其是与开发人员沟通好;
- 要有责任心:既然是一名测试工程师,就要对产品和对用户负责,要对自己测试过的产品负责。
问:测试的体系和组成?
测试的整体体系如下:
目前针对软件测试的方向主要集中在:功能测试、接口测试、UI测试、性能测试等几类;
问:什么是接口测试?
接口测试主要是用来外部系统与系统之间或者系统内部子系统之间的各个交互点,测试的重点是检查数据的交换、传递还有控制管理的过程;
比如常见的接口测试的工具postman,现在普遍都是采用一种前后端分离的架构,而前后端调用又主要都是基于http协议,所以测试接口的时候主要是通过工具或者代码去模拟http请求的发送与接收;
问:软件测试的流程?
- 首先要先理解需求,查看需求文档,形成自己对此产品的一个大致思路;
- 编写测试计划,主要就是设计测试用例(等价类划分、边界值、错误推断、因果图等);
- 搭建环境、执行测试用例;
- 形成测试报告;
问:软件测试的声明周期?
- 需求分析阶段:测试人员了解需求、对需求进行分解、分析,得出测试需求;
- 测试计划阶段:根据需求编写测试计划、测试方案;
- 测试设计、测试开发阶段:测试人员搭建测试用例框架,根据需求和设计编写一部分测试用例;
- 测试执行阶段:根据测试用例和计划执行测试,验证结果;
- 测试评估阶段:在执行的过程中记录问题,测试完成后编写测试报告,进行测试评估;
问:测试人员常用的工具?
- Junit:单元测试工具;主要是用来针对代码的白盒测试
- Jmeter:基于Java的负载测试工具,现在也很多应用于接口测试,可以通过开发脚本验证被测对象的返回结果是否和预期一致;
- Postman:接口测试工具,在没有UI界面,纯粹是数据传递或业务逻辑时,可以选择;
- LoadRunner:经常使用的性能测试工具,可以通过这个工具模拟用户负载;
- Fidder:抓包工具,或者浏览器的f12;
问:α和β测试分分别是什么?
- α测试是开发人员和用户一起共同参与的,是一种内部测试;
- β测试是内部测试后的公测,是完全由用户来完成的;
问:性能测试、压力测试、负载测试、稳定性测试都是什么?
压力测试和负载测试都可以说是性能测试的子集;
- 性能测试:系统在不同的用户负载情况下系统的响应时间、吞吐量等指标;
- 负载测试:负载测试是个方法,不断的增大负载来查看在满足性能指标下的最大负载数;所以可以说性能测试就是通过不同的负载测试来实现;
- 压力测试:压力测试是想通过施加高负载的手段来让系统处于极限状态,测试是否能够执行,是否稳定;
问:测试用例的常用方法?
- 等价类划分:从无穷多数据中,划分等价类:有效等价类和无效等价类;从每个等价类中挑选代表性的数据进行测试;
- 边界值法:找到有效数据和无效数据的边界值;然后采用边界值-1、边界值、边界值+1测试;
- 因果图法:不同控件组合产生不同的结果;
- 错误推断法:根据经验和直觉推测程序中所有可能存在的错误;
问:如何判断前后端bug?
- 前端bug:1.界面相关;2.布局相关;3.兼容性相关;
(出现样式问题的是CSS、出现文本问题的是html、出现交互问题的则是javascript) - 后端bug:1.业务逻辑相关;2.性能或数据相关;3.安全性相关;
- 定位的话可以查日志,或者是查接口,比如说通过f12抓包,查看http请求,或者通过状态码查看是客户端或服务端错误;
link
问:web页面出现了空白,怎么排查问题?
1.先确保网络连接通畅;
2.查看url地址是否输入有误;
3.打开控制台查看报错信息;按f12查看状态码等;
4.抓包看是否正常;用接口模拟请求
问:比如说登录页面,怎么进行安全性测试(SQL注入)?
- 登录成功后生成的cookie是否是httponly的,否则很容易被脚本获取,能够防止xss攻击;
- 用户名和密码是否是加密后发给服务器的;
- 在用户名和密码是输入框是否屏蔽掉了SQL注入问题?
问:设计一个测试用例?(以用户登录界面测试为例)
- 功能测试:
- 界面测试:
- 安全性测试;
- 性能测试
- 兼容测试:
购物车测试用例?
- 界面测试
- 功能测试
- 性能测试
- 兼容性测试
异常测试
__EOF__

本文链接:https://www.cnblogs.com/Curryxin/p/15632142.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了