Software Test Attacks to Break Mobile and Embedded Devices presents an attack basis for testing mobile and embedded systems. Designed for testers working in the ever-expanding world of "smart" devices driven by software, the book focuses on attack-based testing that can be used by individuals and teams.
Books Guide: Testing Software
The quality of a data warehouse (DWH) is the elusive aspect of it, not because it is hard to achieve [once we agree what it is], but because it is difficult to describe. We propose the notion that quality is not an attribute or a feature that a product has to possess, but rather a relationship between that product and each and every stakeholder. More specifically, the relationship between the software quality and the organization that produces the products is explored. Quality of data that populates the DWH is the main concern of the book, therefore we propose a definition for data quality as: “fitness to serve each and every purpose”. Methods are proposed throughout the book to help readers achieve data warehouse quality.
This book is written for the technical test analyst who wants to achieve advanced skills in test analysis, design, and execution. With a hands-on, exercise-rich approach, this book teaches you how to define and carry out the tasks required to put a test strategy into action.
Tools used for penetration testing are often purchased or downloaded from the Internet. Each tool is based on a programming language such as Perl, Python, or Ruby. If a penetration tester wants to extend, augment, or change the functionality of a tool to perform a test differently than the default configuration, the tester must know the basics of coding for the related programming language.
Continuous Testing (CT) is a developer practice that shortens the feedback loops established by test-driven development and continuous integration. Building on techniques used by Agile software development practitioners, Continuous Testing with Ruby shows you how to get instant feedback about both the quality of your code, and the quality of your tests.
Plenty of software testing books tell you how to test well; this one tells you how to do it while decreasing your testing budget. A series of essays written by some of the leading minds in software testing, How to Reduce the Cost of Software Testing provides tips, tactics, and techniques to help readers accelerate the testing process, improve the performance of the test teams, and lower costs.
Java Performance covers the latest Oracle and third-party tools for monitoring and measuring performance on a wide variety of hardware architectures and operating systems. The authors present dozens of tips and tricks you'll find nowhere else.
Three main factors are necessary to successfully ship great software: technology, talent, and process. Offering an in-depth focus on the process element, this book serves as a road map for using Scrum to organize teams and activities and shows you how to use Visual Studio Team Foundation Server (TFS) to execute a Scrum project. The three authors combine their years of experience to present you with best practices, including templates to help get you started.
Test-driven development (TDD) practice helps developers recognize a well-designed application, and encourages writing a test before writing the functionality that needs to be implemented. This hands-on guide provides invaluable insight for creating successful test-driven development processes. With source code and examples featured in both C# and .NET, the book walks you through the TDD methodology and shows how it is applied to a real-world application.
Your Ruby on Rails application is sick. It's got bugs. Nobody remembers what that tricky piece of code was supposed to do, and nobody can tell what it actually does. Deadlines are looming, but every time you make the slightest change to the code, something else breaks.
In practice, requirements engineering tasks become more and more complex. In order to ensure a high level of knowledge and training, the International Requirements Engineering Board (IREB) worked out the training concept "Certified Professional for Requirements Engineering," which defines a requirements engineer’s practical skills on different training levels.
Software Development and Professional Practice reveals how to design and code great software. What factors do you take into account? What makes a good design? What methods and processes are out there for designing software? Is designing small programs different than designing large ones? How can you tell a good design from a bad one? You'll learn the principles of good software design, and how to turn those principles back into great code.
Accurate software engineering reviews and audits have become essential to the success of software companies and military and aerospace programs. These reviews and audits define the framework and specific requirements for verifying software development efforts.
The ISTQB Certified Tester exam was developed toward an international standard which includes 47 international testing boards. Today more than 130,000 people have taken the International Software Testing Qualifications Board (ISTQB) Foundations Level exam. So, where can all these people go to learn what they need to know in order to pass the exam? Now they can go to Software Testing Foundations, 3rd Edition, from Rocky Nook's Computing division.
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.
Specification by Example is an emerging practice for creating software based on realistic examples, bridging the communication gap between business stakeholders and the dev teams building the software. In this book, author Gojko Adzic distills interviews with successful teams worldwide, sharing how they specify, develop, and deliver software, without defects, in short iterative delivery cycles.
TDD is a modern programming practice C developers need to know. It's a different way to program–unit tests are written in a tight feedback loop with the production code, assuring your code does what you think. You get valuable feedback every few minutes. You find mistakes before they become bugs. You get early warning of design problems. You get immediate notification of side effect defects. You get to spend more time adding valuable features to your product.
The Knowledge Solution. Stop Searching, Stand Out and Pay Off. The #1 ALL ENCOMPASSING Guide to Web 3.0.
An Important Message for ANYONE who wants to learn about Web 3.0 Quickly and Easily. . .
"Here's Your Chance To Skip The Struggle and Master Web 3.0, With the Least Amount of Effort, In 2 Days Or Less. . ."
Testing applications for mobile phones is difficult, time-consuming, and hard to do effectively. Many people have limited their testing efforts to hands-on testing of an application on a few physical handsets, and they have to repeat the process every time a new version of the software is ready to test. They may miss many of the permutations of real-world use, and as a consequence their users are left with the unpleasant mess of a failing application on their phone.
Continuous Delivery shows how to create fully automated, repeatable, and reliable processes for rapidly moving changes through build, deploy, test, and release. Using these techniques, software organizations are getting critical fixes and other new releases into production in hours—sometimes even minutes—even in large projects with complex code bases.
The groundbreaking book Design Driven Testing brings sanity back to the software development process by flipping around the concept of Test Driven Development (TDD)—restoring the concept of using testing to verify a design instead of pretending that unit tests are a replacement for design. Anyone who feels that TDD is “Too Damn Difficult” will appreciate this book.
Your software systems are the heart of your business–and they may be vulnerable. In Glitch, industry leader Jeff Papows, Ph.D., outlines the three converging forces that are leading to the proliferation of glitches. Papows explains why and how these glitches are affecting businesses, government agencies, and consumers and provides recommendations as to what we can do about them.
This is the first start-to-finish, real-world guide to ATDD for every agile project participant. Leading agile consultant Ken Pugh begins with a dialogue among a customer, developer, and tester, explaining the “what, why, where, when, and how” of ATDD and illuminating the experience of participating in it.
Increasingly, large product-development organizations are turning to lean thinking, agile principles and practices, and large-scale Scrum to sustainably and quickly deliver value and innovation.
Written by Microsoft insiders, this nuts-and-bolts guide walks you through the tools, guidelines, and methodologies you'll need for Application Lifecycle Management (ALM) with Visual Studio 2010. It focuses on practical implementation techniques and best practices, while providing you with detailed code samples and case studies.
Most security books on Java focus on cryptography and access control, but exclude key aspects such as coding practices, logging, and web application risk assessment. Encapsulating security requirements for web development with the Java programming platform, "Secure Java: For Web Application Development" covers secure programming, risk assessment, and threat modeling—explaining how to integrate these practices into a secure software development life cycle.
Testing IT provides a complete, off-the-shelf software testing process framework for any testing practitioner who is looking to research, implement, roll out, adopt, and maintain a software testing process. It covers all aspects of testing for software developed or modified in-house, modified or extended legacy systems, and software developed by a third party.
"The Testing Network" presents an integrated approach to testing based on cutting-edge methodologies, processes and tools in today's IT context. It means complex network-centric applications to be tested in heterogeneous IT infrastructures and in multiple test environments (also geographically distributed). The added-value of this book is the in-depth explanation of all processes and relevant methodologies and tools to address this complexity.
A Fortune 500 manufacturing company spent millions attempting to implement a new enterprise resource planning (ERP) system. Across the globe, a 150-employee marketing firm built and tried to implement a proprietary customer relationship management (CRM) system. For two very different companies doing two very different things, the outcomes were identical. In each case, the organization failed to activate and utilize its system as initially conceived by senior management.
In an IT world in which there are differently sized projects, with different applications, differently skilled practitioners, and on-site, off-site, and off-shored development teams, it is impossible for there to be a one-size-fits-all agile development and testing approach. This book provides practical guidance for professionals, practitioners, and researchers faced with creating and rolling out their own agile testing processes.
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.
Bridging the Communication Gap is a book about improving communication between customers, business analysts, developers and testers on software projects, especially by using specification by example and agile acceptance testing. These two key emerging software development practices can significantly improve the chances of success of a software project. They ensure that all project participants speak the same language, and build a shared and consistent understanding of the domain.
In Exploratory Software Testing, renowned software testing expert James Whittaker reveals the real causes of today's most serious, well-hidden software bugs—and introduces powerful new "exploratory" techniques for finding and correcting them.
Test-Driven Development (TDD) is now an established technique for delivering better software faster. TDD is based on a simple idea: Write tests for your code before you write the code itself. However, this "simple" idea takes skill and judgment to do well. Now there's a practical guide to TDD that takes you beyond the basic concepts.
In Implementing Automated Software Testing, three leading experts explain AST in detail, systematically reviewing its components, capabilities, and limitations. Drawing on their experience deploying AST in both defense and commercial industry, they walk you through the entire implementation process—identifying best practices, crucial success factors, and key pitfalls along with solutions for avoiding them.
Rex Black walks you through the steps necessary to manage rigorous testing programs of hardware and software. The preeminent expert in his field, Mr. Black draws upon years of experience as president of both the International and American Software Testing Qualifications boards to offer this extensive resource of all the standards, methods, and tools you'll need.
The book focuses on Commercial Off-The-Shelf (COTS) implementations, and helps you to successfully implement packaged software. Using a step-by-step approach, it begins with an assessment of the limitations of current implementation methods for packaged software. It then helps you to analyze your requirements and offers 10 must-know principles gleaned from real-world packaged software implementations.
Based on the authors' more than fifteen years of experience in software agent technology, this book first presents the essential basics, aspects, and structures of the agent technology. It then covers the main quality aspects in software system development and gives current examples of agent measurement and evaluation. Focusing on software agent systems and multi-agent systems (MAS), the authors discuss the determination of quality properties.
Designed for an introductory software engineering course or as a reference for programmers, this up to date text uses both theory and applications to design reliable, error-free software. Starting with an introduction to the various types of software, the book moves through life-cycle models, software specifications, testing techniques, computer-aided software engineering and writing effective source code.
In this practical guide, software-quality guru Capers Jones reveals best practices for ensuring software development success by illustrating the engineering methods used by the most successful large software projects at leading companies such as IBM, Microsoft, Sony, and EDS.
Automated software testing has become a critical exercise, especially for developers utilizing iterative and agile methods. However, to achieve the full benefits of automated testing, teams need a deep understanding of both its principles and their testing tools. If you're among the thousands of developers using IBM Rational Functional Tester (RFT), this book brings together all the insight, examples, and real-world solutions you need to succeed.
In today’s unforgiving business environment where customers demand zero defect software at lower costs—it is testing that provides the opportunity for software companies to separate themselves from the competition. Providing a fresh perspective on this increasingly important function, Software Testing as a Service explains, in simple language, how to use software testing to improve productivity, reduce time to market, and reduce costly errors.
With insights direct from Microsoft s own development teams and across the software-development life cycle learn best practices for writing solid, well-formed, efficient code. Ideal for new to intermediate level developers, but with fresh insights for more experienced programmers, SOLID CODE will help improve your coding techniques at each phase of product development: design, prototyping, implementation, debugging, and testing.
Over 12 years ago Logica started the development of TestFrame®, a test method which enables organizations to develop and execute their tests in a structured way. Since then many new techniques have been developed, such as, most recently, "Service Oriented Architectures (SOAs)" or "Software as a Service (SaaS)" , requiring updates to test procedures and processes that seemed well-established. These trends have prompted Logica to update and renew the TestFrame® method.
Some systems are more difficult to test than others. Software testers contend with undefined or partially defined requirements; outdated, incomplete, or nonexistent documentation; complex logic; a mixture of languages; or worse. All of these factors make a system dirty, or virtually untestable.
This practical book provides a step-by-step approach to testing mission-critical applications for scalability and performance before they're deployed—a vital topic to which other books devote one chapter, if that.
IT organizations have achieved outstanding technological maturity, but many have been slower to adopt world-class business practices. This book provides IT and business executives with methods to achieve greater business discipline throughout IT, collaborate more effectively, sharpen focus on the customer, and drive greater value from IT investment.
Over the past ten years, TPI® has proved to be the leading methodology to assess the maturity of an organizations or project's test process. This is a success we, at Sogeti, are very proud of. But this success by no means implies that we are done and can rest on our laurels. Sogeti s answer to this need now lies in front of you: TPI® NEXT, the Business Driven Test Process Improvement model (BDTPI)!
The IBM SOA Foundation Suite is an integrated, open-standards-based set of software, best practices, and patterns that help you systematically maximize the business value of SOA. Understanding IBM SOA Foundation Suite brings together 26 hands-on tutorials that will help you master IBM SOA Foundation and apply it successfully in your organization.
This book is written for the test analyst who wants to achieve advanced skills in test analysis, design, and execution. With a hands-on, exercise-rich approach, this book teaches you how to define and carry out the tasks required to put a test strategy into action. Learn how to analyze the system, taking into account the user's quality expectations.
This book teaches test managers what they need to know to achieve advanced skills in test estimation, test planning, test monitoring, and test control. Readers will learn how to define the overall testing goals and strategies for the systems being tested.
"Foundations of Software Testing" is the premiere example-based text and reference for establishing sound engineering practices in test generation, selection, minimization and enhancement, for software projects ranging from the most simple to the highly complex, to those used by government agencies such as the FAA. Foundations of Software Testing also covers data-flow based adequacy and mutation-based adequacy, which are the most powerful of the available test adequacy criteria.
Learn the code cracker's malicious mindset, so you can find worn-size holes in the software you are designing, testing, and building. Fuzzing for Software Security Testing and Quality Assurance takes a weapon from the black-hat arsenal to give you a powerful new tool to build secure, high-quality software. This practical resource helps you add extra protection without adding expense or time to already tight schedules and budgets.
This heavily illustrated reference takes you on a complete tour of the multi-dimensional software testing universe. The book offers you a practical understanding of all the most critical software testing topics and their relationships and inter-dependencies.
Discover how Microsoft implements and manages the software-testing process company-wide with guidance and insights direct from its test managers. Organizing any testing program the people, processes, and tools can be challenging and resource intensive. Even when the necessary tradeoffs are made, no development team can test every scenario.
This book teaches new methods for specifying, analyzing, and testing software; essentials for creating high-quality software with C#. These methods increase the automation in each of these steps, making them more timely, more thorough, and more effective.
The book is not about advanced testing theory. It shows practical solutions, based on implementation experience. The book addresses fundamental questions around testing from a business perspective.
Everyone has a role to play in software testing--even people outside a project team. Testers, developers, managers, customers, and users shape the process and results of testing, often unwittingly. Rather than continue to generate stacks of documents and fuel animosity, testers can cultivate rich opportunities and relationships by integrating an effective testing mentality into any process
The newly revised and expanded edition of the bestseller, Practical Insight into CMMI® is an essential reference for engineering, IT and management professionals striving to grasp the "look and feel of a successful business oriented process improvement implementation".
This book provides a how to approach to mastering business analysis work. It will help build the skill sets of new analysts and all those currently doing analysis work, from project managers to project team members such as system analysts, product managers and business development professionals, to the experienced business analyst.
The multicore revolution has reached the deployment stage in embedded systems ranging from small ultramobile devices to large telecommunication servers. The transition from single to multicore processors, motivated by the need to increase performance while conserving power, has placed great responsibility on the shoulders of software engineers. In this new embedded multicore era, the toughest task is the development of code to support more sophisticated systems.
Author Shel Prince presents a groundbreaking methodology for software-testing design that assures fewer bugs and thoroughly tested software applications in less time, and with less hassle, than traditional methods. The breakthrough involves Behavioral Modeling, a technique that produces the minimum size test suite for the maximum testing coverage.
One of the first comprehensive guides to testing every phase of software development and revision.
You can't "test quality into" a software product, but neither can you build a quality software product without test and analysis. Software test and analysis is increasingly recognized, in research and in industrial practice, as a core challenge in software engineering and computer science. Software Testing and Analysis: Process, Principles, and Techniques is the first book to present a range of complementary software test and analysis techniques in an integrated, coherent fashion.
The third edition of this bestseller provides a comprehensive look at software testing as part of the project management process, emphasizing testing and quality goals early on in development. Building on the success of previous editions, the text explains how compliance testing helps an IT organization meet Sarbanes-Oxley and Basel II requirements. The sections on test effort estimation are fully updated, providing greater emphasis on testing metrics.
We all know that software testing is the most important part of the Software development life cycle and the quality of the end product is mostly dependent on how well we test our products. But, testing is neither an easy process nor remotely exciting for all the developers. For testing your applications on the Microsoft platform, Visual Studio Team System 2008 offers you a range of powerful tools for different types of testing.
The competence and quality of software testers are often judged by the various testing techniques they have mastered. As the name suggests, the book provides a self-study format and is designed for certification course review and for freshers as well as professionals who are searching for opportunities in the software testing field.
At a time when information systems are becoming ever more complex and quality to market and time to market are critical for many companies, a structured test process is essential. Even more important is a structured test management process to keep testing under control. Nowadays a test manager must have extensive knowledge of and experience with project management, risk assessment, team building, and, process improvement.
The service-oriented approach has become more and more popular, now allowing highly integrated and yet heterogeneous applications. Web services are the natural evolution of conventional middleware technologies to support Web-based and enterprise-level integration.
This book takes you on a journey through the wonderful world of FitNesse, a great web-based collaboration tool for software acceptance testing. FitNesse enables software developers and business people to build a shared understanding of the domain and helps produce software that is genuinely fit for purpose.
Software testing is traditionally seen as a difficult and time consuming activity that is hard to embed in the software development process. This book provides a different view. It explains to stakeholders how testing can add value to software development and doing business, and provides the tester with practical information.
There are a lot of books around covering functional testing techniques, but relatively few cover both functional and technical testing. This book will fill that gap. Authors Graham Bath and Judy McKay are core members of the ISTQB Working Party that created the new advanced level syllabus, which will be rolled out worldwide this year.
Learn how the business analyst works collaboratively with the project manager and other core team members to create plans that customize elicitation activities to the unique needs of the project. The author presents techniques used by successful business analysts and defines key business analysis terms.
This book by the author of the best-selling Software Engineering: A Practitioner's Approach is unique in its application of software engineering principles to building effective web-based systems and applications. This book is designed to provide students with a solid understanding of a pragmatic process for engineering Web-based applications. It is written in an informal, conversational style, using a question and answer format to mentor the reader in this new engineering discipline.
Among the tests you perform on web applications, security testing is perhaps the most important, yet it's often the most neglected. The recipes in the Web Security Testing Cookbook demonstrate how developers and testers can check for the most common web security issues, while conducting unit tests, regression tests, or exploratory tests. Unlike ad hoc security assessments, these recipes are repeatable, concise, and systematic-perfect for integrating into your regular test suite.
The author is a true test enthusiast who has spoken to several thousand people about testing. The book is the result from many years of teaching test design with the goal of creating a highly useful test book. It is full of examples from the real world and contains exercises for most of the techniques described. It can be used as class-material or for self studies.
Are you a tester who spends more time manually creating complex test data than using it? A business analyst who seemingly went to college all those years so you can spend your days copying data from reports into spreadsheets? A programmer who can't finish each day's task without having to scan through version control system output, looking for the file you want?
Fuzzing is the first and only book to cover fuzzing from start to finish, bringing disciplined best practices to a technique that has traditionally been implemented informally. The authors begin by reviewing how fuzzing works and outlining its crucial advantages over other security testing methods.
Managing the Test People was written for managers, leads, and people who may soon find themselves in a technical leadership position. It focuses on some of the unique problems in the software quality assurance profession, yet the bulk of the book is applicable to any technical management job.
This book is about systematic, model-driven test processes in the context of UML. As UML provides only limited means for the design and development of test artifacts, a consortium was formed by the Object Management Group to develop a UML profile for model-driven testing--the UML Testing Profile.
Enterprise Java developers must achieve broader, deeper test coverage, going beyond unit testing to implement functional and integration testing with systematic acceptance. Next Generation Java™ Testing introduces breakthrough Java testing techniques and TestNG, a powerful open source Java testing platform.
Patterns for Performance and Operability is filled with practical, hands-on software development and testing techniques to ensure customers enjoy properly running software rather than complain about bugs and system crashes.
Get the practical guide to getting your development project off to a successful start!Zero in on key project-initiation tasks--and build a solid foundation for successful software development. In this concise guide, critically-acclaimed author Karl E. Wiegers fills a void in project management literature by focusing on the activities that are essential--but often overlooked--for launching any project.
Practical Software Estimation brings together today's most valuable tips, techniques, and best practices for accurately estimating software project costs and schedules. Authored by one of the field's leading experts, it addresses the full spectrum of real-world challenges you face in developing reliable estimates.
Testing even a simple system can quickly turn into a potentially infinite task. Faced with tight costs and schedules, testers need to have a toolkit of practical techniques combined with hands-on experience and the right strategies in order to complete a successful project. World-renowned testing expert Rex Black provides you with the proven methods and concepts that test professionals must know.
The NIST estimates that poor testing costs the US economy $60 billion annually. This book gives teams straightforward and proven ways to introduce unit testing into their process, resulting in higher quality and fewer bugs.
Learn proven, real-world techniques for specifying software requirements with this practical reference. It details 30 requirement "patterns" offering realistic examples for situation-specific guidance for building effective software requirements. Each pattern explains what a requirement needs to convey, offers potential questions to ask, points out potential pitfalls, suggests extra requirements, and other advice.
Within the last 18 months more than 40,000 people worldwide have taken the International Software Testing Qualifications Board (ISTQB) Foundations Level exam, 10,000 alone in the last 4 months. So, where can all these people go to learn what they need to know in order to pass the exam? Now they can go to Software Testing Foundations 2nd Edition, from Rocky Nook's new Computing division.
Aimed at experts who are dedicated to software testing, The Software Testing Process: Test Management addresses the major issues related to advanced, state-of-the-art test management. This book covers the syllabus required to pass the Certified Tester Examination - Advanced Level as defined by the International Software Testing Qualifications Board (ISTQB).
Software Testing: Principles and Practices is a comprehensive treatise on software testing. It provides a pragmatic view of testing, addressing emerging areas like extreme testing and ad hoc testing.
In test driven development, you first write an executable test of what your application code must do. Only then do you write the code itself and, with the test spurring you on, you improve your design. In acceptance test driven development (ATDD), you use the same technique to implement product features, benefiting from iterative development, rapid feedback cycles, and better-defined requirements. TDD and its supporting tools and techniques lead to better software faster.
"Testing SAP R/3: A Manager's Step-by-Step Guide" shows how to implement a disciplined, efficient, and proven approach for testing SAP R/3 correctly from the beginning of the SAP implementation through post-production support. The book also shows SAP professionals how to efficiently provide testing coverage for all SAP objects before they are moved into a production environment.
From a leader in the agile process movement, learn best practices for moving agile development with Scrum from the skunk works (small team) to the shop floor (the enterprise). Managers get case studies and practical guidance for managing the change processes for applying Scrum in the enterprise.
How do you know whether a hot technology will succeed or fail? Or where the next big idea will come from? The best answers come not from the popular myths we tell about innovation, but instead from time-tested truths that explain how we've made it this far. This book shows the way.
A Tester's Guide to .NET Programming focuses solely on applied programming techniques for testers. You will learn how to write simple automated tests, enabling you to test tools and utilities. You will also learn about the important concepts driving modern programming today, like multitier applications and object-oriented programming. More businesses are adopting .NET technologies, and this book will equip you to assess software robustness and performance.
Aimed at the working test manager or test engineer, the second edition of William Perry's Effective Methods for Software Testing is one of the most rigorous guides to software testing available. This book provides the latest in standards for measuring how good your organization's commitment to software testing is and many ways to improve it.
Your One-Stop Guide To Passing The ISTQB Foundation Level Exam Foundations of Software Testing: ISTQB Certification is your essential guide to software testing and the ISTQB Foundation qualification. This book is an essential purchase if you want to benefit from the knowledge and experience of those involved in the writing of the ISTQB Syllabus. This book adopts a practical and hands-on approach, covering the fundamental principles that every system and software tester should know.
Web Services are an integral part of next generation Web applications. The development and use of these services is growing at an incredible rate, and so too are the security issues surrounding them. Hacking Web Services is a practical guide for understanding Web services security and assessment methodologies. Written for intermediate-to-advanced security professionals and developers, the book provides an in-depth look at new concepts and tools used for Web services security.
Testing problems are difficult, expensive, and hard to understand. Most software companies have bugs escape the testing cycles and reach customers. How can some of the inherent problems with software testing be eliminated? This book addresses this fundamental issue and helps the reader understand the high-level elements necessary to better execute software test automation and outsourcing initiatives.
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.
Your in-depth, hands-on, technical security-testing reference. Written for testers by testers, this guide highlights up-to-date tools, technologies, and techniques for helping find and eliminate security vulnerabilities in software.
From the Publisher:
Integrated Approach to Web Performance Testing: A Practitioner's Guide fills a void and provides an integrated approach and guidelines to performance testing of Web-based systems. It applies a practical approach to making appropriate choices of tools, methodologies and project management for performance testing.
This book gives a practical introduction to model-based testing, showing how to write models for testing purposes and how to use model-based testing tools to generate test suites. It is aimed at testers and software developers who wish to use model-based testing, rather than at tool-developers or academics.
The promise of Software Factories is to streamline and automate software development-and thus to produce higher-quality software more efficiently. The key idea is to promote systematic reuse at all levels and exploit economies of scope, which translates into concrete savings in planning, development, and maintenance efforts. However, the theory behind Software Factories can be overwhelming, because it spans many disciplines of software development.
Software Engineering Quality Practices describes how software engineers and the managers that supervise them can develop quality software in an effective, efficient, and professional manner. This volume conveys practical advice quickly and clearly while avoiding the dogma that surrounds the software profession.
Often referred to as the "black art" because of its complexity and uncertainty, software estimation is not as hard or mysterious as people think. However, the art of how to create effective cost and schedule estimates has not been very well publicized. While the average software organization can struggle with project costs that run double their original estimates, some of the more sophisticated organizations achieve results with estimation errors as low as 5-10%.
Software Sizing, Estimation, and Risk Management: When Performance is Measured Performance Improves is a practical, hands-on discussion of the software estimation, planning, and control process. This includes critical factors that impact estimates, methods for selecting and applying appropriate measures to projects, proper software sizing, and processes to identify and manage risk.
Software Testing: An ISEB Foundation is an introduction to the breadth of trestinf activities used in real life projects. It explains the basic steps of th etesting process, how to perform effective tests, and provides an overview of avaiable techniques and tools and how to apply them.
This is one of the most detailed, sophisticated, and useful guides to software security auditing ever written. The authors are leading security consultants and researchers who have personally uncovered vulnerabilities in applications ranging from sendmail to Microsoft Exchange, Check Point VPN to Internet Explorer.
The Reverse Detective is an easy-to-read, breakthrough book that shows you how to prevent software failure by using the same disciplined, step-by-step process used by professional detectives to solve crimes.
There's just one difference: You put the traditional Sherlock Holmes approach in reverse.
The result? Instead of solving the crime of software failure, you prevent it by precisely determining and modeling the right requirements before you begin writing code.
This book is a guide to conducting a job interview for various positions in the software industry. As technology continues to evolve and the number of programming languages, hardware platforms, and standards continues to increase, it is becoming necessary for a software manager to rely on team members for evaluating candidates on a technical level.
How do we ensure that our Web sites actually give users what they need? What are the best ways to understand our users' goals, behaviors, and attitudes, and then turn that understanding into business results? Personas bring user research to life and make it actionable, ensuring we're making the right decisions based on the right information. This practical guide explains how to create and use personas to make your site more successful.
Aimed particularly at embedded designers and developers, this new book provides a sound foundation on the TPM, helping them to take advantage of hardware security based on sound TCG standards. It covers all the TPM basics, discussing in detail the TPM Key Hierarchy and the Trusted Platform Module specification. The book presents a methodology to enable designers and developers to successfully integrate the TPM into an embedded design and verify the TPM's operation on a specific platform.
Open Source is NOT JUST FOR LINUX/UNIX! Open source is changing the software market because of its advantages over commercial tools including cost savings, greater reliability, security, improved performance, and scalability. Although open source is primarily associated with Linux, many people, including IT professionals, don''t realize that open source programs can work on a standard Windows platform.
Why Programs Fail is about bugs in computer programs, how to find them, how to reproduce them, and how to fix them in such a way that they do not occur anymore. This is the first comprehensive book on systematic debugging and covers a wide range of tools and techniques ranging from hands-on observation to fully automated diagnoses, and includes instructions for building automated debuggers.
"I've just finished reading the best computer book [Why Software Sucks...] since I last re-read one of mine and I wanted to pass along the good word . . . Put this one on your must-have list if you have software, love software, hate programmers, or even ARE a programmer, because Mr. Platt (who teaches programming) has set out to puncture the bloated egos of all those who think that just because they can write a program, they can make it easy to use . . .
This book sheds light on the principles behind the relational model, which is fundamental to all database-backed applications--and, consequently, most of the work that goes on in the computing world today. "Database in Depth: The Relational Model for Practitioners" goes beyond the hype and gets to the heart of how relational databases actually work.
The Fit open source testing framework brings unprecedented agility to the entire development process. Unlike previous testing tools, Fit fully addresses the business value of software, not just technical quality. Using it, software customers, developers, and testers can clarify what software should do, compare that to what it does do, and systematically address the differences.
King, a veteran consultant in the information technology industry, promotes the concept of performance assurance throughout the entire system lifecycle, examining not only the technical aspects of performance, but also the relevant processes and topics related to companies and people. His goal is for readers to understand the fundamental issues that surround performance and technology such that they can apply them to formulate a coherent customized approach to performance assurance.
Many programmers code by instinct, relying on convenient habits or a "style" they picked up early on. They aren't conscious of all the choices they make, like how they format their source, the names they use for variables, or the kinds of loops they use. They're focused entirely on problems they're solving, solutions they're creating, and algorithms they're implementing. So they write code in the way that seems natural, that happens intuitively, and that feels good.
Learn how to improve your Java coding skills using unit testing. Despite it's name, unit testing is really a coding technique, not a testing technique. This book shows how to write tests, but more importantly, goes where other books fear to tread and gives you concrete advice and examples of what to test. Discover the tricky hiding places where bugs breed, and how to catch them using the freely available NUnit framework.
Learn how to improve your Java coding skills using unit testing. Despite it's name, unit testing is really a coding technique, not a testing technique. This book shows how to write tests, but more importantly, goes where other books fear to tread and gives you concrete advice and examples of what to test. Discover the tricky hiding places where bugs breed, and how to catch them using the freely available Junit framework.
Ruby is an increasingly popular, fully object-oriented dynamic programming language, hailed by many practitioners as the finest and most useful language available today. When Ruby first burst onto the scene in the Western world, the Pragmatic Programmers were there with the definitive reference manual, Programming Ruby: The Pragmatic Programmer''s Guide.
Most software-development groups have embarrassing records: By some accounts, more than half of all software projects are significantly late and over budget, and nearly a quarter of them are cancelled without ever being completed. Although developers recognize that unrealistic schedules, inadequate resources, and unstable requirements are often to blame for such failures, few know how to solve these problems.
"Ship It!" avoids current fashion trends and marketing hype; instead, readers find page after page of solid advice, all tried and tested in the real world. This book is a collection of tips that show what tools a successful team has to use, and how to use them well. Developers will get quick, easy-to-follow advice on modern techniques and when they should be applied.
Aimed at beginning to intermediate programmers, this book will show you:
In software development, projects are won or lost during the endgame--that final stage between release for testing and release to customers.
Software Endgames presents realistic strategies for delivering working software to your customers. Focusing solely on the endgame, the book provides hard-won, hands-on practices you can implement right away.
From its first appearance in 1995, this book has been consistently well received by tutors and students alike. Now in its fourth edition, this textbook is highly regarded for providing a complete introduction to Software Project Management for both undergraduate and postgraduate students.
This text offers a comprehensive and integrated approach to software quality engineering. By following the author's clear guidance, readers learn how to master the techniques to produce high-quality, reliable software, regardless of the software system's level of complexity.
The Second Edition of this volume provides a detailed, step-by-step plan for implementing quality assurance programs that emphasize software testing. This focus on software QA techniques enables organizations to minimize the high cost of IT maintenance. The summary of software testing and maintenance tools has been completely updated.
"Software Testing, 2nd edition" provides practical insight into the world of software testing and quality assurance. Learn how to find problems in any computer program, how to plan an effective test approach and how to tell when software is ready for release. Updated from the previous edition in 2000 to include a chapter that specifically deals with testing software for security bugs, the processes and techniques used throughout the book are timeless.
Quality cannot be tested into software, it must be designed in and built in. Understanding and accepting this simple principle can be the first step to preventing serious system defects from reaching users.
"The Art of Project Management" covers it all--from practical methods for making sure work gets done right and on time, to the mindset that can make you a great leader motivating your team to do their best. Reading this was like reading the blueprint for how the best projects are managed at Microsoft... I wish we always put these lessons into action!" --Joe Belfiore, General Manager, E-home Division, Microsoft Corporation
Frustrated by the lack of well-written essays on software engineering, Joel Spolsky has put together a collection of his favorite writings on the topic. With a nod to both the serious and funny sides of technical writing, The Best Software Writing I: Selected and Introduced by Joel Spolsky" is an entertaining read and a guide to the technical writing literati.
The Best Software Writing I contains writings from:
The Rational Unified Process is a powerful tool for improving software development--but it doesn't go nearly far enough. Today's development organizations need to extend RUP to cover the entire IT lifecycle, including the cross-project and enterprise issues it largely ignores. The Enterprise Unified Process (EUP) does precisely that, enabling you to deliver systems that meet all the needs of today's businesses.
Over the course of a distinguished career, Joe Marasco earned a reputation as the go-to software project manager: the one to call when you were facing a brutally tough, make-or-break project. Marasco reflected on his experiences in a remarkable series of "Franklin's Kite" essays for The Rational Edge, Rational and IBM's online software development magazine.
In today's market, secure software is a must for consumers. Many developers, however, are not familiar with the techniques needed to produce secure code or detect existing vulnerabilities. The Software Vulnerability Guide helps developers and testers better understand the underlying security flaws in software and provides an easy-to-use reference for security bugs. Most of these bugs (and the viruses, worms, and exploits that derive from them) start out as programmer mistakes.
"Special Edition Using Business Objects Crystal Reports XI" is a reference guide designed to provide you with hands-on experience for the latest release of the Business Objects' product suite. The authors, all Business Objects insiders, bring unique and valuable real-world perspectives on implementations and uses of Crystal Reports, Crystal Reports Server, BusinessObjects Enterprise, WebIntelligence and OLAP Intelligence.
A Web site design that does not consider its user is a Web site that is destined to be a disappointing experience for the user. This new book by Jonathan Lazar provides readers with the concepts and tools needed to develop Web sites that maximize the user experience. It takes readers through the entire User-Centered Development Life Cycle, demonstrating practical skills and techniques that will help them for years to come.
The User-Centered Development Life Cycle:
If you're responsible for protecting Windows systems, firewalls and anti-virus aren't enough. You also need to master incident response, recovery, and auditing. Leading Windows security expert and instructor Harlan Carvey offers a start-to-finish guide to everything administrators must know to recognize and respond to virtually any attack.
Testing is not a phase. Software developers should not simply throw software over the wall to test engineers when the developers have finished coding. A coordinated program of peer reviews and testing not only supplements a good software development process, it supports it.
A good testing life cycle begins during the requirements elucidation phase of software development, and concludes when the product is ready to install or ship following a successful system test.
For more than a decade, Steve McConnell, one of the premier authors and voices in the software community, has helped change the way developers write code—and produce better software. Now his classic book, CODE COMPLETE, has been fully updated and revised with best practices in the art and science of constructing software.
Did you know that the U.S. loses $59.5 billion per year due to inadequate software testing? With this revolutionary book, that's about to end! Applied Software Test Automation teaches you how to build a fully automated testing tool that you can immediately use for your software development projects. Simply feed the software under test, get the test result, and fix the bugs. You can even use your preferred languages for developing the testing tool.
How does software break? How do attackers make software break on purpose? Why are firewalls, intrusion detection systems, and antivirus software not keeping out the bad guys? What tools can be used to break software? This book provides the answers. Exploiting Software is loaded with examples of real attacks, attack patterns, tools, and techniques used by bad guys to break software. If you want to protect your software from attack, you must first learn how real attacks are really carried out.
Fifty exercises to help you find bugs faster—with less aggravation! Bug hunting is an art, and you need to be a master. Get "Find the Bug," and you'll become one. Long-time Microsoft programmer Adam Barr presents fifty programs, each with exactly one bug. Your assignment: find it. As you do, Barr will teach you how to "think like your processor"...anticipating exactly how code will behave, even without running it.
Java Testing and Design: From Unit Testing to Automated Web Tests teaches you a fast and efficient method to build production-worthy, scalable, and well performing Web-enabled applications. The techniques, methodology, and tools presented in this book will enable developers, QA technicians, and IT managers to work together to achieve unprecedented productivity in development and test automation.
Testing experts Thomas, Young, Brown, and Glover present a brief introduction to design patterns and then walk you through each of the essential types of tests that comprise a complete software test plan to use on Java applications.
When testing becomes a developer's habit good things tend to happen--good productivity, good code, and good job satisfaction. If you want some of that, there's no better way to start your testing habit, nor to continue feeding it, than with JUnit Recipes.
Model driven architecture (MDA) is a framework based on UML and other industry standards for visualizing and exchanging software designs and models to build large, complex enterprise systems. The Dutch authors of this book outline the MDA development life cycle, explain the role of transformation of models in MDA, and demonstrate how a simple platform independent model is transformed into complex platform specific models and code
Most would shudder to think if cities or automobiles were built in the same ad hoc fashion as most software. Still, Microsoft technologists often regard software development as more of a craft than a rigorous process. Given the mission-critical nature of today's software solutions, however, such an approach is vital to ensuring that high-quality projects are delivered on time and within budget.
Based on the needs of software professionals, "Practical Software Testing" takes a unique approach to teaching readers how to effectively plan for testing, design test cases, test at multiple levels, organize a testing team, and optimize use of testing tools. It introduces testing concepts that are managerial-, technical-, and process-oriented, using the Testing Maturity Model (TMM) as a framework.
An indispensable addition to your project management, software engineering or computer science bookshelf, this book masterfully illuminates and simplifies otherwise complex topics in ROI. It presents extremely simple, but overwhelmingly powerful metrics, models, and methods for designing professional business cases and provides hard-hitting economic justification. It explores the most popular international methods, models, and standards for software process improvement.
Ultimately, software development is about creating value yet, all too often, software fails to deliver the business value customers need. This book will help you change that, by linking software development directly to value creation. You'll learn exactly how to identify which features add value and which don't, and refocus your entire development process on delivering more value, more rapidly.
Software by Numbers shows you how to:
This book emphasizes the application aspects of software quality assurance (SQA) systems by discussing how to overcome the difficulties in the implementation and operation of them. State-of-the-art topics for software testing and managing SQA activities, such as computerized tools, are incorporated into the text and emphasized through the author's use of real world examples. Software developers who want to enhance their knowledge of SQA systems.
Learn the Secrets of Mainframe Testers! Reliability and continuous availability have become crucial for computer software in the information economy. Well-publicized failures from both industry and government have underscored the need for mission-critical software to be thoroughly tested before being released into the marketplace. When it comes to industrial-strength reliability, no computer system is more renowned than the mainframe.
Discover ECSAM, a method for requirements engineering and the modeling of computer-based systems (CBS). Practiced since 1980 in evolving versions by large numbers of systems and software engineers worldwide, ECSAM was developed in part at Israel Aircraft Industries for the analysis and design of complex reactive embedded systems and software.
Learn how to apply the concepts and techniques of Test-Driven Development (TDD) to writing software for Microsoft .NET. Two experts in agile software development teach-using a wealth of pragmatic examples in C+ and other .NET development tools - how to use automated tests to drive lean, efficient coding and better design.
"The .NET Developer's Guide to Windows Security" is required reading for .NET programmers who want to develop secure Windows applications. Readers gain a deep understanding of Windows security and the know-how to program secure systems that run on Windows Server 2003, Windows XP, and Windows 2000.
Total-quality philosophy is an approach to doing business that focuses all of the resources of the organization on the continual improvement of both quality and competitiveness. To this end, a total-quality organization will continually, improve its processes, people, and products. This approach is an effective way and, arguably, the only way to survive and prosper in a globally competitive environment.
The most comprehensive, up-to-date, and practical introduction to software test design, "A Practitioner's Guide to Software Test Design" presents the most important test design techniques in a single volume and in a consistent, easy-to-understand format.
"Rex Black has done it again!...Critical Testing Processes is a book that all software testers will want to read from cover to cover and then retain for frequent reference." From the Foreword by Rick Craig, software test manager, author, lecturer, and consultant
How to Break Software Security describes the general problem of software security in a practical perspective from a software tester's point of view. It defines prescriptive techniques (attacks that testers can use on their own software) that are designed to ferret out security vulnerabilities in software applications.
JUnit in Action shows you how to benefit from this strategy using the popular open source testing framework, JUnit. It is a no fluff discussion of unit testing techniques and best practices. It gives examples of tough situations such as how to unit test EJBs, database applications, JSPs and Taglibs. It discusses unit testing of J2EE applications, and shows how to test in automated builds.
(From the back cover)
The set of exercises offers insights and practice in applying principles for improving the design of existing computer code. Readers are expected to be practicing programmers or graduate and upper-level undergraduate students who have already been exposed to the principles themselves.
Search Engine Visibility is not about merely obtaining top positions in search search results. Rather, Search Engine Visibility is about designing, writing, and creating a web site primarily for your site's visitors, adn helping them find what they are searching for via the major search engines, directories, and industry-related sites.
Select Perspective, from Select Business Solutions, is a set of best practices for software development that has evolved over a decade into a world-class component-based development (CBD) process. It is a blend of approaches from several object-oriented methods, improved and adapted to meet the new demands of CBD and Web Services.
This book presents the authors' distilled wisdom and best practice for the construction of software systems using Select Perspective.
Software Project Management provides insight to the importance of careful project management. Topics are presented in the same order that they appear in the progression of actual projects. The author utilizes his creative writing background to teach these topics with the tone of a friend sitting beside each student, rather than as a general lecture on the material.
A software tester’s survival guide from a leading expert in the field.
Test-Driven Development: A Practical Guide enables developers to write software that's simpler, leaner, more reliable...just plain better. Now, there's a TDD guide focused on real projects, real developers, real implementation challenges, and real code.
Presenting the state-of-the-art in component-based software testing, this new, cutting-edge resource offers you an in-depth understanding of the current issues, challenges, needs, and solutions in this critical component-based testing and quality assurance in an accessible tutorial format, making the material easy to comprehend and benefit from no matter what your professional level.
A software testing survival guide to deliver winning Internet-based applications. Accessibility, reliability, availability, and security of Web applications on all types of platforms are key to winning business and customers. The technology continues to change at a fast pace, and savvy end-users are demanding products and services with fewer bugs.
"The Bug" is a mesmerizing first novel about a demonic, elusive computer bug and the havoc it wreaks on the lives of the people around it. This rare combination: a novel of ideas and a suspense, it is a story about obsession and love that takes readers deep into both the personal and virtual life. In 1984, at the dawn of the personal-computer era, Roberta Walton, a novice software tester at a SiliconValley start-up, stumbles across a bug.
Practical, hands-on techniques for testing the design, globalization, performance, and security of Web applications. Whether you’re a novice or experienced Web tester, this hands-on guide provides you with the practical steps you’ll need to follow to rigorously test across multiple platforms and browsers.
Software testing is indispensable and is one of the most discussed topics in software development today. Many companies address this issue by assigning a dedicated software testing phase towards the end of their development cycle. However, quality cannot be tested into a buggy application. Early and continuous unit testing has been shown to be crucial for high quality software and low defect rates.
Beta testing is a complex process that, when properly run, provides a wealth of diverse information. But when poorly executed, it delivers little or no data while wasting time and money. Written by a leading expert in the field, this book will help you reach the full potential that beta testing has to offer. Michael Fine compiles the best practices to date so you can effectively bring beta testing into your company's process to improve product quality.
(From the Back Cover) Effective Software Testing explores fifty critically important best practices, pitfalls, and solutions. Gleaned from the author's extensive practical experience, these concrete items will enable quality assurance professionals and test managers to immediately enhance their understanding and skills, avoid costly mistakes, and implement a state-of-the-art testing program.
TeamPenetration testing—in which professional, "white hat" hackers attempt to break through an organization's security defenses—has become a key defense weapon in today's information systems security arsenal. Through penetration testing, I.T. and security professionals can take action to prevent true "black hat" hackers from compromising systems and exploiting proprietary information.
"How to Break Software" is a departure from conventional testing in which testers prepare a written test plan and then use it as a script when testing the software. The testing techniques in this book are as flexible as conventional testing is rigid. And flexibility is needed in software projects in which requirements can change, bugs can become features and schedule pressures often force plans to be reassessed.
Introducing Software Testing is a step-by-step approach for getting started with testing tasks. It gives an brief overview of testing, then in a practical way show how to develop test cases.
Every J2EE application is unique and it is difficult, if not impossible, to extrapolate performance results from one application to another. So, in this book we provide a load generating tool and a simple, adaptable methodology that will help you obtain detailed performance data for your own applications.
Practical automated testing techniques that enhance software quality and reduce time to market! Just Enough Test Automation is a practical, hands-on guide to software test automation from the perspective of test developers and users. Two leading software testing consultants offer real-world dos and don'ts for designing and implementing test automation infrastructure—along with pragmatic advice on what today's most popular approaches to automated testing can and can't accomplish.
From the Publisher: Performance tuning is increasingly important as desktop applications move to a Web-centric, software-as-a-service model. Performance analysis and tuning ensures that .NET-based applications perform as well as or better than traditional desktop applications.
Organizations depend on IT project managers to support overall business strategies with clear-cut benefits and advantages. As the bridge between the larger business strategy and the functional project level, project managers are expected to ensure key benefits such as reduced delivery costs, accelerated product-to-market speed, focus on client needs, and improved quality.
Project management for today's complex, chaotic business environments.
* Innovative new XPM tools: how to make them work in your organization
* XPM: the first radically new approach to project management in decades!
* Designed from the ground up for today's high-speed, fast-changing projects
* Refocusing project management focused on people, relationships, and adding value!
Faster testing for faster time-to-market.
* Accelerated testing strategies to beat the competition
* Templates for creating your own testing documentation instantly
* Tips for successfully integrating testing into a fast-track development strategy
From the Back Cover: The process of designing and building today's dynamic Web applications comes with a host of challenges not typically solved by traditional project management methodologies. A wealth of practical resources, Real Web Project Management: Case Studies and Best Practices from the Trenches is a book of solutions for designing, managing, and delivering virtually any type of Web-based project under even the most challenging of conditions.
"I spend much time helping organizations capture requirements and even more time helping them recover from not capturing requirements. Many of them have gone through some motions regarding requirements, as if they were sleepworking. It's time to wake up, and do it right—and this book is going to be their alarm clock." (Jerry Weinberg, author of numerous books on productivity enhancement)
This hands-on guide for business, project, and test managers and test practitioners presents an effective approach to using risk to construct test strategies for e-business systems. Using an easily learned risk-analysis technique, it teaches professionals how to employ risk in selecting and prioritizing test methods for e-business projects. This innovative resource explains how to select test techniques to address business risks and integrate them into a coherent test process.
(Back Cover Copy)
Most IT systems fail to meet expectations. They don't meet business goals and don't support users efficiently. Why? Because the requirements didn't address the right issues. Writing a good requirements specification doesn't take more time. This book shows how it's done -- many times faster and many times smarter.
The software development world has changed significantly in the past five years. Noteworthy among its many changes is the emergence of the "Unified Modeling Language" (UML) as an industry standard. While thousands of software computer professionals and students continue to rely upon the bestselling first edition of Software Testing, the time has come to bring it up to date.
The TMap Test Management approach is based on years of practical software testing experiences and developed by the R&D department of IQUIP Informatica B.V. It enjoyed an overwhelming interest from its first publication in Dutch in 1995. Many companies and government departments arranged their organization and performed their test processes as much as possible according to TMap. Within a few years, it became the standard for software testing within the Dutch-speaking countries.
Systematic Software Testing delivers a flexible, risk-based process that improves your software testing capabilities and helps you do just that. Whether your organization already has a well-defined testing process, or it’s faltering with almost no process, Systematic Software Testing provides unique insights into better ways to test your software.
When faced with a complex programming challenge, rare is the developer who can readily see how to begin or produce its solution. More often than not, such projects generate a great deal of stress and bad code. To garner the strength and courage needed to surmount seemingly Herculean tasks, programmers should look to test-driven development (TDD), a proven set of techniques that encourage simple designs and test suites that inspire confidence.
Embedded systems are everywhere. Modern appliances from TVs to mobile phones cannot function without them. Embedded software has become a vital part of a growing range of automotive, aerospace, biomedical, and military systems. As many of these applications are potentially life-threatening, the need for rigorous software testing has never been more compelling. This book provides a comprehensive and practical overview of testing strategies for embedded software.
The rapid rise in popularity of Extreme Programming (XP) has put the practice of software testing squarely in the spotlight of application development. At one time, testing was a neglected practice, a highly specialized activity that came as an afterthought as complex, code-intensive projects were rushed to completion. But in today's world of escalating quality expectations, testing is a key component of the development process.
Protect your company’s Web site from hack attacks with this guide to proven security-testing techniques
Everything you need to know about VMware Workstation, from guest systems to network configuration. VMware software lets users run multiple operating systems (and their applications) simultaneously on one computer. Technically reviewed and developed in cooperation with VMware, Inc., The Book of VMware is a comprehensive guide to installing and running VMware. It includes sections on device emulation, configuring guest operating systems, networking, and troubleshooting.
Developers who effectively employ use cases deliver better applications--on time and under budget. The concept behind use cases is perhaps as old as software itself; they express the behavior of systems in terms of how users will ultimately interact with them. Despite this inherent simplicity, the use case approach is frequently misapplied, resulting in functional requirements that are confusing, cumbersome, or redundant.
From the Foreword by William C. Boni, Chief Information Security Officer, Motorola: "Both novice and seasoned readers will come away with an increased understanding of how Web hacking occurs and enhanced skill at developing defenses against such Web attacks. Technologies covered include Web languages and protocols, Web and database servers, payment systems and shopping carts, and critical vulnerabilities associated with URLs.
Experience has shown us that investment in the requirements process saves time, money, and effort. Yet, development efforts consistently charge ahead without investing sufficiently in the requirements process. We are so intent to develop the technical solutions that we are unwilling to take the time and effort to understand and meet the real customer needs.
A Practical Guide to Testing Object-Oriented Software focuses on the real-world issues that arise in planning and implementing effective testing for object-oriented and component-based software development. It shows how testing object-oriented software differs from testing procedural software and highlights the unique challenges and opportunities inherent in object-oriented software testing.
Arguably the most important book about managing technology and systems development efforts, this book describes building systems using the deceptively simple process, Scrum. Readers will come to understand a new approach to systems development projects that cuts through the complexity and ambiguity of complex, emergent requirements and unstable technology to iteratively and quickly produce quality software.
This annual, high-level market summary report discusses the state of the market for load testing tools and related services in distributed environments, inclusive of remote/hosted load testing services for the year 2000. This report provides forecasts and market trends as well as highlights market share in distributed environments and its largest subsegment, Web or IP-based environments.
Despite the potentially enormous cost to organizations from clunky Web sites, Web testing is often an overlooked aspect of the development process. Expert tester Diane Stottlemeyer provides developers with all the tools and templates they need to put a testing plan into motion.
This guide enables readers to understand and apply the TestFrame method —an open method developed by the authors and their colleagues that is rapidly becoming a standard in the testing industry.
This book offers decades of software testing experience condensed into the most important lessons learned. The world's leading software testing experts lend you their wisdom and years of experience to help you avoid the most common mistakes in testing software.
Practical Software Measurement (PSM) is a process for designing and implementing a project-based software measurement program. PSM provides essential information on scheduling, resource allocation, and technological performance. It enables software managers and developers to make decisions that will affect the project’s outcome positively. This book is the official, definitive guide to PSM written by the leaders of the PSM development initiative.
This book provides Web developers and software test professionals with practical, experience-based guidance on Web application testing. Concise and straightforward, this book provides a framework for testing Web-based applications. It offers a guide to performing test execution using several leading automated test tools, as well as insight into which test tools to use and why.
An in-depth look at the pressing issues involved in protecting an e-business from external threats while safeguarding customer privacy. With billions of dollars at stake in e-commerce, companies are becoming much more concerned about security and privacy issues. Hackers have made headlines by breaking into Web sites that aggregate sensitive information about all of us, which has caused growing public concern about personal and financial privacy.
Today’s software development projects are often based on the traditional software engineering model, which was created to develop large-scale defense projects. Projects that use this antiquated industrial model tend to take longer, promise more, and deliver less.
This introduction to software engineering and practice addresses both procedural and object-oriented development. The book applies concepts consistently to two common examples—a typical information system and a real-time system. It combines theory with real, practical applications by providing an abundance of case studies and examples from the current literature. Expanded coverage of object-oriented development — a programming perspective being implemented by many companies.
Long a standard practice in traditional manufacturing, the concept of product lines is relatively new to the software industry. A software product line is a family of systems that share a common set of core technical assets, with preplanned extensions and variations to address the needs of specific customers or market segments.
In this blistering attack on one of the sacred cows of business today, John Seddon shows how the ISO standards are not only failing to deliver the improved quality they promise, but in most cases are actually damaging the companies that have implemented them.
This book is about the other side of computer software, the side facing outward. This face of computing touches and is touched by people-technology people, like you and me, and ordinary people, like you and me. The essays here compiled explore the many diverse aspects of peopleware-that interface between software and its developers and between software and its users.
This is the last in a four-book series comprising a critical review of the Unified Process that includes a survey of the alternate software processes and the synthesis of a more robust process. The Transition and Production phases are the final phases of the Unified Process that provide for the deployment, operation and support of the system among the user groups.
This book seeks to help developers and testers who are making the transition from testing traditional client/server, PC, and/or mainframe systems to testing rapidly changing Web sites and applications. This book explains the technologies that are typically used to build these Web sites/applications and suggests specific test cases and techniques that can be included in a Web site’s test plans.
The only book that covers Visual Basic for software testing, a large and very critical industry. Most testers need to know some programming to enhance their job abilities; but the problem is that all of the trade books, textbooks, and courses are directed toward developers. Mary Sweeney's book responds to a huge unmet need.
How to build and lead a world-class software development team! In this book, expert software development manager Frank P. Ginac brings together world-class techniques for building and leading high-performance software development teams. Ideal for the first-line manager, especially managers transitioning from developer roles. This book offers start-to-finish guidance for delivering superior products, on time and on budget.
With detailed scenarios, imaginative illustrations, and step-by-step instructions, consultant and speaker Norman L. Kerth guides readers through productive, empowering retrospectives of project performance. Whether your shop calls them postmortems or postpartums or something else, project retrospectives offer organizations a formal method for preserving the valuable lessons learned from the successes and failures of every project.
Free distribution of information, ideas, and research - the Internet's original goal - is at odds with the use of the Internet for commerce. Commerce requires individual privacy and security - an afterthought in this medium. Protocols for Secure Electronic Commerce reviews and explains algorithms and architectures for securing electronic payment systems to deal with this issue, particularly the protocols used for business-to-business commerce and for consumer applications.
Scaling for E-Business presents analysis techniques for quantifying and projecting every element of your e-business site's performance -- and planning for the capacity you need, no matter what!
Billions of dollars are wasted each year on IT software projects that are developed and either released late or never used. In light of recent large-scale errors, and methods, tools, and practices used for software development have become the subject of significant study and analysis. One quantitative method for analysis is software assessment, which explores the methodologies used by businesses for software development.
Software Configuration Management (SCM) is an essential software engineering discipline used to manage change in today's complex, fast-paced software development environment. SCM is used during all lifecycle phases and provides a structure for identifying and controlling changes to documentation, requirements, models, code, and Web artifacts such as HTML and XML files.
Don't become a statistic—take control of your software projects and plan for success! Success in all types of organizations depends increasingly on the development of customized software solutions, yet more than half of software projects now in the works will exceed both their schedules and their budgets by more than 50%.
The new edition of this book provides a comprehensive discussion of software engineering techniques and shows how they can be applied in practical software projects. This book features new coverage of the software process and software process technology, system integration, requirements management, and risk analysis, as well as new chapters on pattern-based reuse, distributed system engineering, and legacy systems.
This book helps accelerate the development of high quality software using continuous process improvement. The book starts with an overview of basic quality principles and how you can apply the continuous improvement cycle to software testing. It then reviews waterfall lifecycle testing, followed by an extensive RAD testing methodology for client/server and the Internet. The final section provides a comprehensive analysis of modern testing tools.
This pragmatic guide provides a testing framework for software professionals looking to improve product quality and to reduce timescales, effort, and cost. It covers all aspects of testing for software developed or modified in-house, modified or extended legacy systems, and software developed by a third party. The reader can customize the framework to match the particular testing requirements of any particular organization.
This book presents an integrated framework for testing object-oriented software throughout the software engineering lifecycle. It discusses recipes for testing of requirements, designs, base classes, derived classes, and integrated systems. For each phase the authors describe objectives of testing, approaches used, testing techniques, ordered sets of activities, planned efforts, and acceptance criteria for transition to the next phase.
Verification and Validation of Modern Software-Intensive Systems brings the classic approaches up to date to apply them to contemporary computing methods. Based on the latest standards and research, the authors cover V&V for areas that have not been previously treated collectively, including:
Does your company Web site convey your message effectively? Are your customers finding what they need easily? Determining these factors is a difficult task that has challenged Usability professionals since the first Web page was posted.
The text illustrates how to introduce, manage, and use automated software testing on a project. The focus of the book is on the testing process and how to assimilate it into the group's use. It also helps program managers to understand how the tools can benefit projects in general and to understand which projects best lend themselves towards use of the tools. The book discusses ways to incorporate automated tools into structured development methodologies and the software lifecycle.
You’ve had to explain and justify your job to Management, to Human Resources, and to everyone at your high school reunion. But now comes the ultimate test: Your child’s assignment for the next show-and-tell is to describe what her mom or dad does for a living. You scramble for an easy way to explain (maybe for the first time) what you do at the office, but your software testing reference books just don’t have enough pictures of cute animals to really do the trick.
Now you can dramatically improve the design, performance, and manageability of object-oriented code without altering its interfaces or behavior. Refactoring shows
you exactly how to spot the best opportunities for refactoring and exactly how to do it-step by step. Through more than forty detailed case studies, you'll learn powerful - and surprisingly simple - ways to redesign code that is already in production.
This book describes how to structure and build an automated testing regime that will give lasting benefits in the use of test execution tools to automate testing on a medium to large scale. An extensive collection of case studies and guest chapters are also included, reflecting both good and bad experiences in test automation together with useful advice.
Readers who have been working in IT for a long time will remember the days when testing was the task of the junior person on the team. Since then, testing has come a long way--to the point where it is recognized as a vital profession. This book addresses test-process improvement with a practice-based model.
Pragmatic and real-world oriented, this book teaches numerous shortcuts and tricks of the trade, including ways to reduce product risk and overall test costs by efficient ordering of test tasks. It also details how to test effectively when the developer gives few or inaccurate specifications, how to work with constantly changing designs and schedules, and how to conduct revealing tests without time-consuming source-code analysis.
More than ever, mission-critical and business-critical issues depend on object-oriented (OO) software. Testing techniques tailored to the unique challenges of OO technology are necessary to achieve high reliability and quality. This book is an authoritative guide to designing and automating test suites for OO applications. This comprensive book explains why testing must be model-based.
This volume is based on the experiences of eight industrial and one academic partner, from fields as diverse as oil and gas production, transportation, aerospace, nuclear power, and defence. Together they have carried out an in-depth examination of the issues involved in demonstrating through testing that acceptable safety integrity levels can be achieved.
In this indispensable book, a widely experienced business consultant provides a complete set of analytical tools essential to successful trouble-shooting, effective planning, and making better decisions faster, more confidently, and more often.
This book takes you through the world of distributed application programs, platforms, and environments in a how-to-do fashion. It lays the foundation for a testing approach that involves diverse static and dynamic analysis. The methodology provides development of testing scenarios appropriate for a variety of strategies for testing distributed software. Concepts are explained through the use of examples and template solutions, based on standard programming platforms and tools.
(From the Publisher )
Software Project Management presents a new management framework uniquely suited to the complexities of modern software development. Walker Royce's pragmatic perspective exposes the shortcomings of many well-accepted management priorities and equips software professionals with state-of-the-art knowledge derived from his twenty years of successful from-the-trenches project management experience.
"Musa...is considered the guru of software reliability engineering." - Michael R. Lyn, Ph.D., Technical Staff, AT&T Laboratories. Spotlighting the practical steps that you need to apply Software Reliability Engineering to software development and testing, this first-of-its-kind guide puts the efficiency-enhancing benefits of SRE within easy reach.
This book describes TMap, a testing methodology first used in the Netherlands and Belgium. The book is a short overview of testing in general and TMap in particular. As the preface says, it is meant to educate those who are not immediately linked to the test process such as users and students.
Object-Oriented programming increases software reusability, extensibility, interoperability, and reliability. Software testing aims to uncover as many programming errors as possible at a minimum cost. This book discusses those issues. A major challenge to the software engineering community remains how to reduce the cost and improve the quality of software testing.
Written for researchers, professors, practitioners, students, and other computing professionals, this book covers: Basics that Work at Work, People, Process, and Product, Visibility, Configuration Management Process, Planning, Risk Management, Requirements, Design, Testing, Managing a Project Day by Day, Managing Software Maintenance, And more...
Harness the power, flexibility, and new functionality of Visual Test 6 to enhance the effectiveness of your testing projects. Using concrete scenarios and detailed examples, leading Visual Test expert and veteran trainer Tom Arnold guides you through the entire test automation process - covering both the programming and project management skills needed to deliver high-quality Windows or Web-based software applications on schedule and within budget.
Web Performance Tuning hits the ground running and gives concrete advice for improving crippled Web performance right away. For anyone who has waited too long for a Web page to display or watched servers slow to a crawl, this book includes tips on tuning the server software, operating system, network, and the Web browser itself.
Web Site Usability: A Designer's Guide is a report that every person involved in Web design, commerce, or online marketing will want to have. This book is, undoubtedly, the most comprehensive data demonstrating how Web sites actually work when users need specific answers. Researched and compiled by User Interface Engineering, the results are written in an easy to understand style, illustrating the need to make Web sites useful, not complicated.
Cleanroom Software Engineering is a set of techniques and practices for the development of software-intensive systems. This book brings together concepts, lessons learned and best practices resulting from Cleanroom projects surveyed in the past several years. Pub: 12/96.
The premise of this book is simple: your customers are the best judge of software quality; therefore, your customers must be an integral part of your QA program. The author proposes that you: learn how to design a QA program that builds on your customers' expectations; understand how to select the right metrics, test methods, types and tools; and develop a QA program, considering the appropriate role of formal evaluation programs such as ISO 9000 and SEI CMM.
This book covers all phases of the life of a safety-critical system from its conception and specification, through to its certification, installation, service, and decommissioning. It provides information on how to assess the safety implications of projects and determine the measures necessary to develop systems to meet safety needs.
This book provides a comprehensive description of software engineering including conventional development methods and advanced approaches, like object-oriented development and cleanroom software engineering. The book also addresses management issues such as project planning, risk management, quality assurance, and configuration management.
Millions of dollars are wasted and many managers' jobs are put on the line when computer systems do not live up to their expected performance, or fail outright. Concentrating on management skills and the tools needed for analysis and control, this book helps managers learn from others' mistakes to help prevent failure in their own companies.
This book is the first to describe the unique benefits and challenges associated with fault injection methods. Instead of focusing on theory and algorithms, the authors explain fault injection methodology by extensive use of applications data and real-world case studies.
The book has been substantially rewritten and redesigned to account for the fast-changing developments in software metrics--most notably their widespread penetration into industry practice.
All sections are updated. There are new sections on process maturity and measurement, goal-question-metric, metrics plans, experimentation, empirical studies, object-oriented metrics, and metrics tools. This book provides an accessible and comprehensive introduction to software metrics.
This book focuses on the strategic and structural aspects of software development. It deals with planning, modeling, and controlling the software development in phases. The book is for project managers, software engineers, customers, strategists, and senior managers.
This book is in reference format. It is an excellent guide for developers, testers, and managers to look up terms in an easy-to-use format. It contains definitions of software quality terms as well as statistical data from research studies.
This book provides an overview of Software Quality Management. In the author's words, "This book presents a methodology that controls risk using quality management integrated with advanced software project management." The book outlines a Software Quality Assurance Plan (SQAP) and leads the reader through a discussion of the various certification models (ISO, CMM and Baldrige). The primary audience comprises those working in software management, particularly software project management.
Focused on practical solutions rather than theory, this book provides models of written processes for software development and inspection along with outlines of several software-related documents. The book is a practical reference for software quality professionals, project managers, and engineers who are responsible for quality assurance. The book can be used as a basic text for introductory undergraduate courses.
Few books have successfully combined the areas that make up software process improvement and the relevant experiences and data. This book provides information at the individual, managerial, division, and corporate levels to plan, execute, check results, and act on those results. This ensures improvement in the present and in the future.
This paperback book describes the authors' top challenges of software testing and illustrates the tactics testers can use to avoid "lose-lose" situations. Each challenge is outlined with an overview, state of the practice, impact on testing, solutions to the challenge, guidelines for success and a plan of action. The summary chapter is a plan of action to improve testing, followed by four pages of resources.
This book attempts to show the differences between (1) traditional mainframe development and its related testing, and (2) Client/Server rapid-development models and their testing concerns. The book provides many interesting insights into Client/Server and what aspects require testing. It is apparent that the author has a strong development background and is not as well founded in testing and QA concepts.
With his first software novel, Tom DeMarco delivers a highly entertaining and subtly educational book all about project management. The plot centers around Mr. Tompkins, a downsized project manager who is kidnapped and whisked away to the fantasy Republic of Morovia. There, he is asked to manage a huge staff of developers to deliver six software products with impossible deadlines. Using different size teams and different methods, Mr.
Although not a book focused on testing or Quality Assurance, this book provides and excellent introduction to the concept of "Electronic Commerce" (e-commerce). By understanding how e-commerce is supposed to function, a tester can gain critical insight into how to focus the testing efforts for a Web-based, e-commerce site.
This book discusses the types of tools used in software quality assessment; the various problems developers typically run into; the benefits of an organized unit testing plan; system testing; and using the supplied tools on disk.
The author provides a wide range of examples about computers, and the associated weaknesses that we have not been able to overcome. The book highlights the extent to which computers control our environment and our lives, and the consequent risks. The accounts provided in the book are interesting and varied--most people will benefit from this illuminating exposé. Stories about airplanes, medical equipment, banking, Y2K, and others will captivate you until you reach the last chapter.
This hands-on, user-friendly reference introduces a unique, Deming-related approach to attaining ISO 9000 registration through a proven method: TAP PDSA (Train, Audit, Plan and Plan, Do, Study, Act). The book takes the reader sequentially from the beginning of a registration effort to life after registration.
This outstanding guide covers the object-oriented testing techniques that will help you achieve the following goals: reusability, higher quality and lower development costs.
This is a short book intended to present elements of software quality systems. Correctly called a primer, it depicts and discusses multiple areas that need to be understood by Information Technology specialists and managers. The appendices, most of them IEEE Standards, point out the usefulness of IEEE work and documents in the standards and quality-assurance areas.
The introduction says the book is intended for anyone wanting to 1) learn the elements of a lifecycle, 2) implement an object-oriented software lifecycle, 3) improve software quality and maturity, 4) obtain a recipe and checklist for software project management, and 5) get started selecting and implementing tools for OO software development.
This book shows how applying risk management to each stage of the software engineering model can help the entire development process run on time and on budget. Starting with a concise overview of quality software, it identifies the potential threats associated with software development, explains how to establish an effective risk-management program, and details the six critical steps involved in applying the process.
This book provides up-to-date information on determining which software parts affect each other. It provides a lot of ideas for doing impact analysis better, presents a framework for the field, and focuses attention on important results.
Our lives and the quality of our lives are increasingly dependent on the cost, reliability, and availability of software. Improving the process of software development is therefore vitally important to us all.
The software testing process is the way in which people, tools, methods, measurements, and equipment are integrated to test a software product. This book offers a toolbox for the practical implementation of the testing process and how to improve it. Based on real-world issues and examples, it brings together the key methods of software testing with practical implementation techniques, and presents a simple, highly practical approach to those getting started.
Visual Test is a tool that allows one to automate the testing of a product that runs under Windows 95 and Windows NT. This book discusses Visual Test and how to use it to develop and launch quality products successfully. Visual Test will emulate user actions, reproduce steps, do compatibility testing and benchmarking, and is completely customizable. Learn the pitfalls to avoid when automating a project and give an estimation of time necessary to automate a product.
Technical Risk Management is at the forefront of skills dedicated to achieving affordable quality. Based on proven techniques developed over decades of experience, and bearing the endorsement of Norman R. Augustine, Chairman and CEO of Martin Marietta Corp., this book provides the tools needed to bring quality products to the marketplace on time and within budget.
This book is a classic high-level management theoretical text. Its contents strongly concentrate on management styles such as TQM (Total Quality Management) and QFD (Quality Function Deployment). Its subject matter lacks the practical descriptions of test procedures such as White Box testing, Black Box testing, Integration, etc.
This book provides a comprehensive review of Object-Oriented software engineering. Various analysis techniques are explained in detail and then expanded upon by the author. A weather-data-acquisition system and distribution system demonstrate the Object-Oriented methods in some detail.
This book explains the principles behind behavioral testing in general and behind the most important black-box testing techniques in use today, that is, testing a system based on its desired behavior or function and for conformance to its specifications. The book provides fully worked examples and leads the reader step-by-step from specifications to finished test cases.
This book provides good, high-level descriptions of object definitions and relationships, the behavior of objects in systems design, and how they are operated on and controlled. It provides good modeling technique to use in analysis and design.
We are building systems today--and using computers to control them—which have the potential for large-scale destruction of life and environment. More than ever, software engineers and system developers, as well as their managers, must understand the issues and develop the skills needed to anticipate and prevent accidents before they occur. Professionals should not require a catastrophe to happen before taking action.
This book offers a balanced presentation of theory and practice. Featuring exhaustive coverage of the foundations of reliability, safety, and testability, it uses real-world examples, illustrations, and clear descriptions to explore all of the latest techniques for assessing those qualities.
This book provides a throrough overview of the entire software-development process, from initial specification to final testing. The individual components are described in a cohesive manner such that, if these guidelines are adhered to, the product will be accurate, maintainable, and well documented. The book is ideal for a college-level computer science course. It is also ideal for a software manager who is starting a new project and is in a position to enforce these policies.
(no abstract available)
This book presents a comprehensive overview of current software quality assurance and metrics in practice in industry, with contributions from around the world. The book discusses themes that are influencing current practice and international standards. The book moves from a presentation of measurement framework, to methods and tools, to research case studies of QA and metrics.
Software Quality Control, Error, Analysis
This is a practical book that shows software developers how to comply with the International Standards Organization's (ISO) quality standard and how to use it as a catalyst for improved quality throughout the development process. It addresses issues of quality, management, and control in the software development industry. It shows software developers how to come to terms with ISO 9001 and how to use it specifically in the development process.
Software Testing offers an up-to-date synthesis of information in the field of software testing. It is the only text to bring together the two fundamental approaches--functional and structural--with numerous practical examples and exercises. The material provides the basis for making well-informed choices regarding appropriate techniques. Part I focuses on the mathematics needed to understand and correctly apply the two fundamental approaches.
This book on systems management discusses important concerns for the development of systems from the perspective of information technology, information systems, and software systems engineering. It focuses on the systems management of processes for information technology and software development organizations.
This handbook provides a good introduction to test automation and an overview of key technical concepts. It helps the reader to select a test-automation approach and to choose the right testing process.
This book provides a description and technical overview of the CMM, along with guidelines for improving software process management in general. It is a sequel to Watts Humphrey's work Managing the Software Process in that it structures the maturity framework presented in that book more formally.
This reference presents, in detail, an effective, step-by-step, cost-effective approach to software testing, which is based on common practice, with improvements inspired by academic testing research and practical experience. The approach is designed to be gradually adoptable, so that it does not disrupt current work. It scales down gracefully under schedule pressure.
Large software systems need to be carefully tracked. This book gives the methods and theories needed to set up checks and balances for a software system. Due to the tremendous amount of code, complex software systems need to be carefully monitored to ensure they run efficiently when they are completed.
(no abstract available)
Although described as a case history on implementing concurrent engineering, this book is essentially a textbook of the classic principles and techniques of Total Quality Management. By extension through TQM's emphasis on improving processes, the book also addresses related topics. They include process reengineering, the seven basic and seven advanced quality problem-solving tools, and team building.
Functional Program Testing and Analysis, published in 1987, looks as software test and evaluation from the perspective of the functions a program performs.
The author explores the concept of proving correctness of software by tracing the paths the program may execute with different imputs.
Although dated, this book offers insight into the early thinking behind software testing as a professional discipline.
This book is volume three in a four-volume set. The book outlines how to produce high-quality software through high-quality managers.
This book is recommended reading for anyone in software development who has to honor a commitment. It examines the characteristics of risk in general and emphasizes the creative nature of such analysis. The coverage then turns to the establishment of an "optimum risk environment" and shows the reader how to manage this at every stage through successful project conclusion.
Software configuration management is the most effective management and communication tool in existence for understanding and following processes which occur during the evolution of a product or system. The book is a guidebook for the software practitioner and is intended to serve the software developer as a tool for accomplishing a specific task. The book discusses the four main task or identification, change control, configuration, auditing and reporting.
Considered the founder of this research area, Nielsen presents a contributed exposition written by the foremost experts in this rapidly growing and important field. The book is devised for user interface practitioners searching for cost-effective ways of improving their designs. The book begins with descriptions of simple discount usability engineering methods, such as heuristic evaluation which can be learned quickly and immediately applied to the reader's current project.
The author (from Telecom Australia) describes particular tools, usability testing, and evaluation procedures. Most of these have been derived from behavioral and social science, but have been updated specifically to the human-computer interaction environment. Numerous examples show how and when the tools can be used most effectively.
This book discusses the development of computer systems for use in safety critical applications, the technologies used, and the experience of those using them. It includes contributions from many experts in the field.
This book shows software professionals how to achieve high-quality software through inspection. It shows how to do a formal review of documents to find errors, giving effective statistical process improvement. Properly run inspections cut development costs, bringing with them higher productivity, better defect tracking, and improved documentation.
For anyone responsible for designing, creating, programming, or managing a software system, this book offers a basic guide to achieve significant improvement in the quality and productivity of the systems. It explains how to control individual processes that span the software lifecycle with process-quality metrics and quantitative modeling.
This authoritative handbook draws together into a single, comprehensive volume the proven software testing principles, standards, and approaches that can be applied in MIS applications development. Practical and technical in perspective--yet accessible in approach (even to those without a technical background)--it demonstrates how to plan software testing activities in specific situations relating to MIS projects.
This collection of software-project cases details potential barriers to success, explains how to preempt problems, and how to correct mistakes. Examples from actual software projects illustrate a range of poor, satisfactory, and successful endeavors. With the lessons learned on these past projects, you'll build a profile of the healthy project that will ensure the success of future efforts.
This book is volume one in a four-volume set. It focuses on the theme that high-quality software demands high-quality management. Weinberg tackles the first requirement for developing quality software: learning to think correctly about problems, solutions, and quality itself.
Software Configuration Management provides step-by-step guidance for identifying the items of a software system that are subject to change during the system life cycle. It defines procedures for the systematic evaluation, coordination, approval or disapproval, and implementation of all changes to the software configuration.
This book is the first volume in a two-volume set. It consists of a collection of papers surveying the important software metrics developed over the past twenty years and addresses the question of validity.
The authors--who have a lot of experience inside Bell Labs--discuss successful implementation of software inspections. The book describes the steps in traditional inspections and explores ways to integrate inspections into existing development procedures. It discusses how to define inspection parameters and manage the process across the scope of an entire project, and how to train personnel and fine-tune the technique across a broad spectrum of projects.
This book contains tutorial material oriented toward assisting practitioners of metrics. It also contains summaries of some of the better practices and applications of metrics for a number of companies and projects in the US and Europe. The book is derived from the PYRAMID Best Practices guide.
Of the many books on software quality, this one offers a unique question-and-answer format. It emphasizes the most crucial quality considerations and places a strong focus on the quality-productivity link. A wealth of examples and attention to practical techniques make it easy to use. The book includes a number of examples in C.
This book examines some of the difficulties associated wth testing large systems (defined as 3 million LOC and up), but is also useful for developers and testers of smaller systems. Topics include testing methodology, documentation, metrics, and management.
This is the first book on the "cleanroom" approach to building software. The book outlines what the cleanroom process is and reports on experiences using it in industrial strength projects. Managers and practitioners will find the book worthwhile and stimulating. It is a must for anyone who plans to seriously introduce or experiment with the cleanroom ideas.
From the foreword by Tom Peters: "This is a remarkable tale. IBM had an amazing success with its AS/400 mid-range family of computers. So? The 'so' is revolution and transformation—fast, no less. Disarray is too kind a word for IBM's position in the growing important mid-range computer business in 1986. Competitors were attacking from every point on the compass. IBM Rochester didn't even know how to measure market share.
This book is an expanded version and new edition of what used to be called Effective Methods of EDP Quality Assurance. New chapters include coverage verification, validation, testing techniques, maintenance, QA for the personal computer, and measuring reliability. With its appendices the book now extends over 800 pages and is hard to digest. The book contains a sample QA manual as an appendix. The book is worthwhile for the dedicated QA specialist or organization.
The title of this book does not do it justice. It
does, indeed, discuss requirements, prototyping,
and software creation; but it also addresses risk
management, the process of change, the psychology
of software development, and more. The book is
very readable and thoroughly enjoyable.
From the preface, “…this book describes the field of risk analysis and management, how it is performed, and provides an identification of the areas of risk in the building of software systems”.
This is the best book available on the special topic of performance analysis. Jain has a considerable base of industry experience to draw on as he discusses modeling, simulation, and analysis methods for a variety of systems including networks, database management systems, and distributed systems. The book assumes substantial statistical background from the reader and can be pretty tough to plow through. It includes a good case study from Digital Equipment Corporation.
Based on the method used successfully at Digital Equipment Corporation, this volume details the time-phased approach to software development for project managers working with mini- or microcomputers.
This comprehensive book incorporates the perspective of the IEEE standards (Hollocker chaired the effort that produced the ANSI/lEEE Standard for Software Reviews and Audits). The book has fresh material with good coverage of software audits and an emphasis on the use of audits for what Hollocker refers to as a "controlled process evolution." The human side of reviews is not emphasized. The book’s 130-page appendix contains sample checklists, forms, and report documents.
This book presents a collection of test techniques, many of which are based on the author's firsthand experience as Director of Testing and Quality Assurance for a telecommunications software producer. It describes various techniques (decision tables and formal grammars) that provide precise specification-driven testing.
The book focuses on two processes that the author refers to as "technical planning" and "quality planning." They are designed to lead the manager through a technical assessment of the problem to be solved and to proceed from that to the formulation of a traditional resource plan.
The stated aim of this book is to contribute to the wider use of formal methods in the specification and design of computer systems. VDM was developed in an industrial environment and has seen significant use in England. Attention is focused on formal specification and verified design.
This book is not pleasing to look at (having been produced directly from a computer text file), but it provides an introductory, nontechnical description of the testing process. Organized by software lifecycle phases, it includes chapters on testing requirements, designing tests from requirements, testing in the design stage, functional testing, tests designed from the program code, from integration to system testing, and testing with the operational phase.
A guide to the methods, techniques, and tools for testing computer applications under a structured methodology. It discusses what to test, how to do it, and when.
This book is designed to help software engineers and project managers to understand and solve the problems involved in developing complex software systems. It provides practical guidelines and tools for managing the technical and organizational aspects of software engineering projects.
Although this book is more than seven years old, most of the principles and concepts continue to be just as true today. The book covers many aspects of software verification and validation with the primary emphasis on testing. It contains an overview of test methods and tools, including sample reports and templates. It is especially useful when used for viewing testing from a management perspective and for discussing many of the associated management issues.
Organized as a collection of essays about programming, this is another Weinberg classic. If you are a programmer, or manage programmers, or indeed just associate with programmers, this is a book for you.
More system development efforts fail due to poorly defined user requirements than any other cause. This book examines each facet of this critical activity and delineates a plan to systematically specify user-centered requirements. The book includes detailed discussion on three basic types of analysis: objective analysis, functional analysis, and data analysis.
(From the Back Cover) Based on the authors' extensive experience in the software industry, this volume describes and extensively illustrates practical techniques for transforming any software development endeavor into a visible, traceable, and hence manageable process.
The third in a series in software engineering, here is a timely and integrated approach designed to enhance productivity and assure quality software. Explores the development process in its entirety, from methodologies of development to the flow of work and responsibility within a project, to management controls needed to monitor and direct the process.
This book grew out of an internal class taught at AT&T Bell Laboratories. The authors also gained experience and insight by testing and refining the book’s ideas on a large number of software projects at AT&T. If offers the best coverage of reliability models and measurement we have seen. Examples and case-study problems are sprinkled liberally throughout, which help the reader understand some of the more theoretical material.
(no abstract available)
Structured in three parts - 1. Will the Computer Do What I Want To Do? 2. Does the Software Work Correctly? 3. So Now the Software is in Operation.
A very basic and introductory treatment, good for the novice acceptance tester.
Software testing and software configuration management are usually thought of as two distinct functions within the software engineering discipline, but without good configuration management, the software testing effort frequently flounders. In this book, Babich clearly spells out the most common problems in configuration management and offers some down-to-earth solutions.
The author analyzes the full spectrum of detecting and removing bugs from computer programs during development and subsequent modification.
A comprehensive guide that shows you how to create and maintain reliable, robust, high-quality software. Using nontechnical, easy-to-understand language, the book runs the gamut from unit testing to system testing. Quality assurance checklists guide you.
Designed for first-time and experienced users, this book describes the UNIX® programming environment and philosophy in detail.Readers will gain an understanding not only of how to use the system, its components, and the programs, but also how these fit into the total environment.
Stressing the basic but often ignored management concept of maximum efficiency and zero defects, the author details easy-to-implement programs and actual case histories designed to benefit the small businessman, the middle manager, and the supervisor, as well as the giant corporation.
This book is an excellent reference work on software measurement. Heavy emphasis is on estimating--including an in-depth explanation of the COCOMO model. Even though this book was published almost ten years ago, it is still one of the most quoted books on the subject of software measurement.
(no abstract available)
This is the seminal book on software testing and one we continue to recommend to those who are serious about testing. Myers' book contains practical "how-to" technical information on software testing with the main emphasis on methodologies for the design of effective test cases. It also covers psychological and economic issues, managerial aspects of testing, test tools, debugging, and code inspections. Comprehensive examples of checklists support the presentation.