Foundations of Software Engineering

Foundations of Software Engineering

Author: Ashfaque Ahmed

Publisher: CRC Press

Published: 2016-08-25

Total Pages: 770

ISBN-13: 1498737633

DOWNLOAD EBOOK

The best way to learn software engineering is by understanding its core and peripheral areas. Foundations of Software Engineering provides in-depth coverage of the areas of software engineering that are essential for becoming proficient in the field. The book devotes a complete chapter to each of the core areas. Several peripheral areas are also explained by assigning a separate chapter to each of them. Rather than using UML or other formal notations, the content in this book is explained in easy-to-understand language. Basic programming knowledge using an object-oriented language is helpful to understand the material in this book. The knowledge gained from this book can be readily used in other relevant courses or in real-world software development environments. This textbook educates students in software engineering principles. It covers almost all facets of software engineering, including requirement engineering, system specifications, system modeling, system architecture, system implementation, and system testing. Emphasizing practical issues, such as feasibility studies, this book explains how to add and develop software requirements to evolve software systems. This book was written after receiving feedback from several professors and software engineers. What resulted is a textbook on software engineering that not only covers the theory of software engineering but also presents real-world insights to aid students in proper implementation. Students learn key concepts through carefully explained and illustrated theories, as well as concrete examples and a complete case study using Java. Source code is also available on the book’s website. The examples and case studies increase in complexity as the book progresses to help students build a practical understanding of the required theories and applications.


Book Synopsis Foundations of Software Engineering by : Ashfaque Ahmed

Download or read book Foundations of Software Engineering written by Ashfaque Ahmed and published by CRC Press. This book was released on 2016-08-25 with total page 770 pages. Available in PDF, EPUB and Kindle. Book excerpt: The best way to learn software engineering is by understanding its core and peripheral areas. Foundations of Software Engineering provides in-depth coverage of the areas of software engineering that are essential for becoming proficient in the field. The book devotes a complete chapter to each of the core areas. Several peripheral areas are also explained by assigning a separate chapter to each of them. Rather than using UML or other formal notations, the content in this book is explained in easy-to-understand language. Basic programming knowledge using an object-oriented language is helpful to understand the material in this book. The knowledge gained from this book can be readily used in other relevant courses or in real-world software development environments. This textbook educates students in software engineering principles. It covers almost all facets of software engineering, including requirement engineering, system specifications, system modeling, system architecture, system implementation, and system testing. Emphasizing practical issues, such as feasibility studies, this book explains how to add and develop software requirements to evolve software systems. This book was written after receiving feedback from several professors and software engineers. What resulted is a textbook on software engineering that not only covers the theory of software engineering but also presents real-world insights to aid students in proper implementation. Students learn key concepts through carefully explained and illustrated theories, as well as concrete examples and a complete case study using Java. Source code is also available on the book’s website. The examples and case studies increase in complexity as the book progresses to help students build a practical understanding of the required theories and applications.


FUNDAMENTALS OF SOFTWARE ENGINEERING, FIFTH EDITION

FUNDAMENTALS OF SOFTWARE ENGINEERING, FIFTH EDITION

Author: MALL, RAJIB

Publisher: PHI Learning Pvt. Ltd.

Published: 2018-09-01

Total Pages: 614

ISBN-13: 9388028031

DOWNLOAD EBOOK

This new edition of the book, is restructured to trace the advancements made and landmarks achieved in software engineering. The text not only incorporates latest and enhanced software engineering techniques and practices, but also shows how these techniques are applied into the practical software assignments. The chapters are incorporated with illustrative examples to add an analytical insight on the subject. The book is logically organised to cover expanded and revised treatment of all software process activities. KEY FEATURES • Large number of worked-out examples and practice problems • Chapter-end exercises and solutions to selected problems to check students’ comprehension on the subject • Solutions manual available for instructors who are confirmed adopters of the text • PowerPoint slides available online at www.phindia.com/rajibmall to provide integrated learning to the students NEW TO THE FIFTH EDITION • Several rewritten sections in almost every chapter to increase readability • New topics on latest developments, such as agile development using SCRUM, MC/DC testing, quality models, etc. • A large number of additional multiple choice questions and review questions in all the chapters help students to understand the important concepts TARGET AUDIENCE • BE/B.Tech (CS and IT) • BCA/MCA • M.Sc. (CS) • MBA


