新项目要上线了,各种很忙的说,然后最近要写一个测试的内容方案(不是方法跟用什么测试),刚好有要做微信推送部分,就把这个写一下,也给那些做产品的同僚们简单介绍下网站环境上线都需要测什么。

首先,网站在开发完成以后,黑白盒测试就不用多说了吧?这是必须的,每个技术总监甚至程序员都会去测试的东西。包含什么呢?简单的说有以下几点:

  1. 功能是否都能完整实现
  2. 页面兼容性测试以及页面优化(优化说的是有没有需求需要伪静态、URL是不是重写等等这个看企业需求)
  3. JS脚本、数据库脚本注入测试
  4. post、get请求数据优化 (这个至于是不是要加密看企业需求)
  5. 页面执行效率测试

然后,我们聊聊服务器环境吧。很久以前各大私服还在猖獗的时候大家最头疼的问题是被攻击,攻击这个是不可避免的,攻击类型也是层次不穷,我回忆了一下以前都被怎么攻击(gan)过。 SYN、CC、Ddos、UDP 潮水等等。这个是针对服务器IP的。那我们的网站在最初的服务器部署上肯定是需要测试这些的抗压能力的。机房有没有硬防这个就另外说了,其实有没有墙机房都会给你拔线的。或者就让你死着了。 说说这些怎么测试跟解决方案吧

  1. 面对大流量攻击,没有更好的解决方案;可以用镜像部署或者主从式之类的很多方法来启动备用地址
  2. 并发数以及频繁请求这个可以在防火墙策略跟服务器策略做设置。测试方法可以自己写脚本或者机器狗
  3. 内存泄露是必须要测试的,一般会有测试环境,比如用WAS之类的软件进行测试
  4. 服务器端口扫描; 如果有人频繁的链接你的IP或者扫描你的端口,那你可以尝试只开启用的到的,或者映射端口到外部设备,内部设备不暴露出去,之间通信保持内网
  5. ARP 攻击是内网的一个挺恶心的东西,服务器安全这点不能忽略了

大概意思呢就是,一些请求性质的攻击可以用策略来做简单防御,但是碰到流量攻击就必须需要有备用访问地址。测试可以用脚本或者机器狗疯狂请求刷新,每秒数据逐步增加看服务器能承受到什么基数。之后看看还有哪些是可以优化的,哪些是需要屏蔽的。基本上网站测试的东西简单的就这么多,过于复杂的平时也用不上,所以没必要去测试,想起来分库分表的问题,不过没有亿万条数据量常规数据库架构是可以承受的。太大的数据需要架构师来分数据库与表。