How We Test Software At Microsoft一書已到手
昨天終於收到這本書, 真的是不容易啊, 已經等了半年以上, 它終於出版了. 翻了一下內容, 感覺上是蠻有期待性的. 我想公司的QA Manager下次可以一起來研讀這本書.
這裡我在把目錄的內容列的更詳細些, 讓大家可以更了解他要講的東西是什麼.
Part I, “About Microsoft”
Chapter 1, “Software Engineering at Microsoft,”
- The Micorsoft Vision, Values and Why We "Love This Company!"
- Microsoft Is a Bug Software Engineering Company
- Developing Big and Efficient Business
- Working Small in a Big Company
- Employing Manay Types of Engineers
- Being a Global Software Development Company
Chapter 2, “Software Test Engineers at Microsoft”
- What's in a Name?
- Testers at Microsoft Have Not Always Been SDETs
- I Need More Testers and I Need Them Now!
* Campus Recruiting
* Industry Recruiting
- Learning How to Be a Microsoft SDET
- The Engineering Career at Microsoft
- Career Paths in the Test Discipline
* The Test Architect
* The IC Tester
* Becoming a Manager is Not a Promotion
* Test Managers
Chapter 3, “Engineering Life Cycles”
- Software Engineering at Microsoft
* Traditional Software Engineering Models
* Milestones
* Agile at Microsoft
* Putting It All Together
- Process Improvement
* Formal Process Improvemenet Systems at Microsoft
- Shipping Software from the War Room
* Mandatory Practices
Part II, “About Testing”
Chapter 4, “A Practical Approach to Test Case Design”
- Practicing Good Software Design and Test Design
- Using Test Patterns
- Estimating Test Time
- Starting with Testing
- Thinking About Testability
- Testing the Good and the Bad
- Other Factors to Consider in Test Case Design
* Black Box, White Box, and Gray Test
- Exploratory Testing at Microsoft
Chapter 5, “Functional Testing Techniques”
- The Need for Functional Testing
- Equivalence Class Partitioning
- Boundary Value Analysis
- Combinatorial Analysis
Chapter 6, “Structural Testing Techniques”
- Block Testing
- Decision Testing
- Condition Testing
- Basis Path Testing
Chapter 7, “Analyzing Risk with Code Complexity”
- Risky Business
- A Complex Problem
* Counting Lines of Code
- Measuring Cyclomatic Complexity
* Halstead Metrics
* Object Oriented Metrics
* High Cyclomatic Complexity Doesn't Necessarily Mean "Buggy"
- Want to do with Complexity Metrics
Chapter 8, “Model-Based Testing”
- Modelng Basics
- Testing with Models
* Design a Model
* Modeling Software
* Building a Finite State Model
* Automating Models
- Modeling Without Testing
* Bayesian Graphical Modeling
* Petri Nets
- Model-based Testing Tools at Microsoft
* Spec Explorer
* A Language and Engine
* Modeling Tips
Part III, “Test Tools and Systems”
Chapter 9, “Managing Bugs and Test Cases”
- The Bug Workflow
- Test Case Management
- Managing Test Cases
Chapter 10, “Test Automation”
- The value of Automation
* To Automate or Not to Automate, That is the Question
- User Interface Automation
- What's in a Test?
- SEARCH at Microsoft
* Setup
* Execution
* Analysis
* Reporting
* Cleanup
* Help
- Run, Automation, Run!
* Putting It All Together
* Large-Scale Test Automation
* Common Automation Mistakes
Chapter 11, “Non-Functional Testing”
- Beyond Functionality
- Testing the "ilities"
- Performance Testing
* How Do You Measure Performance?
- Stress Testing
* Distributed Stress Testing
* Distributed Stress Architecture
* Attributed of Multiclient Stress Tests
- Compatibility Testing
* Application Libraries
* Application Verifier
- Eating Our Dogfood
- Accessibility Testing
* Accessibility Personas
* Testing for Accessibility
* Testing Tools for Microsoft Active Accessibility
- Usability Testing
- Security Testing
* Threat Modeling
* Fuzz Testing
Chapter 12, “Other Tools”
- Code Churn
* Tracking Changes
* What Changed?
* Why Did it Change?
* A Home for Source Control
- Build It
* The Daily Build
- Static Analysis
* Native Code Analysis
* Managed Code Analysis
* Just Another Tool
* Test Code Analysis
* Test Code is Product Code
- Even More Tools
* Tools for Unique Problems
* Tools for Everyone
Chapter 13, “Customer Feedback Systems”
- Testing and Quality
* Testing Provides Information
* Quality Perception
- Customer to the Rescue
- Windows Error Reporting
* The Way We WER
* Filling the Buckets
* Emptying the Buckets
* Test and WER
- Smile and Microsoft Smiles with You
* Send a Smile Impact
- Connecting with Customers
Chapter 14, “Testing Software Plus Services”
- Part I: About Services
- Part II: Testing Software Plus Services
- Several Other Critical Thoughts on S + S
Part IV, “About the Future”
Chapter 15, “Solving Tomorrow’s Problems Today”
- Automatic Failure Analysis
* Overcoming Analysis Paralysis
* The Match Game
* Good Logging Practices
* Anatomy of a Log File
* Integrating AFA
- Machine Virtualization
* Virtualization Benefits
* Virtual Machine Test Scenarios
*When a Failure Occurs During Testing
* Test Scenarios Not Recommended
- Code Review and Inspections
* Types of Code Reviews
* Checklists
* Other Considerations
* Two Faces of Review
- Tools, Tools, Everywhere
* Reduce, Reuse, Recycle
* What's the Problem?
* Open Development
Chapter 16, “Building the Future”
- The Need for Forward Thinking
* Thinking Forward by Moving Backward
* Striving for a Quality Culture
* Testing and Quality Assurance
* Who Owns Quality
* The Cost of Quality
* A New Role for Test
- Test Leadership
* The Microsoft Test Leadership Team
* Test Leadership Team Chair
* Test Leadership in Action
* Test Test Architect Group
- Test Excellence
* Sharing
* Helping
* Communicating
* Keeping an Eye on the Future