Book Synopsis FUNDAMENTALS OF SOFTWARE ENGINEERING, FIFTH EDITION by : MALL, RAJIB

Download or read book FUNDAMENTALS OF SOFTWARE ENGINEERING, FIFTH EDITION written by MALL, RAJIB and published by PHI Learning Pvt. Ltd.. This book was released on 2018-09-01 with total page 614 pages. Available in PDF, EPUB and Kindle. Book excerpt: This new edition of the book, is restructured to trace the advancements made and landmarks achieved in software engineering. The text not only incorporates latest and enhanced software engineering techniques and practices, but also shows how these techniques are applied into the practical software assignments. The chapters are incorporated with illustrative examples to add an analytical insight on the subject. The book is logically organised to cover expanded and revised treatment of all software process activities. KEY FEATURES • Large number of worked-out examples and practice problems • Chapter-end exercises and solutions to selected problems to check students’ comprehension on the subject • Solutions manual available for instructors who are confirmed adopters of the text • PowerPoint slides available online at www.phindia.com/rajibmall to provide integrated learning to the students NEW TO THE FIFTH EDITION • Several rewritten sections in almost every chapter to increase readability • New topics on latest developments, such as agile development using SCRUM, MC/DC testing, quality models, etc. • A large number of additional multiple choice questions and review questions in all the chapters help students to understand the important concepts TARGET AUDIENCE • BE/B.Tech (CS and IT) • BCA/MCA • M.Sc. (CS) • MBA


Fundamentals of Software Architecture

Fundamentals of Software Architecture

Author: Mark Richards

Publisher: O'Reilly Media

Published: 2020-01-28

Total Pages: 422

ISBN-13: 1492043427

DOWNLOAD EBOOK

Salary surveys worldwide regularly place software architect in the top 10 best jobs, yet no real guide exists to help developers become architects. Until now. This book provides the first comprehensive overview of software architecture’s many aspects. Aspiring and existing architects alike will examine architectural characteristics, architectural patterns, component determination, diagramming and presenting architecture, evolutionary architecture, and many other topics. Mark Richards and Neal Ford—hands-on practitioners who have taught software architecture classes professionally for years—focus on architecture principles that apply across all technology stacks. You’ll explore software architecture in a modern light, taking into account all the innovations of the past decade. This book examines: Architecture patterns: The technical basis for many architectural decisions Components: Identification, coupling, cohesion, partitioning, and granularity Soft skills: Effective team management, meetings, negotiation, presentations, and more Modernity: Engineering practices and operational approaches that have changed radically in the past few years Architecture as an engineering discipline: Repeatable results, metrics, and concrete valuations that add rigor to software architecture


Book Synopsis Fundamentals of Software Architecture by : Mark Richards

Download or read book Fundamentals of Software Architecture written by Mark Richards and published by O'Reilly Media. This book was released on 2020-01-28 with total page 422 pages. Available in PDF, EPUB and Kindle. Book excerpt: Salary surveys worldwide regularly place software architect in the top 10 best jobs, yet no real guide exists to help developers become architects. Until now. This book provides the first comprehensive overview of software architecture’s many aspects. Aspiring and existing architects alike will examine architectural characteristics, architectural patterns, component determination, diagramming and presenting architecture, evolutionary architecture, and many other topics. Mark Richards and Neal Ford—hands-on practitioners who have taught software architecture classes professionally for years—focus on architecture principles that apply across all technology stacks. You’ll explore software architecture in a modern light, taking into account all the innovations of the past decade. This book examines: Architecture patterns: The technical basis for many architectural decisions Components: Identification, coupling, cohesion, partitioning, and granularity Soft skills: Effective team management, meetings, negotiation, presentations, and more Modernity: Engineering practices and operational approaches that have changed radically in the past few years Architecture as an engineering discipline: Repeatable results, metrics, and concrete valuations that add rigor to software architecture


Fundamentals of Software Engineering

Fundamentals of Software Engineering

Author: Hitesh Mohapatra

Publisher: BPB Publications

Published: 2020-01-14

Total Pages: 553

ISBN-13: 9388511778

DOWNLOAD EBOOK

