测试入门

测试

什么是单元测试、功能测试、集成测试?

1.单元测试是对软件组成单元进行测试。其目的是检验软件基本组成单位的正确性。测试的对象是软件设计的最小单位:模块。又称为模块测试。

2.集成测试也称联合测试(联调)、组装测试,将程序模块采用适当的集成策略组装起来,对系统的接口及集成后的功能进行正确性检测的测试工作。集成主要目的是检查软件单位之间的接口是否正确。

3.功能测试检查特定的功能是否正常。功能测试不关心中间结果或者副作用,只关注最终结果。

什么是兼容性测试?

兼容性测试主要是检查软硬件平台上是否可以正常运行,即通常说的软件的可移植性,细分的话,有平台兼容,网络兼容,数据库兼容,数据格式的兼容等等。

集成测试和单元测试的区别

1.颗粒度不同:集成测试粒度居中,单元测试粒度最小,系统测试粒度最大。

2.测试方式不同:集成测试一般由开发小组采用白盒加黑盒的方式来测试,单元测试一般由开发小组采用白盒方式来测试,系统测试一般由独立测试小组采用黑盒方式来测试。

3.测试内容不同:集成测试既验证“设计”,又验证“需求”,单元测试主要测试单元是否符合“设计”,系统测试主要测试系统是否符合“需求规格说明书”。

4.使用阶段不同:单元测试为开发人员在开发阶段要做的事情,集成测试和系统测试为测试人员在测试周期内做的工作。

边界值和等价类的区别

等价类划分属于黑盒测试,它将不能穷举的测试过程进行分类,从而保证完整性和代表性。

它从以下方面思考:

1.确定有效等价类和无效等价类

2.有效等价类划分(题目条件,还要注意边界值(极值),中间再随意找个值)

3.无效等价类划分(跟有效等价类相反,其它特殊情况(中文、英文、特殊符号、空格、空))

边界值分析法也属于黑盒测试,因为在程序中边界值最容易出现问题,因此找到边界值和它两端的值,分别进行测试。

边界值思路应该是选到边界和刚超过的值,来进行测试,也要根据实际情况来选择;边界值和等价类是相辅相成的关系,配合使用的。

冒烟测试

冒烟测试这一术语源自硬件行业,它的主要目的是快速验证软件基本功能是否有缺陷

如果冒烟测试的测试例不能通过,则不必做进一步的测试。进行冒烟测试之前需要确定冒烟测试的用例集,对用例集要求覆盖软件的基本功能。这种版本包出包之后的验证方法通常称为软件版本包的门槛用例验证

冒烟测试的目的就是先通过最基本的测试,如果最基本的测试都有问题,就直接打回开发部门,减少测试部门时间的浪费。

冒烟测试可以手动执行,也可以自动化执行。稳定的系统适合自动化冒烟测试,集成过程中的系统适合手工冒烟测试,因为冒烟测试内容在动态变化,变化中的自动化脚本维护工作量比较大。

黑盒测试的测试方法

黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。

在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。

黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。

黑盒测试是以用户的角度,从输入数据与输出数据的对应关系出发进行测试的。

黑盒测试的测试方法有:等价类划分边界值分析法猜错法随机数法因果图

等价类划分法:把所有可能的输入数据划分成若干子集,然后从每一个子集中选取少数具有代表性的数据作为测试用例。

边界值分析法:边界条件就是软件操作界限所在的边缘条件。经实践总结:大量的软件缺陷发生在输入域的边界上。所以在设计测试用例的时候,应该重视边界。同时它也是“等价类划分”这种测试方法的良好补充。

性能测试包括哪些方面, 性能测试我们关注的指标有哪些?

性能测试一般情况下会关注并发数响应时间吞吐量错误率以及资源利用率(比如CPU、Mem、IO、Network)等方面,具体可参考下面的博客:

性能测试报告包含哪些关键的性能指标?

 

接口测试

什么是接口测试?

接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。

简单来说就是通过URL向服务器或者其他模块等,传输我们想传输的数据,然后看看它们返回的是不是我们预期想要的。

为什么要做接口测试?

1.越底层发现Bug,它的修复成本是越低的。

2.前端随便变,接口测好了,后端不用变,前后端是两拨人开发的。

3.检查系统的安全性、稳定性,前端传参不可信。

4.如今的系统复杂度不断上升,传统的测试方法成本急剧增加且测试效率大幅下降,接口测试可以提供这种情况下的解决方案。

