发表于: 2017-12-05 23:04:50

1 626



今天完成的事情:

1. 敏捷开发live的整理完成

2. 听老大的讲课--程序员除了技术外还需要哪些技能

3.简单的任务总结完成


明天计划的事情

1. 任务深度思考(50%)


遇到的问题:



收获:

1. 敏捷开发(完)

接口文档:
接口文档完成后,后端提假数据。
   当拿到需求后,第一步先把开发环境部署好,当天的代码提交到svn/git上(不能是错误代码),部署成功,能为第二天晨会dome作演示

没有做好的功能不要提交


假数据的意义
  •         在于提前进入集成测试
  •         保证传参,后端能收入,能有正常的返回结果
  •         没有逻辑/业务过程
  •         简单方法为,在JSP上直接写结果
当后端提供不了假数据的时候,这时就有了风险

接口文档谁写:前后端一起


看见需求和页面后,能当场知道接口怎么设计,原则
  •     页面是1个还是2个接口
  •     接口能不能复用
  •     尽量接口和页面没有太大关联,接口依据模块来,性能没有影响的时候复用性优先
  •     循环和嵌套,用list还是map
  •     传输的数据尽可能的少
  •     所有的接口同时出来

task:
    由story拆解出来可以预估时间的以一个小环节,帮助分析和理解需求,明确时间(2-4h),一个task不要超过半天

    task拆解细致,具体怎么做,做到那个环节,什么地步


晨会: 
  1.      昨天做了什么(那些story),内部讨论完成了那些task,但结论是以story为单位的(未开始/进行中/已完成)
  2.      今天要做什么(内部信息),要做什么接口
  3.      出现问题记录下来,问题指对当期项目进度风险的,会影响项目dome,会延期的。要有解决方案,如果没写上要单独开会,讨论怎么解决
  4.      当前的项目有没有延期的结论,燃尽图来预计
  5.      从一个决策者的角度看项目完成进度
  6.      15分钟左右,9点半之前开完 , 不能讨论问题,有问题时候在晨会上确定商讨的时间和人员
  7.      只有开发人员参加
  8.      晨会演示前一天完成的东西,所谓完成就是已经上传到svn,部署服务器上可以运行的东西

禅道:
  1.       当一个task超时的时候,修改预估时间和消耗时间以及剩余时间
晨报:
  1.     晨会的结论,发送全体(公司不大),发送研发部/项目相关(公司大)
  2.     结论1:story完成几个,进行中几个,未开始几个,明天开始的stroy几个
  3.     结论2: 开发环境地址,有app/ios,加上可下载链接/二维码,当前项目可访问可运行的地址
  4.     结论3: dome延期风险,第几次延期,延期天数,原因,解决方案
  5.     结论4: 禅道、燃尽图地址

延期风险:
  1.       没有做过的技术
  2.       突发情况,解决不了错误
  3.       需求理解错误
  4.       需求变更

端到端测试:
  1.      搭建本地环境(模拟服务器环境)
  2.      解决端到端问题,在本地和测试环境
  3.      一个正常用户的操作,端到端测试


code review

  1.      找另外一个工程师,检查代码
  2.      代码是否符合规范
  3.      代码是否有风险,逻辑错误
  4.      实现的方案是否和方案评审的是否一样
  5.      结论只有过河不过,过了才能DOME
  6.      如果代码有问题,当场改
  7.      保证代码构架稳,代码逻辑没有问题

性能测试:
  1.      接口复杂的不超过200ms,简单的超过50ms
  2.      慢查询是什么接口,能不能做优化
  3.      统计各个层级时间,接口时间
  4.      结论:发送一个性能测试报告,慢查询接口排序列出来,和详细时间,能不能满足需求,支持多少并发,TPS


DOME:

  1.       选好有谁来主持dome
  2.       只要有肉眼发现的问题,是不能过的
  3.      dome完成后不需要改动代码,可以打tag
  4.      结论:
  •          不通过,不通过问题是什么,下次dome时间
  •          通过,预计测试时间,上线时间

UI自测表(前端):
  1.      颜色是否一致,间距是否一致,动画是否做完
  2.      响应式做的怎样,等等
  
打包和部署:
  1.        dome前 , 打TAG
  2.        发布环境,发布TAG版本,打完TAG后才可打包
  3.        测试环境运行一天发布一次(只有两种情况发布:)
  •        新的迭代(禅道地址)
  •        修改原本的BUG(BUG地址)
  1.        发布步骤是可执行的脚本