Practical Handbook to understand the hidden language of computer hardware and software DESCRIPTION This book teaches the essentials of software engineering to anyone who wants to become an active and independent software engineer expert. It covers all the software engineering fundamentals without forgetting a few vital advanced topics such as software engineering with artificial intelligence, ontology, and data mining in software engineering. The primary goal of the book is to introduce a limited number of concepts and practices which will achieve the following two objectives: Teach students the skills needed to execute a smallish commercial project. Provide students with the necessary conceptual background for undertaking advanced studies in software engineering through courses or on their own. KEY FEATURES - This book contains real-time executed examples along with case studies. - Covers advanced technologies that are intersectional with software engineering. - Easy and simple language, crystal clear approach, and straight forward comprehensible presentation. - Understand what architecture design involves, and where it fits in the full software development life cycle. - Learning and optimizing the critical relationships between analysis and design. - Utilizing proven and reusable design primitives and adapting them to specific problems and contexts. WHAT WILL YOU LEARN This book includes only those concepts that we believe are foundational. As executing a software project requires skills in two dimensionsÑengineering and project managementÑthis book focuses on crucial tasks in these two dimensions and discuss the concepts and techniques that can be applied to execute these tasks effectively.Ê WHO THIS BOOK IS FOR The book is primarily intended to work as a beginnerÕs guide for Software Engineering in any undergraduate or postgraduate program. It is directed towards students who know the program but have not had formal exposure to software engineering. The book can also be used by teachers and trainers who are in a similar stateÑthey know some programming but want to be introduced to the systematic approach of software engineering. TABLE OF CONTENTS 1. Introductory Concepts of Software Engineering 2. Modelling Software Development Life Cycle 3. Software Requirement Analysis and Specification 4. Software Project Management Framework 5. Software Project Analysis and Design 6. Object-Oriented Analysis and Design 7. Designing Interfaces & Dialogues and Database Design 8. Coding and Debugging 9. Software Testing 10. System Implementation and Maintenance 11.Reliability 12.ÊSoftware Quality 13. CASE and Reuse 14. Recent Trends and Development in Software Engineering 15.ÊModel Questions with Answers


Book Synopsis Fundamentals of Software Engineering by : Hitesh Mohapatra

Download or read book Fundamentals of Software Engineering written by Hitesh Mohapatra and published by BPB Publications. This book was released on 2020-01-14 with total page 553 pages. Available in PDF, EPUB and Kindle. Book excerpt: Practical Handbook to understand the hidden language of computer hardware and software DESCRIPTION This book teaches the essentials of software engineering to anyone who wants to become an active and independent software engineer expert. It covers all the software engineering fundamentals without forgetting a few vital advanced topics such as software engineering with artificial intelligence, ontology, and data mining in software engineering. The primary goal of the book is to introduce a limited number of concepts and practices which will achieve the following two objectives: Teach students the skills needed to execute a smallish commercial project. Provide students with the necessary conceptual background for undertaking advanced studies in software engineering through courses or on their own. KEY FEATURES - This book contains real-time executed examples along with case studies. - Covers advanced technologies that are intersectional with software engineering. - Easy and simple language, crystal clear approach, and straight forward comprehensible presentation. - Understand what architecture design involves, and where it fits in the full software development life cycle. - Learning and optimizing the critical relationships between analysis and design. - Utilizing proven and reusable design primitives and adapting them to specific problems and contexts. WHAT WILL YOU LEARN This book includes only those concepts that we believe are foundational. As executing a software project requires skills in two dimensionsÑengineering and project managementÑthis book focuses on crucial tasks in these two dimensions and discuss the concepts and techniques that can be applied to execute these tasks effectively.Ê WHO THIS BOOK IS FOR The book is primarily intended to work as a beginnerÕs guide for Software Engineering in any undergraduate or postgraduate program. It is directed towards students who know the program but have not had formal exposure to software engineering. The book can also be used by teachers and trainers who are in a similar stateÑthey know some programming but want to be introduced to the systematic approach of software engineering. TABLE OF CONTENTS 1. Introductory Concepts of Software Engineering 2. Modelling Software Development Life Cycle 3. Software Requirement Analysis and Specification 4. Software Project Management Framework 5. Software Project Analysis and Design 6. Object-Oriented Analysis and Design 7. Designing Interfaces & Dialogues and Database Design 8. Coding and Debugging 9. Software Testing 10. System Implementation and Maintenance 11.Reliability 12.ÊSoftware Quality 13. CASE and Reuse 14. Recent Trends and Development in Software Engineering 15.ÊModel Questions with Answers


Fundamentals of Dependable Computing for Software Engineers

