How We Test Software at Microsoft

Author: Alan Page
Publisher: Microsoft Press
ISBN: 9780735638310
Release Date: 2008-12-10
Genre: Computers

It may surprise you to learn that Microsoft employs as many software testers as developers. Less surprising is the emphasis the company places on the testing discipline—and its role in managing quality across a diverse, 150+ product portfolio. This book—written by three of Microsoft’s most prominent test professionals—shares the best practices, tools, and systems used by the company’s 9,000-strong corps of testers. Learn how your colleagues at Microsoft design and manage testing, their approach to training and career development, and what challenges they see ahead. Most important, you’ll get practical insights you can apply for better results in your organization. Discover how to: Design effective tests and run them throughout the product lifecycle Minimize cost and risk with functional tests, and know when to apply structural techniques Measure code complexity to identify bugs and potential maintenance issues Use models to generate test cases, surface unexpected application behavior, and manage risk Know when to employ automated tests, design them for long-term use, and plug into an automation infrastructure Review the hallmarks of great testers—and the tools they use to run tests, probe systems, and track progress efficiently Explore the challenges of testing services vs. shrink-wrapped software

How We Test Software at Microsoft

Author: Alan Page
Publisher: "O'Reilly Media, Inc."
ISBN: 9780735638310
Release Date: 2009-11-30
Genre: Computers

It may surprise you to learn that Microsoft employs as many software testers as developers. Less surprising is the emphasis the company places on the testing discipline—and its role in managing quality across a diverse, 150+ product portfolio. This book—written by three of Microsoft’s most prominent test professionals—shares the best practices, tools, and systems used by the company’s 9,000-strong corps of testers. Learn how your colleagues at Microsoft design and manage testing, their approach to training and career development, and what challenges they see ahead. Most important, you’ll get practical insights you can apply for better results in your organization. Discover how to: Design effective tests and run them throughout the product lifecycle Minimize cost and risk with functional tests, and know when to apply structural techniques Measure code complexity to identify bugs and potential maintenance issues Use models to generate test cases, surface unexpected application behavior, and manage risk Know when to employ automated tests, design them for long-term use, and plug into an automation infrastructure Review the hallmarks of great testers—and the tools they use to run tests, probe systems, and track progress efficiently Explore the challenges of testing services vs. shrink-wrapped software

How Google Tests Software

Author: James A. Whittaker
Publisher: Addison-Wesley Professional
ISBN: 9780321803023
Release Date: 2012
Genre: Computers

Describes the techniques Google uses to test their software, and offers similiar techniques for analyzing risk and planning tests, allowing an Internet company to become more productive.

Software Testing with Visual Studio 2010

Author: Jeff Levinson
Publisher: Pearson Education
ISBN: 013218060X
Release Date: 2011-02-07
Genre: Computers

Use Visual Studio 2010’s Breakthrough Testing Tools to Improve Quality Throughout the Entire Software Lifecycle Together, Visual Studio 2010 Ultimate, Visual Studio Test Professional 2010, Lab Management 2010, and Team Foundation Server offer Microsoft developers the most sophisticated, well-integrated testing solution they’ve ever had. Now, Microsoft MVP and VS testing guru Jeff Levinson shows exactly how to use Microsoft’s new tools to save time, reduce costs, and improve quality throughout the entire development lifecycle. Jeff demonstrates how Microsoft’s new tools can help you finally overcome long-standing communication, coordination, and management challenges. You’ll discover how to perform first-rate functional testing; quickly create and execute tests and record the results with log files and video; and create bugs directly from tests, ensuring reproducibility and eliminating wasted time. Levinson offers in-depth coverage of Microsoft’s powerful new testing metrics, helping you ensure traceability all the way from requirements through finished software. Coverage includes • Planning your tests using Microsoft Test Manager (MTM) • Creating test settings, structuring test cases, and managing the testing process • Executing manual tests with Microsoft Test Manager and Test Runner • Filing and resolving bugs, and customizing your bug reporting process • Automating test cases and linking automated tests with requirements • Executing automated test cases through both Visual Studio and Microsoft Test Manager • Integrating automated testing into the build process • Using Microsoft’s Lab Management virtualization platform to test applications, snapshot environments, and reproduce bugs • Implementing detailed metrics for evaluating quality and identifying improvements Whether you’re a developer, tester, manager, or analyst, this book can help you significantly improve the way you work and the results you deliver—both as an individual right now, and as a team member throughout your entire project.