5.接口测试相对容易实现自动化持续集成,且相对UI自动化也比较稳定。

6.现在很多系统前后端架构是分离的,从安全层面来说:

  • 只依赖前端进行限制已经完全不能满足系统的安全要求, 需要后端同样进行控制,在这种情况下就需要从接口层面进行验证。
  • 前后端传输、日志打印等信息是否加密传输也是需要验证的,特别是涉及到用户的隐私信息。

接口测试的工具有哪些?

项目前后端调用主要是基于http协议的接口,所以测试接口时主要是通过工具或代码模拟发送http请求。工具有很多如:postmanjmeter等。也可以用接口自动化来实现,就是用代码实现,

比如 Python + requests、nodejs + sync-request

接口测试的流程是什么?

后端接口测试的测试点以及测试活动内容方面,见思维导图:

接口测试质量评估标准

1.业务功能覆盖是否完整
2.参数验证是否达到要求(边界、业务规则)
3.接口异常场景覆盖是否完整
4.代码覆盖率是否达到要求
5.性能指标是否满足要求
6.安全指标是否满足要求

Get和Post请求有什么区别

1.get使用URLCookie传参。而post将数据放在body中。
2.getURL会有长度上的限制,则post的数据则可以非常大。
3.postget安全,因为数据在地址栏上不可见。
4.一般get请求用来获取数据,post请求用来发送数据。

其实上面这几点,只有最后一点说的是比较靠谱的,第一点post请求也可以把数据放到url里面,get请求其实也没长度限制,post请求看起来参数是隐式的,稍微安全那么一些些,但是那只是对于小白用户来说的,就算post请求,你通过抓包也是可以抓到参数的。(唯一区别就是最后一点,上面3点区别都是不准确的)

http状态码

200 2开头的都表示这个请求发送成功,最常见的就是200,就代表这个请求是ok的,服务器也返回了。

300 3开头的代表重定向,最常见的是302,把这个请求重定向到别的地方了。

400代表客户端发送的请求有语法错误
401代表访问的页面没有授权
403表示没有权限访问这个页面
404代表没有这个页面。

500 5开头的代表服务器有异常
500代表服务器内部异常
504代表服务器端超时,没返回结果。

web端测试

cookie和session的区别?

  • cookie数据存放在客户的浏览器上,session数据放在服务器上。
  • cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗。考虑到安全应当使用session
  • session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能。考虑到减轻服务器性能方面,应当使用cookie
  • 单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie

Linux 命令

常用的Linux命令有哪些,动态查看日志的命令是?

1.查看当前打印日志,进行实时打印时使用 tail -f 文件名
2.日志文件不大,可使用cat 文件名查看文件内容
3.当查询指定内容,且不需要查看内容的上下文时使用grep -n 关键词 文件名
4.vi/vim查看,q!不保存退出

怎么找到占用内存最多的前5个进程

ps -aux | sort -k4nr | head -5

ps参数-aux
a 显示所有程序
u 以用户为主的格式来显示程序状况
x 显示所有程序,不以终端机来区分

显示效果:

 

sort 里的 -k 表示按照哪一列去排序,后面跟的数字4表示根据第四列内存使用率进行排序,如果写成 -k3 表示根据第三列CPU使用率排序,-n 表示按照数值大小进行排序,-r 选项表示降序,是reverse的缩写,默认排序是升序,也就是从小到大,加上-r从大到小降序排序。

head-N可以指定显示的行数,默认显示10行。

一个文件里面以英文问号分割,怎么取出第三列

cat demo.txt | awk -F '?' '{print $3}'

linux中授予文件访问权限的命令是什么?chmod 664是什么含义?

Linux系统上对文件的权限有着严格的控制。

Linux下文件的权限类型一般包括执行,对应字母为 rwx

Linux下权限的粒度有 拥有者群组其它组 三种,对应usergroupother,每个文件都可以针对三个粒度,设置不同的rwx(读写执行)权限。

Linux上通常使用 chmod 对文件的权限进行设置和更改,数字 421分别表示执行权限,即 r=4w=2x=1

rwx(4 + 2 + 1 = 7)表示可读可写可执行
rw-(4 + 2 = 6)表示可读可写不可执行
r-x(4 + 1 = 5)表示可读可执行不可写

chmod 664 file 等价于 chmod u=rw-,g=rw-,o=r-x file

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值