Fundamentals of Dependable Computing for Software Engineers

Author: John Knight

Publisher: CRC Press

Published: 2012-01-12

Total Pages: 438

ISBN-13: 1439862559

DOWNLOAD EBOOK

Fundamentals of Dependable Computing for Software Engineers presents the essential elements of computer system dependability. The book describes a comprehensive dependability-engineering process and explains the roles of software and software engineers in computer system dependability. Readers will learn: Why dependability matters What it means for a system to be dependable How to build a dependable software system How to assess whether a software system is adequately dependable The author focuses on the actions needed to reduce the rate of failure to an acceptable level, covering material essential for engineers developing systems with extreme consequences of failure, such as safety-critical systems, security-critical systems, and critical infrastructure systems. The text explores the systems engineering aspects of dependability and provides a framework for engineers to reason and make decisions about software and its dependability. It also offers a comprehensive approach to achieve software dependability and includes a bibliography of the most relevant literature. Emphasizing the software engineering elements of dependability, this book helps software and computer engineers in fields requiring ultra-high levels of dependability, such as avionics, medical devices, automotive electronics, weapon systems, and advanced information systems, construct software systems that are dependable and within budget and time constraints.


Book Synopsis Fundamentals of Dependable Computing for Software Engineers by : John Knight

Download or read book Fundamentals of Dependable Computing for Software Engineers written by John Knight and published by CRC Press. This book was released on 2012-01-12 with total page 438 pages. Available in PDF, EPUB and Kindle. Book excerpt: Fundamentals of Dependable Computing for Software Engineers presents the essential elements of computer system dependability. The book describes a comprehensive dependability-engineering process and explains the roles of software and software engineers in computer system dependability. Readers will learn: Why dependability matters What it means for a system to be dependable How to build a dependable software system How to assess whether a software system is adequately dependable The author focuses on the actions needed to reduce the rate of failure to an acceptable level, covering material essential for engineers developing systems with extreme consequences of failure, such as safety-critical systems, security-critical systems, and critical infrastructure systems. The text explores the systems engineering aspects of dependability and provides a framework for engineers to reason and make decisions about software and its dependability. It also offers a comprehensive approach to achieve software dependability and includes a bibliography of the most relevant literature. Emphasizing the software engineering elements of dependability, this book helps software and computer engineers in fields requiring ultra-high levels of dependability, such as avionics, medical devices, automotive electronics, weapon systems, and advanced information systems, construct software systems that are dependable and within budget and time constraints.


Fundamentals of Software Engineering

Fundamentals of Software Engineering

Author: Mehdi Dastani

Publisher: Springer

Published: 2017-10-10

Total Pages: 270

ISBN-13: 331968972X

DOWNLOAD EBOOK

This book constitutes the thoroughly refereed post-conference proceedings of the 7th International Conference on Fundamentals of Software Engineering, FSEN 2017, held in Tehran, Iran, in April 2017. The 16 full papers presented in this volume were carefully reviewed and selected from 49 submissions. The topics of interest in FSEN span over all aspects of formal methods, especially those related to advancing the application of formal methods in software industry and promoting their integration with practical engineering techniques.


Book Synopsis Fundamentals of Software Engineering by : Mehdi Dastani

Download or read book Fundamentals of Software Engineering written by Mehdi Dastani and published by Springer. This book was released on 2017-10-10 with total page 270 pages. Available in PDF, EPUB and Kindle. Book excerpt: This book constitutes the thoroughly refereed post-conference proceedings of the 7th International Conference on Fundamentals of Software Engineering, FSEN 2017, held in Tehran, Iran, in April 2017. The 16 full papers presented in this volume were carefully reviewed and selected from 49 submissions. The topics of interest in FSEN span over all aspects of formal methods, especially those related to advancing the application of formal methods in software industry and promoting their integration with practical engineering techniques.


Fundamentals of Software Startups

Fundamentals of Software Startups

Author: Anh Nguyen-Duc

Publisher: Springer

Published: 2020-03-13

Total Pages: 343

ISBN-13: 9783030359829

DOWNLOAD EBOOK