Beautiful Testing

Author: Adam Goucher
Publisher: "O'Reilly Media, Inc."
ISBN: 9781449388683
Release Date: 2009-10-14
Genre: Computers

Successful software depends as much on scrupulous testing as it does on solid architecture or elegant code. But testing is not a routine process, it's a constant exploration of methods and an evolution of good ideas. Beautiful Testing offers 23 essays from 27 leading testers and developers that illustrate the qualities and techniques that make testing an art. Through personal anecdotes, you'll learn how each of these professionals developed beautiful ways of testing a wide range of products -- valuable knowledge that you can apply to your own projects. Here's a sample of what you'll find inside: Microsoft's Alan Page knows a lot about large-scale test automation, and shares some of his secrets on how to make it beautiful Scott Barber explains why performance testing needs to be a collaborative process, rather than simply an exercise in measuring speed Karen Johnson describes how her professional experience intersected her personal life while testing medical software Rex Black reveals how satisfying stakeholders for 25 years is a beautiful thing Mathematician John D. Cook applies a classic definition of beauty, based on complexity and unity, to testing random number generators All author royalties will be donated to the Nothing But Nets campaign to save lives by preventing malaria, a disease that kills millions of children in Africa each year. This book includes contributions from: Adam Goucher Linda Wilkinson Rex Black Martin Schröder Clint Talbert Scott Barber Kamran Khan Emily Chen Brian Nitz Remko Tronçon Alan Page Neal Norwitz Michelle Levesque Jeffrey Yasskin John D. Cook Murali Nandigama Karen N. Johnson Chris McMahon Jennitta Andrea Lisa Crispin Matt Heusser Andreas Zeller David Schuler Tomasz Kojm Adam Christian Tim Riley Isaac Clerencia

Testing for Continuous Delivery with Visual Studio 2012

Author: Larry Brader
Publisher: Microsoft patterns & practices
ISBN: 1621140180
Release Date: 2013-03
Genre:

As more software projects adopt a continuous delivery cycle, testing threatens to be the bottleneck in the process. Agile development frequently revisits each part of the source code, but every change requires a re-test of the product. While the skills of the manual tester are vital, purely manual testing can't keep up. Visual Studio 2012 provides many features that remove roadblocks in the testing and debugging process and also help speed up and automate retesting. This guide shows you how to record and play back manual tests to reproduce bugs and verify the fixes, transform manual tests into code to speed up re-testing, monitor your project in terms of tests passed, create and use effective unit tests, load, and performance tests, run build-deploy-test workflows on virtual lab environments, and evolve your testing process to satisfy the demands of agile and continuous delivery. You'll learn how to set up all the tools you need for testing in Visual Studio 2012 and 2010, including Team Foundation Server, the build system, test controllers and agents, SCVMM and Hyper-V. Each chapter is structured so that you can move gradually from entry-level to advanced usage.

How to Break Web Software

Author: Mike Andrews
Publisher: Addison-Wesley Professional
ISBN: 0321657519
Release Date: 2006-02-02
Genre: Computers

Rigorously test and improve the security of all your Web software! It’s as certain as death and taxes: hackers will mercilessly attack your Web sites, applications, and services. If you’re vulnerable, you’d better discover these attacks yourself, before the black hats do. Now, there’s a definitive, hands-on guide to security-testing any Web-based software: How to Break Web Software. In this book, two renowned experts address every category of Web software exploit: attacks on clients, servers, state, user inputs, and more. You’ll master powerful attack tools and techniques as you uncover dozens of crucial, widely exploited flaws in Web architecture and coding. The authors reveal where to look for potential threats and attack vectors, how to rigorously test for each of them, and how to mitigate the problems you find. Coverage includes · Client vulnerabilities, including attacks on client-side validation · State-based attacks: hidden fields, CGI parameters, cookie poisoning, URL jumping, and session hijacking · Attacks on user-supplied inputs: cross-site scripting, SQL injection, and directory traversal · Language- and technology-based attacks: buffer overflows, canonicalization, and NULL string attacks · Server attacks: SQL Injection with stored procedures, command injection, and server fingerprinting · Cryptography, privacy, and attacks on Web services Your Web software is mission-critical–it can’t be compromised. Whether you’re a developer, tester, QA specialist, or IT manager, this book will help you protect that software–systematically.

