如果还想在测试这条路上继续走下去的话,那么下面这些东西就是我们必须去掌握的,至少你还不想止步于简单的黑盒测试~~其实,一直想去接触Linux下的应用测试,这样能学到东西会很多,而且会非常的受用。之前听小布老师讲,如果你想在IT技术上长期发展下去,那么你就大胆拥抱Linux吧,因为在这里你能学到东西远胜过于你在Windows平台下学到的东西,而其中最经典的一段话就是:如果你一直跟随微软的技术,那么终究会被拖死,因为微软的技术一直在变化,而你却需要不断的去学习他的东西。而Linux不一样,它更多的是让你去理解底层的技术,让你从原理上去理解技术的核心,永远以不变应万变的姿态去面对未来的技术革新。
我想作为一个测试人员,如果你确实还没接触过网络、数据通信方面的技术,那么咱们的路还很长,至少我认为软件测试并非只停留在上层的应用,而测试的最高境界应该是对底层核心技术的测试,通过架构分析、协议数据包分析等等来测试出结果~~~所以我们应该掌握的技术有:TCP/IP、Socket、多线程,这些是必须的。
1、先来看看TCP/IP的体系结构,如下图:
TCP/IP协议实际上就是在物理网上的一组完整的网络协议。其中TCP是提供传输层服务,而IP则是提供网络层服务。下面是各个层的协议说明:
IP: 网间协议(Internet Protocol) 负责主机间数据的路由和网络上数据的存储。同时为ICMP,TCP,UDP提供分组发送服务。用户进程通常不需要涉及这一层。
ARP: 地址解析协议(Address Resolution Protocol)
此协议将网络地址映射到硬件地址。
RARP: 反向地址解析协议(Reverse Address Resolution Protocol)
此协议将硬件地址映射到网络地址
ICMP: 网间报文控制协议(Internet Control Message Protocol)
此协议处理信关和主机的差错和传送控制。
TCP: 传送控制协议(Transmission Control Protocol)