Microsoft Bug Management From: Microsoft Cai one. Team Organization 1. Frequently asked Questions no one wants to do a test and feel like they can't afford that many testers. Developers don't follow the rules, and the project manager is free to be hands-on. 2. Microsoft Team Model Responsibilities of each role
Role |
Duty |
Project Manager |
Write functional specifications and coordinate the role relationships |
Product Manager |
Customer contact bridge, conduct demand analysis |
User education |
Make the product easy to use |
Release manager |
Ensure the smooth release of products |
two. Project Management 1. Frequently asked Questions cannot determine the resources (manpower and budget) required for the project cannot determine the project's schedule cannot control the progress and quality of the outsourced project 2. Microsoft Project Management-Multi-milestone process each milestone completes part of the function to enable the team to concentrate on completing one function at a time to provide multiple opportunities to adapt to changes in requirements How to complete a milestone step one: reach a consensus basic completion of requirements research and analysis (product Manager responsible) identify large direction and long and medium term goals all roles are involved in the discussion and really agree with the results of the document: Common User stories: covering more than 80% functions Vision: A concise description of the general direction, and the role of motivating the team step two: Complete the project plan to write detailed functional specifications (project manager is responsible) before programming to understand all the functional processes, and to guide users to clear requirements all roles are involved in the Review function Specification development plan and schedule (development team) Develop a test plan and schedule (Test team) to allocate resources (manpower and budget) to form a project synthesis plan and a consolidated schedule of documents produced by: Functional specification, development plan, test plan (use case), Project synthesis plan Development schedule, test schedule, comprehensive schedule step three: Complete function developers complete their own functions use version control tools to enable programmers to check out and check in timely, avoid accumulating large amounts of code in time for the integration of modules, timely discovery of problems (daily builds) Test each testable feature without waiting to use the test case tool, complete and repetitive testing of functionality using BMS for defect tracking record all program issues automate the process of resolving bugs follow the comprehensive progress schedule Tools to use: Version control tools VSS Defect tracking Tool RAID/BMS test Case management Tools step four: Stability and release test group fully test functionality, including performance and stability development team fully cooperate to resolve bugs use BMS for monitoring quality forecast release date expert consultation mechanism: determining bugs Priorities determine which bugs can wait for the next milestone or version to resolve the decision by whom to resolve a bug Tools to use: Version control tools VSS Defect tracking Tool BMS test Case management tool three. Microsoft's Development management experience: 100% bugs as the core 1. Bugs and common types of functions are not implemented, and specifications inconsistent can not work: panic, no response incompatible boundary condition interface, message, hint not accurate, unfriendly put unfinished work also as a bug document and help information flaw is also a bug 2. Basic functions of Raid/bms Complete Bug Database Central record of entire product group and control powerful query function, effectively track the status of the project all records cannot be deleted, for each record can only always add content rich report function, for product release to provide a judgment standard 3. Valid information in a BUG record
Status owner problem type severity priority modification Time registration time |
Defect source Solution run environmental defect associated attachment attached figure defect Details |
4. The severity of the Bug freezes, data loss, the main functional groups completely lost, suspension of the main function of the system, leading to serious problems, or fatal Error statement secondary function loss, not too serious, such as the tip of the information is not very accurate small problems, the function has little impact, products and properties can still be used. If there is a typo 5. Number of active bugs before the trend code is complete: Little code is complete: growth is fast approaching beta: dropping close to RC: to 0 product quality and milestone signals the total number of new bugs per day compared to fixed bugs Four. Microsoft's Day 1. Let's look at how the day of each character in the project is spent. Development test Project Manager Note: At each stage of the milestone, the work of each role has a different focus, and we take the "completion function" stage as an example Microsoft's Day starts from a few days.
Answer: Midnight why. Because the daily build is the core of all work, it starts automatically in the middle of the night.
Daily Construction Everyday build Do you know the version number of the Windows you're using? The meaning of the daily build: The module can be integrated in time to require the programmer to put the latest code into the code base in time with scripting language and the Compile/link tool to implement BVT build verification test to verify the builds Blocking bugs that build cannot complete Problems found in the BVT of problems 2. Programmers are most worried about before they go to work every day. Answer: Because of your own yesterday's code check-in, causing blocking bugs. why. Because a daily build is the basis for everyone's work today: Programmers need build to validate interfaces with other modules Test requires build to discover new bugs and verify resolved bugs in New build
what to do with blocking bugs. Solve the problem and play patch on today's build.
the business of the developer After the fear of build and the clock, the first thing to do Answer: Open the defect tracking tool, see the bugs assigned to you, and solve high priority bugs. Because quality is more important than new features. Next, the developer will ... Check out code from the version control tool Modify code (fix bugs or implement new features) Get the latest changes in the version tool, both in native build and unit tests Ask the development team colleague to make code Review Check in code
3. What the tester does first thing. Answer: Open Raid/bms, view the bug assigned to you, and verify the resolved bug. Next, the tester will ... Verify that today's build records newly discovered bugs in Raid/bms based on test cases 4. Expert Consultation participants: the project manager and the development team leader, the test leader, evaluate each unresolved bug by Raid/bms to determine whether the bug priority can wait until the next milestone or version is resolved. Who will solve the forecast project actual progress and release time Defect Trend Chart 5. Looking back at Microsoft's one-day architecture: daily Build development: Addressing blocking bugs, implementing functionality, Check-out, code review, check-in testing: BVT, testing with test Cases Project Manager/team leader: Expert Consultation 6. Microsoft's approach solves those common problems. Issues that have been resolved before quality issues are published again and need to be reworked to make it premature to publish, to bring quality and maintenance issues to the test, and to be forgotten or dismissed. It is not possible to measure problems in the work procedures of testers and developers. Document Management issues The document is disconnected from the program, the document becomes the description of the program result the project team sees the document as a burden Team Coordination Issues the developers are fighting each other, when consolidating, it is found that serious problems in the interface of modules need to make big changes without keeping the company's previous versions and code in line with the user's changes to the old version. It's a huge impact on the project that no one knows where the code is or can't read it. Five. Steps to improve software management 1. Use Raid/bms to automate process management 2. Use test Case management tools 3. Using Document management Tools 4. Use the version Control tool for the daily build 5. Establish Code standards 6. Establish the Code review mechanism 7. Establishment of Expert consultation mechanisms 8. Establish a team communication mechanism 9. Adjust team structure as needed |