Effective Software Test Automation

Author: Kanglin Li
Publisher: John Wiley & Sons
ISBN: 0782151019
Release Date: 2006-02-20
Genre: Computers

"If you'd like a glimpse at how the next generation is going to program, this book is a good place to start." —Gregory V. Wilson, Dr. Dobbs Journal (October 2004) Build Your Own Automated Software Testing Tool Whatever its claims, commercially available testing software is not automatic. Configuring it to test your product is almost as time-consuming and error-prone as purely manual testing. There is an alternative that makes both engineering and economic sense: building your own, truly automatic tool. Inside, you'll learn a repeatable, step-by-step approach, suitable for virtually any development environment. Code-intensive examples support the book's instruction, which includes these key topics: Conducting active software testing without capture/replay Generating a script to test all members of one class without reverse-engineering Using XML to store previously designed testing cases Automatically generating testing data Combining Reflection and CodeDom to write test scripts focused on high-risk areas Generating test scripts from external data sources Using real and complete objects for integration testing Modifying your tool to test third-party software components Testing your testing tool Effective Software Test Automation goes well beyond the building of your own testing tool: it also provides expert guidance on deploying it in ways that let you reap the greatest benefits: earlier detection of coding errors, a smoother, swifter development process, and final software that is as bug-free as possible. Written for programmers, testers, designers, and managers, it will improve the way your team works and the quality of its products.

Microsoft Secrets

Author: Michael A. Cusumano
Publisher: Simon and Schuster
ISBN: 9780684855318
Release Date: 1998-12-04
Genre: Business & Economics

The authors reveal Microsoft's product development, marketing, and organizational strategies

How to Break Software

Author: James A. Whittaker
Publisher: Addison-Wesley
ISBN: 0201796198
Release Date: 2003
Genre: Computers

CD-ROM contains: Canned HEAT v.2.0 -- Holodeck Lite v. 1.0.

How Would You Move Mount Fuji

Author: William Poundstone
Publisher: Little, Brown
ISBN: 0759528020
Release Date: 2003-05-01
Genre: Business & Economics

For years, Microsoft and other high-tech companies have been posing riddles and logic puzzles like these in their notoriously grueling job interviews. Now "puzzle interviews" have become a hot new trend in hiring. From Wall Street to Silicon Valley, employers are using tough and tricky questions to gauge job candidates' intelligence, imagination, and problem-solving ability -- qualities needed to survive in today's hypercompetitive global marketplace. For the first time, William Poundstone reveals the toughest questions used at Microsoft and other Fortune 500 companies -- and supplies the answers. He traces the rise and controversial fall of employer-mandated IQ tests, the peculiar obsessions of Bill Gates (who plays jigsaw puzzles as a competitive sport), the sadistic mind games of Wall Street (which reportedly led one job seeker to smash a forty-third-story window), and the bizarre excesses of today's hiring managers (who may start off your interview with a box of Legos or a game of virtual Russian roulette). How Would You Move Mount Fuji? is an indispensable book for anyone in business. Managers seeking the most talented employees will learn to incorporate puzzle interviews in their search for the top candidates. Job seekers will discover how to tackle even the most brain-busting questions, and gain the advantage that could win the job of a lifetime. And anyone who has ever dreamed of going up against the best minds in business may discover that these puzzles are simply a lot of fun. Why are beer cans tapered on the end, anyway?

DevOps with Windows Server 2016

Author: Ritesh Modi
Publisher: Packt Publishing Ltd
ISBN: 9781786463340
Release Date: 2017-03-24
Genre: Computers

