这类服务一般都是通过HTTP接口的方式提供给刚才讲的WEB/APP的后端使用,所以,第一个要做的也就是接口测试,也就是用Postman等工具做手工测试、用TestNG+HttpClient或者Python的Nose框架做自动化测试。
不过,对于这类后端服务来说,接口只是暴露给外用的部分,内部逻辑通常是非常复杂的,所以,除了针对接口做测试之外,测试人员还需要细致地了解这些服务端产品的技术框架及技术实现,需要了解到模块的级别,对于系统框架图、时序图等都有很好的理解。针对这些理解去设计用例,再跟开发一起讨论如何实现用例。
如果这种基础服务用了某一个开源软件,那通常也需要测试人员能关注社区的进展,并把我们发现的Bug及解决方案等推到社区,为社区做贡献。
除了接口测试之外,在我们公司,异常测试、稳定性测试、性能测试也是服务端测试必备的测试类型。
异常测试会模拟各种异常情况,比如硬件异常-机器挂掉的情况下能否启动备机、硬盘挂掉的情况下是否会丢失数据;网络异常-网络忽然断掉、或者网络流量变小的情况;系统异常-操作系统忽然挂掉的情况。这些极端的情况出现的时候,我们需要验证数据有没有丢、能不能尽快启动备机对外提供服务、系统状态有没有异常等。我们会采用各种方式或者工具来模拟这些异常,比如用TrafficControl工具来控制网络流量。
稳定性测试,就是模拟系统在7*24的运行下会不会出问题,一般会用接口测试或者性能测试用例不断地跑,在运行期间,我们会模拟各种情况,比如说负载的变化、系统的各种干扰等。可以用ChaosMonkey等工具来进行这类测试。
性能测试,其实细分起来会有各种类型,比如负载测试、压力测试、配置测试、甚至还有线上压测、容量规划等。最常规的性能测试,一般是先规定一个系统需要承受的压力,比如说,某一个系统,1个小时之内会有1W单的单子,那基于这个需求我们分析服务器后端需要承受的压力,分析出来以后,就写性能测试脚本,然后逐渐增加压测的力度,直到超过这个预定的压力。通常在这个测试过程中会发现各种问题,比如数据库索引没有建、线程池太小、系统异常等。需要解决了之后再加大压力测试。也是用Grinder/JMeter等工具来进行性能测试,不过难的不是这些工具的使用,而是发现问题以后的定位。
对于这种后端服务的测试人员来说,技术上的要求是挺高的,需要有较好的编程能力,需要对数据库、操作系统等机制有很好的了解才行。
选择一个服务器和线路最基本的三要素,无非就是线路,硬件、运维商,只要这三个要素满足。第一: 线路的选择
只要是做互联网的人都知道南方电信、北方联通,除了电信、联通这两大商家之外,还有就是最近几年提供免费宽带上网的移动公司。建议大家在选择线路的时候根据自己的地区来进行选择线路。比如您是做本地地区为主的网站、社区等,建议选择靠近本地地区的机房。如果是针对全国地区,可以考虑双线双IP或者三线三IP;
第二:服务器的选配
我们该如何选配一个服务器的配置呢?其实很简单,首先根据自己的网站程序以及访问量进行服务器的选配;比如您的网站只是一个博客,日流量只有几十到几百个,像这样的网站我们只需要一个空间或者一台四核、2G的云服务器即可满足条件,如果我们的网站是一个企业网站甚至一个大型的社区论坛等,那我们就需要谨慎选择一台企业服务器进行使用了。列如:一个社区网站论坛,日流量为500-1000.那正常的网站PV是1:3也就是1500-3000的PV(也就是浏览的页面),按照这样的访问量,我们应该选择一台16核CPU+16G内存+1个固态硬盘的机子使用,带宽应该选择在10-20M独享之间,基本可以满足日常访问。
第三:如何选择运维商
在互联网中大大小小的运维商数不其数,那我们需要找到一家好的运维商。那我们该如何选择呢?首先我们需要查看这家运行商公司经营的时间有多长,其次我们可以加下运维商的联系方式,比如QQ、微信等,在不定期和不定时的找下业务员,咨询一些你想知道的问题,哪怕是空聊天也好。为什么这样说?因为这样可以看得出这家的业务员或者技术员是否长期在线和是否能及时为你处理售后问题。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)