软件各阶段测试
软件各阶段测试
单元测试:指定并测试一个类的单一方法合约的一点。这应该具有非常狭窄且定义明确的范围。与外部世界的复杂依赖关系和交互行为被嘲笑或嘲笑。
集成测试:测试多个子系统之间的正确互操作。从两类之间的测试集成,到与生产环境的测试集成,整个过程都有。
冒烟测试(也称为健全性检查):一种简单的集成测试,我们只检查被测系统被调用时,它会正常返回并且不会崩溃。
冒烟测试与电子设备都是类比,电子设备上电时会进行第一次测试(如果冒烟,那就很糟糕!)…
…,而且显然是水暖管道,管道系统实际上是由烟雾填充,然后进行目视检查。如果有任何冒烟,则系统泄漏。
回归测试:修复错误后编写的测试。它确保不会再次发生此特定的错误。全名是“非回归测试”。也可以是在更改应用程序之前进行的测试,以确保应用程序提供相同的结果。
为此,我将添加:
验收测试:测试功能或用例是否正确实现。它类似于集成测试,但侧重于提供的用例,而不是所涉及的组件。
系统测试:将系统测试为黑匣子。在测试期间,通常会嘲笑或打断对其他系统的依赖关系(否则,它更像是一个集成测试)。
飞行前检查:在类似生产环境中重复进行的测试,以减轻 ...
个人服务器模块化部署实录-前言
个人服务器模块化部署实录-前言之前一直用的阿里云服务器作为自己的个人云服务器,用来部署自己的网站及业务。目前采取的是服务器上直接部署服务,通过supervisor的方式进行统一管理。在使用过程中遇到了以下几个问题:
服务的部署操作困难因为一直是在本地开发的,部署发布之前需要把代码推到git,再上服务器从git拉取代码然后进行发布。之所以不用自动发布工具,是因为一来自动化流程构建需要时间,而我每次写一个小程序之后,很少有改动。所以就会变成不停配置自动化步骤。二来自动化发布工具毕竟也是需要硬件资源的,云服务器资源并不是很富裕。两者综合考虑,就一直在用手动的方式进行开发,部署。
服务迁移起来很困难虽然都是自己写的东西,但是因为没有规范化的部署文档,也没有部署等级。一旦遇到需要迁移的场景,就很难受。目前我在更换云服务器的时候,都是采用的打包成快照,生成镜像,然后根据镜像部署服务的方式。这种方式的局限性在于,我只能在阿里云内部进行迁移,如果我以后想使用其他服务商的云服务器,迁移的成本将是巨大的。且这个成本是日间增加的。
服务管理困难之前遇见过服务被爆破,或者由于bug程序自己 ...
面试问题记录 一
linux启动过程
开机自检,加载BIOS
读取MBR
Boot Loader grub引导菜单
加载kernel内核
init进程依据inittab文件夹来设定运行级别
init进程执行rc.sysinit
启动内核模块
执行不同运行级别的脚本程序
执行/etc/rc.d/rc.local
执行/bin/login程序,启动mingetty,进入登录状态
ha和nginx的区别
Nginx优点:
工作在网络7层之上,可针对http应用做一些分流的策略,如针对域名.目录结构,它的正规规则比HAProxy更为强大和灵活,所以,目前为止广泛流行。
Nginx对网络稳定性的依赖非常小,理论上能ping通就能进行负载功能。
Nginx安装与配置比较简单,测试也比较方便,基本能把错误日志打印出来。
可以承担高负载压力且稳定,硬件不差的情况下一般能支撑几万次的并发量,负载度比LVS小。
Nginx可以通过端口检测到服务器内部的故障,如根据服务器处理网页返回的状态码.超时等,并会把返回错误的请求重新提交到另一个节点。
不仅仅是优秀的负载均衡器/反向代理软件,同时也是强大的Web应用服务器。L ...
Mariadb安装与使用
安装 yum install mariadb mariadb-server.x86_64 -y
关闭网络端口 vim /etc/my.cnf
skip-networking=1
netstat -antlpe | grep mysql # 查看Mariadb使用的端口
systemctl restart mariadb
初始化mysql_secure_installation
# 输入新密码 所有都选择yes
使用mysql -u root -p #密码
SHOW DATABASES; #查看存在的库
CREATE DATABASE linux; #新建name库
USE linux; #使用name库
SHOW TABLES; #显示已有表格
CREATE TABLE name ( #有一个空格 username varchar(10) not null, password varchar(30) not null, age varchar(3) ); #新建表格
DESC n ...
Elastic Stack-基础概念
Elastic Stack-基础概念
基础概念
elastic stack = elasticsearch + logstash + kibana + beats
elasticsearch:基于java,是个开源分布式搜索引擎。它的特点是:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源自动搜索负载等。
logstash:基于java,是一个用于收集,分析和存储日志的工具。
kibana:局域node.js。用于汇总,分析和搜索重要数据日志。
beats:是一款采集系统监控数据的代理agent,是在被监控服务器上以客户端形式运行的数据收集器的总称。可以直接把数据发送给elasticsearch或者通过logstash发送给elasticsearch。然后进行后续的数据分析活动。
packetbeat:网络数据包分析
filebeat:用于监控、收集服务器日志文
metricbeat:用于收集各项服务的指标
winlogbeat:用于监控,收集windows系统的日志信息