Obtain enterprise agility and continuous delivery by implementing DevOps with Windows Server 2016 About This Book This practical learning guide will improve your application lifecycle management and help you manage environments efficiently Showcase through a sample application ways to apply DevOps principles and practices in the real world Implement DevOps using latest technologies in Windows Server 2016 such as Windows Container, Docker, and Nano Servers Who This Book Is For This book is for .NET developers and system administrators who have a basic knowledge of Windows Server 2016 and are now eager to implement DevOps at work using Windows Server 2016. Knowledge of Powershell, Azure, and containers will help. What You Will Learn Take a deep dive into the fundamentals, principles, and practices of DevOps Achieve an end-to-end DevOps implementation Execute source control management using GITHUB and VSTS vNext Automate the provisioning and configuration of infrastructure Build and release pipeline Measure the success of DevOps through application instrumentation and monitoring In Detail Delivering applications swiftly is one of the major challenges faced in fast-paced business environments. Windows Server 2016 DevOps is the solution to these challenges as it helps organizations to respond faster in order to handle the competitive pressures by replacing error-prone manual tasks using automation. This book is a practical description and implementation of DevOps principles and practices using the features provided by Windows Server 2016 and VSTS vNext. It jumps straight into explaining the relevant tools and technologies needed to implement DevOps principles and practices. It implements all major DevOps practices and principles and takes readers through it from envisioning a project up to operations and further. It uses the latest and upcoming concepts and technologies from Microsoft and open source such as Docker, Windows Container, Nano Server, DSC, Pester, and VSTS vNext. By the end of this book, you will be well aware of the DevOps principles and practices and will have implemented all these principles practically for a sample application using the latest technologies on the Microsoft platform. You will be ready to start implementing DevOps within your project/engagement. Style and approach This practical, learning book is linear and progressive, and every chapters builds on the previous chapters. We focus on the practical skills required to implement DevOps, with a summary of the key concepts only where strictly necessary.

Working Effectively with Legacy Code

Author: Michael Feathers
Publisher: Prentice Hall Professional
ISBN: 9780132931755
Release Date: 2004-09-22
Genre: Computers

Get more out of your legacy systems: more performance, functionality, reliability, and manageability Is your code easy to change? Can you get nearly instantaneous feedback when you do change it? Do you understand it? If the answer to any of these questions is no, you have legacy code, and it is draining time and money away from your development efforts. In this book, Michael Feathers offers start-to-finish strategies for working more effectively with large, untested legacy code bases. This book draws on material Michael created for his renowned Object Mentor seminars: techniques Michael has used in mentoring to help hundreds of developers, technical managers, and testers bring their legacy systems under control. The topics covered include Understanding the mechanics of software change: adding features, fixing bugs, improving design, optimizing performance Getting legacy code into a test harness Writing tests that protect you against introducing new problems Techniques that can be used with any language or platform—with examples in Java, C++, C, and C# Accurately identifying where code changes need to be made Coping with legacy systems that aren't object-oriented Handling applications that don't seem to have any structure This book also includes a catalog of twenty-four dependency-breaking techniques that help you work with program elements in isolation and make safer changes.

Agile Software Engineering with Visual Studio

Author: Sam Guckenheimer
Publisher: Addison-Wesley Professional
ISBN: 9780321685858
Release Date: 2012
Genre: Computers

The #1 guide to using Visual Studio 2010 in team development: insider coverage of this huge release, from the leader of the VSTS team * *Focuses on succeeding with new VS 2010 ALM products in real-world environments, with exclusive 'Lessons Learned at Microsoft'. *Thoroughly covers VS 2010's massive new capabilities for team development. *Contains extensive new coverage of implementing Scrum and related practices. *Covers the entire lifecycle: requirements, architecture, construction, build, test, and more This is the most practical, valuable guide for every member of the software team who intends to run or participate in software projects using Microsoft's Visual Studio 2010. Written by a top Microsoft Visual Studio development team leader and a leading Visual Studio implementation consultant, it focuses on the real challenges development organizations face. The authors identify powerful lessons and best practices learned at Microsoft, and cover the entire development lifecycle, from requirements gathering through testing and beyond. This edition adds extensive coverage of VS 2010's extensive new team features, as well as new coverage of using VS 2010 to actively support teams that practice Scrum. Throughout, the authors focus on showing how to use VS 2010 to reduce waste, increase transparency, and accelerate the flow of value to the end customer. Coverage includes: * *Requirements: vision, user stories, use cases, storyboards, satisfiers/dissatisfiers, and more *Running the project: self-managing teams, metrics, sprints, and dashboards *'Value-up' views of software architecture, construction, and testing. *Build and lab: check-in, team build, continuous integration, build verification tests, reporting, deployment, and lab automation/virtualization. *Troubleshooting the project: overcoming issues ranging from scope creep to build failures