This book discusses important topics for engineering and managing software startups, such as how technical and business aspects are related, which complications may arise and how they can be dealt with. It also addresses the use of scientific, engineering, and managerial approaches to successfully develop software products in startup companies. The book covers a wide range of software startup phenomena, and includes the knowledge, skills, and capabilities required for startup product development; team capacity and team roles; technical debt; minimal viable products; startup metrics; common pitfalls and patterns observed; as well as lessons learned from startups in Finland, Norway, Brazil, Russia and USA. All results are based on empirical findings, and the claims are backed by evidence and concrete observations, measurements and experiments from qualitative and quantitative research, as is common in empirical software engineering. The book helps entrepreneurs and practitioners to become aware of various phenomena, challenges, and practices that occur in real-world startups, and provides insights based on sound research methodologies presented in a simple and easy-to-read manner. It also allows students in business and engineering programs to learn about the important engineering concepts and technical building blocks of a software startup. It is also suitable for researchers at different levels in areas such as software and systems engineering, or information systems who are studying advanced topics related to software business.


Book Synopsis Fundamentals of Software Startups by : Anh Nguyen-Duc

Download or read book Fundamentals of Software Startups written by Anh Nguyen-Duc and published by Springer. This book was released on 2020-03-13 with total page 343 pages. Available in PDF, EPUB and Kindle. Book excerpt: This book discusses important topics for engineering and managing software startups, such as how technical and business aspects are related, which complications may arise and how they can be dealt with. It also addresses the use of scientific, engineering, and managerial approaches to successfully develop software products in startup companies. The book covers a wide range of software startup phenomena, and includes the knowledge, skills, and capabilities required for startup product development; team capacity and team roles; technical debt; minimal viable products; startup metrics; common pitfalls and patterns observed; as well as lessons learned from startups in Finland, Norway, Brazil, Russia and USA. All results are based on empirical findings, and the claims are backed by evidence and concrete observations, measurements and experiments from qualitative and quantitative research, as is common in empirical software engineering. The book helps entrepreneurs and practitioners to become aware of various phenomena, challenges, and practices that occur in real-world startups, and provides insights based on sound research methodologies presented in a simple and easy-to-read manner. It also allows students in business and engineering programs to learn about the important engineering concepts and technical building blocks of a software startup. It is also suitable for researchers at different levels in areas such as software and systems engineering, or information systems who are studying advanced topics related to software business.


Software Engineering at Google

Software Engineering at Google

Author: Titus Winters

Publisher: O'Reilly Media

Published: 2020-02-28

Total Pages: 602

ISBN-13: 1492082767

DOWNLOAD EBOOK

Today, software engineers need to know not only how to program effectively but also how to develop proper engineering practices to make their codebase sustainable and healthy. This book emphasizes this difference between programming and software engineering. How can software engineers manage a living codebase that evolves and responds to changing requirements and demands over the length of its life? Based on their experience at Google, software engineers Titus Winters and Hyrum Wright, along with technical writer Tom Manshreck, present a candid and insightful look at how some of the world’s leading practitioners construct and maintain software. This book covers Google’s unique engineering culture, processes, and tools and how these aspects contribute to the effectiveness of an engineering organization. You’ll explore three fundamental principles that software organizations should keep in mind when designing, architecting, writing, and maintaining code: How time affects the sustainability of software and how to make your code resilient over time How scale affects the viability of software practices within an engineering organization What trade-offs a typical engineer needs to make when evaluating design and development decisions


Book Synopsis Software Engineering at Google by : Titus Winters

Download or read book Software Engineering at Google written by Titus Winters and published by O'Reilly Media. This book was released on 2020-02-28 with total page 602 pages. Available in PDF, EPUB and Kindle. Book excerpt: Today, software engineers need to know not only how to program effectively but also how to develop proper engineering practices to make their codebase sustainable and healthy. This book emphasizes this difference between programming and software engineering. How can software engineers manage a living codebase that evolves and responds to changing requirements and demands over the length of its life? Based on their experience at Google, software engineers Titus Winters and Hyrum Wright, along with technical writer Tom Manshreck, present a candid and insightful look at how some of the world’s leading practitioners construct and maintain software. This book covers Google’s unique engineering culture, processes, and tools and how these aspects contribute to the effectiveness of an engineering organization. You’ll explore three fundamental principles that software organizations should keep in mind when designing, architecting, writing, and maintaining code: How time affects the sustainability of software and how to make your code resilient over time How scale affects the viability of software practices within an engineering organization What trade-offs a typical engineer needs to make when evaluating design and development decisions


Fundamentals of Software Testing

Fundamentals of Software Testing

Author: Bernard Homès

Publisher: John Wiley & Sons

