美文网首页
持续集成实验总结

持续集成实验总结

作者: yyyyyy96 | 来源:发表于2018-10-20 21:40 被阅读0次

    熟悉框架

    本次实验我主要负责利用django框架完成微信消息的收发及部分前后端API,前期的难点在于理解整个框架的路由转发是怎么实现的。一开始不太理解微信图文链接的url是怎么关联上需要实现的/api/a/*等API的(也就不太清楚其他url需要怎么书写),在一些封装类的路由转发、前端js文件的调用逻辑、甚至静态文件的路径上卡了很久。

    代码实现

    清楚了整个项目的逻辑之后,代码实现倒是很迅速。

    各个handler的handle方法逻辑都比较清楚,只有抢票业务的逻辑稍微复杂一点,但也遇见了诸如活动余票出现-1张这种愚蠢的bug。所以说做什么都不能离开测试emmmm。性能测试之前,数据库没有加锁,由于并发量不高,四个同学一起手动测试,读写结果也正常。后期利用Jmeter测试后发现,出现了1000个请求均返回“抢票成功”,但活动余票只少了700张的情况,(遂马上求助江老板帮忙加锁,在活动余票更新前都要锁定Activity对象,避免脏数据。

    另外,自己的代码风格可读性、可维护性都不好,希望以后多学习、借鉴他人的优秀风格,争取不给队友增加额外负担(十万个抱歉

    自动化测试

    模拟微信服务器发送POST请求实现自动测试。难点在于POST发送的文本类型为'text/xml/',并遵从特定XML数据包格式,利用django的TestCase测试时,本想直接复制小伙伴的测试模板,但发现行不通,前后端API的POST请求均为multipart/form-data,xml格式不能直接使用函数的默认参数发送POST请求。然后就开始一点点探索正确的调用格式,调试过程中还顺便了解了一下django自己的WSGIRequest对象,最后得到的结论是Pycharm的调试功能真是太强大了,一直有VScode的小菜鸡爱上了(跑偏了。

    性能测试

    利用Jmeter进行性能测试。测试之前的需要先用脚本注册足够多的已绑定学号的用户。外部脚本引入django的model对象需要配置django的运行环境。然后就可以愉快的用Jmeter进行并发测试辣。另外,Jmeter可以从CSV文件中导入变量作为请求参数,十分友好。


    相关文章

      网友评论

          本文标题:持续集成实验总结

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