美文网首页
持续集成开发总结报告

持续集成开发总结报告

作者: C3_b262 | 来源:发表于2018-10-20 17:44 被阅读0次

本文章主要总结本此课程大作业(“持续集成开发”微信抢票应用)的经验。
主要分为以下及部分:
1.个人分工
2.开发环境配置经验
3.代码实现教训
4.写各种测试的感受
5.个人总结

1.个人分工

在本此开发实践中我主要负责下面模块:

  • 管理员用户的部分api接口(7个接口)的实现及自动测试
  • 程序压力测试

下面是开发过程中撰写的一些博客。
微信公众平台测试接口号部署
Django单元测试
JMeter安装及使用

2.开发环境配置经验

我觉得开发过程中,配置好每个成员的开发环境是非常重要的。
我们本此实验可用的环境资源有:

  • 腾讯云服务器(ubuntu16.04):需要配置MySQL、Nginx等环境。
  • Git私有库:需要配置Travis。
  • PyCharm专业版:需要配置与服务器的远程同步。

流程

我们首先给服务器配置了Anaconda,给每个人建立了账户,这样就可以各自跑自己的代码了。然后配置好了PyCharm与服务器的同步。
下面重要的是Travis的部署,我们组的一个同学在前期专门负责配置Travis,事实证明,配置好Travis的配置对于后来的开发是非常重要的。保证了每一步的测试正确性。

踩坑

环境配置过程中总共踩坑两次,一个是Travis配置,因为Travis是有自己的服务器环境的,所以在测试的时候,不能简单的用python的requests发送请求,而是应该使用Client类来实现。
二是MySQL的配置,最开始的时候我们使用的是默认配置,最后一天晚上发现字符编码报错,然后又改了数据库的默认设置。

感受

  • 开始阶段开发环境的统一、规范是非常有必要的
  • 需要提前调研开发技术,在环境配置阶段提前避坑

3.代码实现教训

我主要负责的是api接口的实现的测试(以及踩坑=_=)。

流程

其实就是按顺序看:实验文档、Django官方文档、服务器数据库、前端post代码。

踩坑

数据库中实际key名称、Django中models以及前后端接口之间不同导致编写代码出现奇怪的问题。
实际上,这使对于基础框架研究不深刻导致的。小组里面也有同学因为变量和前端代码不一致,后面导致有我们一起debug。

教训

  • 提前研究清楚框架,比如变量命名规范以及各个函数接口的响应等。
  • 不是很适应别人写的代码,总是想着帮他看看实现得怎么样,导致浪费时间。

4.写各种测试的感受

实际开发过程才发现TEST真的非常重要,大大缩减了验证代码效果的时间。
另外,我们组有位同学负责代码覆盖率的测试,我第一次测试完是79%,本来以为写的很全面的测试,最后发现确实很多情况没有想到。最后跟着测试覆盖率的标志,完善了测试。

压力测试测出了bug

加锁的问题一直没有想好怎么测试,Django的框架对于多线程的支持确实很差,所以我们主要通过压力测试来测,第一次测试就发现handler的加锁出了问题(吓出一身冷汗)。

感受

  • 写代码测试是个很负责任的体现,我们小组的每次merge和push都是基于Travis的,所以每次merge都比较顺利,有了问题也比较容易解决。

5.个人总结

团队开发

第一次感觉的团队开发的重要性,之前的组队大作业每个人的合作也仅仅在于很机械的分块。这此开发实践,体会到了小组成员各自分工合作的“舒适感”。最重要的是比较注重规范,所以我们的进度比较平稳、分工也很明确。


Snipaste_2018-10-20_17-43-36.png

相关文章

  • 持续集成开发总结报告

    本文章主要总结本此课程大作业(“持续集成开发”微信抢票应用)的经验。主要分为以下及部分:1.个人分工2.开发环境配...

  • Gitlab CI部署 & 业务中的应用

    一、持续集成(Continuous Integration) 持续集成是一种软件开发实践,即团队开发成员经常集成他...

  • 持续集成、持续交付与持续部署

    持续集成CI(Continuous Integration):持续集成是一种软件开发实践,即团队开发成员经常集成他...

  • iOS可持续集成:Jenkins + fastlane + 蒲公

    说到持续集成,那么很多人就会问,什么是可持续集成?可持续集成可以为我们开发者做什么? 持续集成是一种软件开发实践:...

  • 持续集成之Jenkins初探

    1.持续集成 1.1持续集成的定义 持续集成是一种软件开发实践,即团队开发成员经常集成它们的工作,通过每个成员每天...

  • 高效研发之——工具篇(4):Jenkins

    持续集成 关于持续集成 持续集成(简称CI, Continuous integration)是一种软件开发实践,是...

  • 业界免费的持续集成工具

    一、持续集成 持续集成简,称 CI(continuous integration),是一种软件开发实践,即团队开发...

  • CI/CD/CD

    CI 持续集成CONTINUOUS INTEGRATION持续集成的环境中,开发人员会频繁提交代码到主干。持续集成...

  • 持续集成

    持续集成(Continuous Integration),也就是我们经常说的CI。持续集成是一种软件开发实践,开发...

  • docker+jenkins+SVN自动构建部署Maven项目

    什么是持续集成? 1.Continuous integration(CI) 持续集成是一种软件开发实践,即团队开发...

网友评论

      本文标题:持续集成开发总结报告

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