null微软团队开发环境微软团队开发环境黄雪斌
高级工程师/PMP/MSF Practitioner
微软全球技术中心目录目录微软开发团队的一天
微软团队开发环境
总结目录目录微软开发团队的一天
微软团队开发环境
总结微软开发团队的一天微软开发团队的一天Rainbow团队
程序经理 1
开发组长 1
开发人员 3
测试组长 1
测试人员 3
用户文档 1
UI 1
产品经理 1
共12人null开发人员的一天1开发人员的一天从哪里开始?开发人员的一天从哪里开始?开发人员的一天从哪里开始?开发人员的一天从哪里开始?
答案:开发人员的一天从Daily Build开始
开发人员上班的第一件事儿就是查看Daily Build的结果,担心由于自己昨天的代码Check-in,造成Build Brokennull经历对Build的提心吊胆之后,第一件事做什么?经历对Build的提心吊胆之后,第一件事做什么?经历对Build的提心吊胆
之后,第一件事做什么?经历对Build的提心吊胆
之后,第一件事做什么?
答案:打开Bug管理工具,查看指定给自己的Bug,解决高优先度的Bug。因为质量重于新功能null接下来,开发人员会…接下来,开发人员会…从源代码管理工具中Check out代码
修改代码(解决Bug或实现新功能)
取得源代码管理工具中最新变化,在本机Build和单元测试
请开发组同事作Code Review
Check in代码
在Bug管理工具中修改Bug的状态
开发人员以一封Daily Report结束一天的工作nullnull测试人员的一天2测试人员第一件事做什么?测试人员第一件事做什么?测试人员第一件事做什么?测试人员第一件事做什么?
答案:打开Bug管理工具,查看指定给自己的Bug,验证已解决的Bug接下来,测试人员会…接下来,测试人员会…
从发布服务器上取得当天的Build版本,根据测试用例检验当天的Build
在Bug管理工具中登记新发现的Bug,等待开发人员解决
nullnull下班前,测试人员会…下班前,测试人员会…
发送当天或者一周的Bug报告和测试用例报告
nullnull程序经理的一天3程序经理的工作程序经理的工作主持Bug专家会诊
更新项目的计划、日程表、产品规格书、风险控制列表
发送Status Report
……PM is the communication hub!程序经理的工作程序经理的工作主持Bug专家会诊
更新项目的计划、日程表、产品规格书、风险控制列表
提交Status Reportnull程序经理的工作程序经理的工作主持Bug专家会诊
更新项目的计划、日程表、产品规格书、风险控制列表
提交Status Reportnull目录目录微软开发团队的一天
微软团队开发环境
总结一分钟自测: 每项10分,满分为100一分钟自测: 每项10分,满分为100进行源代码管理以及源代码检入的控制
进行定期的代码审查,分享经验和教训
每个开发人员都进行单元测试
自动进行每日构造,每天可以得到产品最新的版本
进行BVT测试(构造验证测试),在第一时间知道构造版本的质量
有统一的Bug管理工具,定期发送Bug报告
对有争议的Bug进行专家会诊
有统一的测试用例管理工具,定期发送测试用例报告
所有团队成员都可以从团队Portal上获取自己需要的文档,了解项目的状态
为整个项目团队以及开发、测试人员建立各个Email List,便于进行有效沟通回顾:Rainbow团队
是怎样协作的?回顾:Rainbow团队
是怎样协作的?三大
流程
快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计
源代码控制
每日构造
Bug管理
七大服务器
源代码服务器
Bug数据库
构造服务器
发布服务器
电子邮件服务器
团队协作平台
测试用例管理工具
微软团队开发环境之
源代码控制微软团队开发环境之
源代码控制缺少源代码控制工具而引起的问题
最新版本的源代码在谁的机器上?
多人修改一个文件时,有些人的修改被抹掉了
昨天的修改引发了新缺陷,但不知道做了哪些修改
上周五的代码肯定能运行,但没法退回去了
一不小心把有用的GetXYZ()函数删了并存盘了!
目前已经在写3.0的代码了,突然要为1.0版本发布一个1.0a
B客户需要一个定制的产品,而且要随通用版不断更新
昨天我修改了一个文件,但我想不起来为什么要修改了
今天系统出错了,昨天是哪个该死的改了Abc.Cpp文件?
上个月发布给A用户的试用版是用那个版本的源码编译的?源代码控制的基本操作源代码控制的基本操作最常用操作:
Add File(s)
Check-In
Check-Out
Get Latest Version
其他
Roll-Back
Show History
Compare
Label使用WinDiff进行代码审查使用WinDiff进行代码审查只有通过本地单元测试才能Check-in只有通过本地单元测试才能Check-in分支的使用分支的使用微软团队开发环境之每日构造微软团队开发环境之每日构造每日构造解决的问题
客户突然访问/领导临时察看工作
产品偏离客户的期望
项目经理/成员不了解整体进度
测试人员无法编译源代码
模块/子系统集成失败
错误没有及时发现
每日构造的意义
统一的视图
展示最新进展
测试的基础
null@REM --------------------------------------------------------- @REM Build script @REM Author: Jian Shuo Wang @REM Created: 12:04 PM 3/12/2002 @REM Filename: StartBuild.bat @REM Modified: @REM 1.1 SD Label added at 12:04 PM 3/12/2002 @REM 1.2 Fix the bug to delete .css file from release server @REM 1.3 Add version numbers to both DLLs and web page @REM 1.4 Added facade server and moved all webclient @REM to web folder. @REM 1.5 Fixed bug 258 [Build] Build script doesn't provide label description @REM 1.6 Reorged the folder and added WinUI to builds] @REM 1.7 Add build number to all EXEs and DLLs @REM 1.8 Depress prompt by echo D to web.config. @REM --------------------------------------------------------- @SET BuildScriptVersion=1.8 @REM --------------------------------------------------------- @REM Usage: @REM startbuild.bat
@REM is the revision number. In case you need @REM to create a build with revision number other @REM than 0, you can use @REM startbuild.bat 1 @REM to create builds like 2295.1 @REM --------------------------------------------------------- @SET BuildRev=0 @REM --------------------------------------------------------- @REM This script is extended to be used on sha-jswang-02 exclusively @REM --------------------------------------------------------- @REM --------------------------------------------------------- @REM Define variables @REM --------------------------------------------------------- @PATH=c:\program files\Microsoft Visual Studio .NET\Common7\IDE;%PATH%; @SET SCRIPTROOT=C:\WebRaid @SET SDROOT=C:\webraid\workplace @SET SLNROOT=C:\webraid\workplace\src\RAID @SET WEBUIROOT=C:\webraid\workplace\src\RAID\RAID_WEBUI @SET WINUIROOTDEBUG=C:\webraid\workplace\src\RAID\WinUI\bin\Debug @SET WINUIROOTRELEASE=C:\webraid\workplace\src\RAID\WinUI\bin\Release @SET RELEASESERVER=\\sha-calvin\WebRAID\builds\ @SET WINUIROOTRELEASE=C:\webraid\workplace\src\RAID\WinUI\bin\Release @SET BUILDREPORT=%SCRIPTROOT%\BuildReport.txt 每日构造步骤每日构造步骤每日构造步骤每日构造步骤null每日构造与BVT测试每日构造与BVT测试BVT测试是冒烟测试的一种
一般在Build生成后进行的自动测试
微软团队开发环境之
Bug 管理微软团队开发环境之
Bug 管理对每一个Bug进行跟踪,避免遗漏
对产品质量的进展进行有效的跟踪
量化产品的质量和开发团队成员的绩效,便于有效的管理
nullBug收敛点:质量趋向稳定Bug收敛点:质量趋向稳定 零Bug反弹:
产品发布指日可待 零Bug反弹:
产品发布指日可待三大流程的整合三大流程的整合目录目录微软开发团队的一天
微软团队开发环境
总结微软团队开发环境中的要素微软团队开发环境中的要素三大流程
源代码控制
每日构造
Bug管理
七大服务器
源代码服务器
Bug数据库
构造服务器
发布服务器
电子邮件服务器
团队协作平台
测试用例管理工具
其他工具自测回顾自测回顾进行源代码管理以及源代码检入的控制
进行定期的代码审查,分享经验和教训
每个开发人员都进行单元测试
自动进行每日构造,每天可以得到产品最新的版本
进行BVT测试(构造验证测试),在第一时间知道构造版本的质量
有统一的Bug管理工具,定期发送Bug报告
对有争议的Bug进行专家会诊
有统一的测试用例管理工具,定期发送测试用例报告
所有团队成员都可以从团队Portal上获取自己需要的文档,了解项目的状态
为整个项目团队以及开发、测试人员建立各个Email List,便于进行有效沟通搭建团队开发环境的建议搭建团队开发环境的建议Rome Wasn’t Built in a Day
适合的才是最好的
行为养成习惯,习惯形成性格,性格决定命运
行动才有成效!资源资源http://www.microsoft.com/msf
http://msdn.microsoft.com/practices
Team Development with Visual Studio .NET and Visual SourceSafe
http://msdn.microsoft.com/library/?url=/library/en-us/dnbda/html/tdlg_rm.asp?frame=true
Build a Configurable Web-Based Bug Management Tool:
http://msdn.microsoft.com/msdnmag/issues/02/07/ADONETBugTracker/default.aspxQuestionsQuestions黄雪斌
stevhu@microsoft.comnull