测试阶段:
bug级别
严重程度由高到低依次为:
  1. critical
  2. block
  3. major
  4. normal
  5. minor
critical:是说项目中某一块功能因为这个bug而导致测试无法进行下去,此critical级别,该等级问题出现在不影响其他功能测试的情况下可以继续该版本试
block: 是说项目中有闪退情况,崩溃情况。此为block级别,出现这种级别的问题此本停止测试
major:是说一些功能没有实现,但是不影响使用,功能菜单缺失,但不会影响系统稳定。此为major,这种问题应该合理安排时间进行修改
normal:是说界面等UI问题显示错误,比如字体大小,颜色,间距等问题。此类问题在测试初期较多,优先程度较低;在测试后期出现较少,应及时处理)
minor:是说界面、性能缺陷,建议类问题,不影响操作功能的执行,可以优化性能的方案等。
    
major以上BUG必须立即修复

critical和block在线上立即修复的,major停下现在手中的项目,优先修复。normal,minor可以在下个版本迭代跟新中修复


bug有修复时间和流程
流程:
  1.      测试人员提出BUG
  2.      BUG交给研发组leader
  3.      leader交给相应的开发人员
  4.      开发人员确定BUG是否属于自己负责的story
  5.      BUG提出之后,必须在2个小时内做出响应, 接受BUG,不是自己的就及时转出
  6.      BUG完成后打TAG,发布测试环境,表明BUG解决,没有解决重新走流程。



发布日志:

   发布步骤不应是链接,而是1,2,3.。。具体的步骤
   发布状态/运维验证/开发验证:确切时间,确认名字

   测试阶段预估上线时间



   怎么进行多团队开发管理
   一般团队(3周一个版本):
  1.          产品2-3周产品设计,开发人员2-3周开发,1周测试
  2.          能做到产品设计完后紧跟开发,开发中产品开始下一个版本的迭代
  多团队(1到2周发一个版本):
  1.        把项目尽量拆成互不相关的模块(关键),例如3个,时间把控的好,一周一次
  2.        团队拆分成小的一般团队(关键
  发布分为两种:
  1.       正常发布(排期)(周2-周4) 
  2.       紧急bug修复发布,记录详细信息,例如:修改那些内容,修改那些点等等。
  BUG和新模块开发的冲突
  1.       当开发第二期,发现了第一期BUG有,有个原则:
  •         normal以下的BUG最多3-5个以内
  •         major和以上的BUG一个没有
  •         当出现major和以上的BUG,停下现在手中的项目,优先修复
    •                从当前测试环境拉出一个版本/分支,在分支上修改
    •                完成后验证完后发布测试环境,验证通过后,合并到主干(trunk
  •         为normal可以带上,但一定要补上。
 普通团队按敏捷开发多长时间变成精英团队:
  1.    3个月,见到效果
  2.    6个月,正常运转
  3.   1年,价值才能体现



2 .简单的任务总结

Task1

数据库表结构设计,使用相关工具navicat

Sql语句和索引的使用。

MAVEN和IDEA的使用

JDBC、Mybatis和数据库连接池c3p0/durid 使用,junit、log4j

开发者模式/ Debug模式、try/cache 捕获异常

Spring 框架、Linux的环境部署

Task2

创建WEB项目,WEB项目的三层构架(DAO,Service,controller)

url用restful风格来定义接口

springMVC

WEB容器resion、tomcat、jetty

接口测试POSTman、svn的使用

JsonTagLib使用JSON

HTTP三次握手、四次挥手

Task3

Shell脚本

Nginx,性能的统计

一些linux 的命令,和linux 环境部署,本地host

Task4

把静态数据换为动态

Tiles、Tag标签、JSP、C标签、el表达式

Task5

DES,MD5(加盐),Token , session/ cookies免登录

拦截器拦截url ,过滤器过滤敏感字符、监听器查看当前在线人数

Task6

JMeter性能测试(TPS,90%line ,并发量)

Memcache或redies,数据的序列化

Nginx 负载均衡

缓存穿透

Task7

第三方API:邮箱/手机号验证,图片上传迁移

短信通道的防攻击策略,邮箱的防攻击策略,缩略图,防盗链

Task8

分布式—rmi ,dubbo和zookeeper

Service的负载均衡

SCA ,web和serviec分离,打包jar

Task9

Tuscany-spring-rmi (指定rmi的接口)

分离为core – service - web



进度: 

       

禅道:http://task.ptteng.com/zentao/project-task-264.htm








返回列表 返回列表
评论

    分享到