Published: 2024-06-11

Total Pages: 299

ISBN-13: 139429896X

DOWNLOAD EBOOK

Software testing has greatly evolved since the first edition of this book in 2011. Testers are now required to work in "agile" teams and focus on automating test cases. It has thus been necessary to update this work, in order to provide fundamental knowledge that testers should have to be effective and efficient in today's world. This book describes the fundamental aspects of testing in the different lifecycles, and how to implement and benefit from reviews and static analysis. Multiple other techniques are approached, such as equivalence partitioning, boundary value analysis, use case testing, decision tables and state transitions. This second edition also covers test management, test progress monitoring and incident management, in order to ensure that the testing information is correctly provided to the stakeholders. This book provides detailed course-study material for the 2023 version of the ISTQB Foundation level syllabus, including sample questions to help prepare for exams.


Book Synopsis Fundamentals of Software Testing by : Bernard Homès

Download or read book Fundamentals of Software Testing written by Bernard Homès and published by John Wiley & Sons. This book was released on 2024-06-11 with total page 299 pages. Available in PDF, EPUB and Kindle. Book excerpt: Software testing has greatly evolved since the first edition of this book in 2011. Testers are now required to work in "agile" teams and focus on automating test cases. It has thus been necessary to update this work, in order to provide fundamental knowledge that testers should have to be effective and efficient in today's world. This book describes the fundamental aspects of testing in the different lifecycles, and how to implement and benefit from reviews and static analysis. Multiple other techniques are approached, such as equivalence partitioning, boundary value analysis, use case testing, decision tables and state transitions. This second edition also covers test management, test progress monitoring and incident management, in order to ensure that the testing information is correctly provided to the stakeholders. This book provides detailed course-study material for the 2023 version of the ISTQB Foundation level syllabus, including sample questions to help prepare for exams.


Concise Guide to Software Testing

Concise Guide to Software Testing

Author: Gerard O'Regan

Publisher: Springer Nature

Published: 2019-09-30

Total Pages: 309

ISBN-13: 3030284948

DOWNLOAD EBOOK

This practically-focused textbook provides a concise and accessible introduction to the field of software testing, explaining the fundamental principles and offering guidance on applying the theory in an industrial environment. Topics and features: presents a brief history of software quality and its influential pioneers, as well as a discussion of the various software lifecycles used in software development; describes the fundamentals of testing in traditional software engineering, and the role that static testing plays in building quality into a product; explains the process of software test planning, test analysis and design, and test management; discusses test outsourcing, and test metrics and problem solving; reviews the tools available to support software testing activities, and the benefits of a software process improvement initiative; examines testing in the Agile world, and the verification of safety critical systems; considers the legal and ethical aspects of software testing, and the importance of software configuration management; provides key learning topics and review questions in every chapter, and supplies a helpful glossary at the end of the book. This easy-to-follow guide is an essential resource for undergraduate students of computer science seeking to learn about software testing, and how to build high quality and reliable software on time and on budget. The work will also be of interest to industrialists including software engineers, software testers, quality professionals and software managers, as well as the motivated general reader.


Book Synopsis Concise Guide to Software Testing by : Gerard O'Regan

Download or read book Concise Guide to Software Testing written by Gerard O'Regan and published by Springer Nature. This book was released on 2019-09-30 with total page 309 pages. Available in PDF, EPUB and Kindle. Book excerpt: This practically-focused textbook provides a concise and accessible introduction to the field of software testing, explaining the fundamental principles and offering guidance on applying the theory in an industrial environment. Topics and features: presents a brief history of software quality and its influential pioneers, as well as a discussion of the various software lifecycles used in software development; describes the fundamentals of testing in traditional software engineering, and the role that static testing plays in building quality into a product; explains the process of software test planning, test analysis and design, and test management; discusses test outsourcing, and test metrics and problem solving; reviews the tools available to support software testing activities, and the benefits of a software process improvement initiative; examines testing in the Agile world, and the verification of safety critical systems; considers the legal and ethical aspects of software testing, and the importance of software configuration management; provides key learning topics and review questions in every chapter, and supplies a helpful glossary at the end of the book. This easy-to-follow guide is an essential resource for undergraduate students of computer science seeking to learn about software testing, and how to build high quality and reliable software on time and on budget. The work will also be of interest to industrialists including software engineers, software testers, quality professionals and software managers, as well as the motivated general reader.