20170806工作分享

作者: 小王www | 来源:发表于2017-08-06 14:37 被阅读18次

    (1)post:以表单(webform)形式提交参数,相对安全,可提交的数据参数会比较大;
    (2)get:以URL中的参数形式提交,相对不安全,提交的参数有限制(地址栏承受数据大小有限);

    1. 接口:

    利用接口划分服务端及客户端
    • 1.1. 利用数据分层,先定位服务端service或者前端的问题
    • 1.2. 短链接可用,postman,fiddler等工具来分析(熟悉项目架构,了解是调用什么项目,是部署的调用出错,还是模块功能出错)(吕昕颖已经详细分享,可以学习)
    • 1.3. 长链接用protobuf封装为二进制,可用接口的单元测试代码来检查(缺点是要编译运行),网上也有wireshark的poto插件,可配置)

    补充:如果可以找开发拿到单元测试的代码,完全可以拼到自动化接口测试框架中去,回归测试很方便,再也不用找开发测接口了,protobuf封装的数据也可以自己测试啦。

    我这里用的testng:

    TestNG的特点
    -注解
    -TestNG使用Java和面向对象的功能
    -支持综合类测试(例如,默认情况下,不用创建一个新的测试每个测试方法的类的实例)
    -独立的编译时测试代码和运行时配置/数据信息
    -灵活的运行时配置
    -主要介绍“测试组”。当编译测试,只要要求TestNG运行所有的“前端”的测试,或“快”,“慢”,“数据库”等
    -支持依赖测试方法,并行测试,负载测试,局部故障
    -灵活的插件API
    -支持多线程测试
    TestNG(Next Generation)是一个测试框架,它受到JUnit和NUnit的启发,而引入了许多新的创新功能,如依赖测试,分组概念,使测试更强大,更容易做到。 它旨在涵盖所有类别的测试:单元,功能,端到端,集成等…

    注解

    可视化结果非常方便查看通过和失败的test case,以及失败原因:

    在项目路径下生成可视化网页结果.png 2passed.png 1passed_1failed.png

    可以检查结果,并利用错误信息定位到测试代码的位置,排除是否是环境问题、测试代码问题。

    功能很强大,以后可以再深入研究。

    2. 日志:

    • 2.1服务器日志
      检查端口 netstat -ntlp

    内存使用率超高时,定位线程
    参考检查tomcat占用内存过高的线程,随笔:http://www.jianshu.com/p/8a0a69ac69f0

    内存爆表.png jstack pid查看堆栈错误信息,定位问题代码 jstack 打印堆栈30行信息
    • 2.2项目日志

    沟通日志定义方式,查看请求、返回的code,以及error log的堆栈错误
    可参考查询卸载项目时打印的项目log查询:http://www.jianshu.com/p/3dcfbb5d75c1

    • 2.3数据库日志

    缺少示例,待去公司补充慢查询等log

    3. 数据库:

    • 3.1. 需要项目提供详细的数据库设计文档;
    • 3.2. 生产环境中测试时多接触数据,客户端操作+数据检查,可以更直观检验数据正确性。

    4. 对迭代模块或者项目更新的敏感性

    多跟开发和运维聊聊,有什么改动提前准备。

    • eg.1.数据库增加读写分离,(虽然是开发要考虑的事情,但是如果有数据问题,就要考虑是否有考虑不周),要提前沟通读写分离有什么影响,测试主从数据库的读写,比如遇到过的主从同步的时间没考虑到,所以有插入数据库到主库后,立即查询时,从库未同步,所以没查到数据,给用户提示了插入失败,而实际已经写入数据库了。
    • eg.2.增加负载均衡服务器,就要考虑用户分流后的在线使用是否正常,以及项目间转发消息之类的测试。

    相关文章

      网友评论

        本文标题:20170806工作分享

        本文链接:https://www.haomeiwen.com/subject/gifrlxtx.html