架构|吴涛:互联网产品研发流程概论(下)( 三 )


每个版本都包括若干需求点,因此自然就明确了测试范畴,这样测试范围就不会无限制蔓延,可以让产品节奏非常明确,形成快速迭代和敏捷开发的研发风格。
版本落地到代码管理层面上,关键就是代码管理系统(一般都选用Git)中的Trunk版本。首先项目经理需要在Git中创建Trunk版本,并为每个研发人员创建分支版本。研发人员在分支版本中测试没有问题的版本代码,将由架构师或项目经理合并到Trunk版本中,这个版本经过编译后进行功能和系统测试,没问题后再同步到运维发布系统中发布。
7、开发阶段(1)开发测试环境准备主要是部署Web、APP开发测试环境,以及部署需求管理系统、代码管理系统Git等。
架构|吴涛:互联网产品研发流程概论(下)
文章插图
QQ游戏大厅研发环境搭建计划
(2)开发设计文档开发工程师拿到架构师设计文档后,就可以将自己负责的部分拆分出来,然后提前对这部分的开发细节进行补充和完善,形成开发设计文档。开发设计文档主要用来提高软件开发效率,保证软件质量,并有利于后续产品客服文档的编写,也非常有利于后续的研发迭代和代码维护工作。
前端开发、APP客户端开发、后台开发完善的内容和细节各不相同,但是内容主要集中在开发环境、开发语言、使用框架、对象属性方法、接口封装、数据结构设计、界面开发、编译发布等方面。
(3)前端开发前端开发工程师通过使用JavaScript来编写和封装具有良好性能的前端交互组件,并通过CSS+XHTML输出Web操作界面。前端工程师经常不仅要考虑前端实现,很多时候也需要了解后台研发,从而能不断优化前端代码分层架构,让Web产品的稳定性和可用性不断提升。
(4)APP客户端开发App客户端开发主要是指IOS、Android、微信小程序的开发。
IOS开发推荐使用Xcode,需要运行在Mac OS上;Android开发推荐使用Eclipse;微信小程序开发需要使用微信开发者工具。
(5)后台开发后台开发主要是指的服务器端的程序开发,包括Web后台开发、组件开发两类。两者之间其实本质上一体的,web后台可以看作是组件的前端。Web后台解析了HTTP请求,然后通过层层转发给了后面分布式系统的多个组件并调用服务。
因为互联网公司的server一般都是Linux,因此还会涉及到Shell脚本编写、Linux环境编程等内容,需要熟悉Linux/Unix下各种环境编程的API。
(6)开发工程师自测开发工程师可以一边研发一边自测,完成所负责功能模块的开发后再进行完整功能模块的自测。
开发自测和测试的重点不一样,是为了减少不必要成本,而不是要替代测试工程师的工作。因为代码是开发自己写的,自测可以发现的问题,就完全没必要让测试工程师去发现。而且发现问题马上就可以自己修改自己验证,减少了沟通和返工成本。
8、测试阶段从需求详情文档经过评审,测试工作就开始了。
(1)测试用例测试经理组织测试工程师,根据需求详情文档撰写测试用例。
测试用例是软件测试质量稳定的保障,用于指导测试的实施、规划测试数据、设计测试脚本、评估测试结果、分析缺陷标准等。测试用例一般都详细记录测试工程师应该有的操作信息,这样可以帮助测试工程师参与测试。
测试用例文档一般包括修订记录、测试用例、测试数据等内容。测试用例可以直接在项目管理系统TAPD中批量创建。TAPD可以快速编写并管理测试用例,制定测试计划并执行,然后利用Bug跟踪管理进行问题跟踪与解决。
架构|吴涛:互联网产品研发流程概论(下)
文章插图