一、功能测试和数据测试需要分开吗?
功能测试和数据测试不需要分开。
因为功能测试和数学测试,它们是相互协调到相互相乘的功能测试,里面就包含有数学测试了,所以程序员在做测试的时候一般都是一起测试的,功能测试里面的业务都是有数学来实现的没有数据的维护功能,也就不能实现。
二、功能测试和非功能测试的区别?
一、两者的概述不同:
1、功能性测试的概述:功能测试就是对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能。
2、非功能性测试的测试(又叫做非功能性需求检验)的概述:指对软件产品的安全性、可靠性、互操作性、健壮性等进行的测试。
二、两者的要求不同:
1、功能性测试的要求:确保程序以期望的方式运行而按功能要求对软件进行的测试,通过对一个系统的所有的特性和功能都进行测试确保符合需求和规范。
2、非功能性测试的要求:开发者应明确用户对需求的优先顺序,同时也要让用户知道一些目标的模糊性和无法客观验证性。
三、两者的作用不同:
1、功能性测试的作用:用于验证应用程序或网站对目标用户能正确工作。使用适当的平台、浏览器和测试脚本,以保证目标用户的体验将足够好,就像应用程序是专门为该市场开发的一样。
2、非功能性测试的作用:通过一些可用来指定非功能性系统特性的度量的测试可使其验证更为客观,但在实际过程中,对需求描述进行量化是很困难的。这种困难性体现为客户没有能力把目标需求进行量化的同时,有些目标(如可维护性)本身也没有度量可供使用。
三、ict测试和功能测试区别?
ICT就是小电压小电流小信号PCB板电子元器件检测数据,FCT,PCB板上电后的功能测试产品功能检测。
四、功能测试和回归测试的区别?
功能测试是第一次测试,回归测试是重新测试
五、app测试和功能测试的区别?
从功能层面上来讲,web测试和app测试从流程和功能上是没有区别的
1、系统架构方面
web项目,一般都是bs架构,是基于浏览器的
app项目,则是c/s架构的,用户需要在终端上安装客户端应用
web测试只要更新服务器,客户端就会同步更新,而服务端则需要客户端和服务器同步更新
2、从性能方面
web项目主要主要关心响应时间
app项目还需要关心流量、电量、CPU、Memory这些
3、兼容方面
web是基于浏览器的,倾向于浏览器和电脑硬件
app则要看分辨率,屏幕尺寸、还要看设备系统
web测试的是基于浏览器的所以不考虑安装卸载
app测试则是客户端的,所以必须测试安装,更新,卸载,除了这些还要考虑异常测试如:网络、适配性
六、软件功能测试需要学什么?
功能测试是测试工程师的基础功,很多人功能测试还做不好,就想去做性能测试、自动化测试。很多人对功能测试的理解就是点点点,如何自己不用心去悟,去研究,那么你的职业生涯也就停留在点点点上了。
功能测试需要掌握哪些方面的技能?
一、 熟练使用SQL
1、常用的 sql 语句一定会写。比如说增删改查之类。
2、了解数据库的事务、会编写存储过程、熟练常用的系统函数。
3、了解并可以进行数据库的备份、迁移、还原、镜像等操作
4、对 sql 语句进行调优,并对可以对运行的语句监控查看性能
5、了解数据库集群等操作。
二、 Linux
Linux是测试人员的基础功,不需要掌握太难或者很不常见的Linux命令,正常能做到查看日志,定位问题就可以了。
1、基本命令
常用的Linux基本命令,面试经常会问的,或者给出一种场景,问你用什么命令。
2、查看日志
初级测试人员在工作时经常遇到,发现bug,开发不承认或者不愿意解决的情况,测试人员怎么摆脱这样的问题呢?那就是根据发现的bug根据日志级别,来查看日志,定位问题。
那这里首先要说一下日志级别了。首先记住这一点:日志级别越高,输出的信息越少 。
具体的日志级别分为四级:
info : 代码 info 信息,不包括sql语句等一些debug信息
warning warning : 代码警告信息
error : 程序本身报错信息 java.lang.outindexERROR.....
critical :几乎用不到
一般不符合需求的bug在 debug中,程序本身报错的bug在 error中。
三、 使用数据库,跟数据流向
1、数据库的本质
常见数据库主要是MAYSQL、ORECAL、Redis,其中Mysql数据库是典型的关系型数据库
2、数据库操作
(1) 数据库和表操作
(2)表数据操作
(3)复杂sql查询
四、写好测试用例
在测试过程中很重要的一类文档,它是测试工作的核心、是一组在测试时输入输出的标准、是软件需求的具体对照。编写测试用例,是测试人员的基本功,但是真正能写好的人并不多。
测试用例必须包含的内容:
用例编号、用例名称、测试背景、前置条件、优先级、重要级、测试数据、测试步骤、预期结果、实际结果、备注。
1、测试用例的编写流程
需求分析 --> 提取测试点 --> 测试用例编写 --> 测试用例评审
2、编写测试用例的思路
(1)根据产品的RPD,提取测试点。
(2)根据数据流的走向。
(3)根据的架构部署。
(4)编写测试用例的常用方法:等价类划分法、边界值分析法、流程图法等。
(5)覆盖弱网测试、接口测试、安全测试、性能测试等。
(6)常用测试工具有:Postman、 Charles、 Fiddler 、Jemter、Loadrunner等。
3、编写测试用例注意事项
(1)根据项目的实际情况设计测试用例表格
(2)用例格式不要生搬硬套
(3)根据具体情况编写
(4)学会质疑需求,不要完全按照需求来写测试用例,要从客户和产品的角度来理解需求,看到需求之外的功能和体验
4、管理测试用例
为什么要管理测试用例?
(1)测试用例数目巨大
(2)测试用例会根据需求的改变而改变
(3)测试用例需要长期补充完善
如何管理测试用例?
(1)原始的Excel管理
(2)专业的项目管理系统(eg:git、禅道、JIRA、Confiuence等)一般都为web格式
五、 http与https协议
面试经常关于Http协议的下面几个问题
1、Http协议原理
2、http和http协议的区别
3、TCP和UDP的区别
4、session和token的区别
5、公钥和私钥的理解
6、get和post的区别
7、从输入URL到页面加载发生了什么
8、什么叫代理,正向代理和反向代理?
六、了解业务
做功能测试,一定要了解业务,甚至理解业务。只有把业务吃透,才能把功能测试做好,并且有一定的提高。业务熟悉后,会知道很多常识,知道下面的常识之后,你就可以尝试进阶,学习做自动化测试、接口测试、性能测试
1、什么时候介入自动化 => 当你系统趋于稳定的时候
2、什么时候介入接口测试 => 当接口开发完毕的时候
3、什么时候介入性能测试 => 当出现促销的时候,或者抢购的时候(618大促,过年抢火车票,抢优惠券)。比如说,5000张优惠券,大概有多少人抢,在多长时间内抢完。
七、 bug管理
做功能测试,还有个很重要的工作就是bug管理,一个优秀的的测试人员,线上bug非常多,多于和你一起工作的其他同事,但是线上bug非常少,少于其他同事。
1、 bug定义
(1)不符合需求的
(2)程序本身报错
(3)不符合用户的使用习惯
2、bug生命周期
当我们测试人员提交一个bug的时候,自始bug就有它的生命周期,从开始到结束。
3、bug单内容
Bug描述(summary)
环境信息:操作系统/数据库/浏览器/软件版本(OS/Database/Project/Build/Release)
所属功能模块
测试/开发人员
严重等级(1-5)
客户优先级
风险程度
状态
重现步骤
实际结果
是否要回归问题等
4、测试报告
把测试的过程和结果写成文档,对发现的问题和缺陷进行分析,为纠正软件的存在的质量问题提供依据,同时为软件验收和交付打下基础测试报告和测试计划一样,一般由测试leader编写,测试人员需要了解一下测试报告中都有哪些内容。
八、 典型bug
1、抓包作用: 测试一个app搜索功能,抓包,抓到一个搜索接口,突然发现抓到了两个请求接口 -> 当访问量上来了,服务的压力上升两倍
2、数据流走向 : 测试时候发现页面上数据只有一条,但是数据库里面多了一条 -> 1、数据量变大,查询变慢 2、脏数据太多,瞬间爆满,程序崩溃了
3、弱网测试:app项目一定要有弱网络测试
七、视频网站需要测试什么功能?
视频网站需要测试手机是否开机,是否连接WiFi。
八、ui测试和功能测试哪个更好些?
这个要根据自己的兴趣爱好来选择。软件测试(英语:Software Testing),描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。换句话说,软件测试是一种实际输出与预期输出之间的审核或者比较过程。软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程; UI设计(或称界面设计)是指对软件的人机交互、操作逻辑、界面美观的整体设计,也叫界面设计。UI设计分为实体UI和虚拟UI,互联网说的UI设计是虚拟UI,UI即User Interface(用户界面)的简称。好的UI设计不仅是让软件变得有个性有品位,还要让软件的操作变得舒适简单、自由,充分体现软件的定位和特点。随着“互联网+”时代带来的大发展,企业更加意识到用户界面的重要性,注重用设计思维来规划产品形态,对UI设计师的需求也在不断加大,预计UI人才将超过120万。
九、软件测试分为功能测试,接口测试,自动化测试,压力测试,性能测试,渗透测试,安全测试,具体是干嘛的?
这些都是软件测试的一般通用概念。根据测试的目的和手段不同而各自定义的内容。下面小编为大家好好解释一下:
功能测试:
就是对软件的逻辑功能进行的一种测试。软件是为了帮助用户实现某些特定功能的,完成一定的目标作为其运行的基础。所以软件的功能测试就是从软件的逻辑功能、界面、易用性、兼容性等方面进行的一种测试。多数时候是测试人员手工进行执行,少部分功能也会编写测试代码,进行自动化测试。是软件最重要的一方面的测试。
接口测试
顾名思义,就是怼软件之间进行数据交互的接口进行的一种测试。由于现在很多软件都会使用大型的互联网应用厂商提供的开放接口,例如:
有些应用可能使用合作网站的账号进行登陆,其实就是其他网站和应用开放了自己的接口系统供别人调用的一种情形。当然了,接口测试不仅仅如此,还是一门很重要的学问呢。如果感兴趣我们可以深入的探讨。
自动化测试
广义的自动化测试就是使用专门的工具软件、或者测试人员自行编写的程序代码完成软件测试的一种形式。一般常说功能自动化测试、性能自动化测试、接口自动化测试,这都是自动化测试中的一个小分支。
性能测试
就是对软件运行过程中,在面对大量用户使用、长时间运行、大量数据读写操作时的软件系统,尤其是对系统的服务端运行状态进行监控和评价的一种测试。性能测试是功能测试的延伸,功能测试一般注重能不能用,而性能测试则考虑的内容要更持久、更大量。性能测试是一种统称,按照测试的目的不同包含了负载测试、压力测试、稳定性测试、大数据量测试等。尤其是压力测试,给系统不断施加压力直到系统崩溃为止,例如下图:
就是一种系统的某项性能指标趋于或者达到饱和的一种表现。
安全测试
针对系统可能存在的漏洞进行探测、发现的过程,可以从系统的整个网络结构设计、操作系统的安全、数据库的安全、系统程序代码的安全、业务逻辑的安全等众多方面进行开展。例如,下面就是从业务逻辑安全方面进行控制的:
再比如,登陆系统的时候,使用了不同地区的IP地址,系统提示不在经常使用的地区,也是系统安全性的表现。
还有从一些网络传输的参数的角度,说明系统安全性。例如下图:
安全测试很多,有些是主动检测自身的安全漏洞的,比如渗透测试,就是模拟黑客的攻击的形式,对自身系统进行安全检测测一种手段。还有一些是被动的安全测试,比如就有网络入侵检测,通过对自己系统设定一些特定的数据和内容,查看自己的系统是不是被人入侵了。
测试是一个值得深入钻研的工作和岗位。
十、什么是测试功能?
功能测试在测试工作中占的比例最大,功能测试也叫黑盒测试。是把测试对象看作一个黑盒子。利用黑盒测试法进行动态测试时,需要测试软件产品的功能,不需测试软件产品的内部结构和处理过程。
采用黑盒技术设计测试用例的方法有:等价类划分、边界值分析、错误推测、因果图和综合策略。
- 相关评论
- 我要评论
-