Advanced Software Testing, Vol. 2, 2nd Edition – Study guide for ISTQB Advanced Test Manager – #bookreview

Advanced Software Testing, Volume 2, 2nd Edition

Guide to the ISTQB Advanced Certification as an Advanced Test Manager

Rex Black

(Rocky Nook – paperback)

 

Software testing is a complex and constantly evolving field. And having some well-recognized certifications is a good way to help encourage  your continued employability as a software tester and manager of software test teams.

Advanced Software Testing, Volume 2, 2nd Edition, focuses on showing you how to obtain an International Software Testing Qualifications Board (ISTQB) certification as an advanced test manager. The 519-page book is well-written and lays out what test managers should know to gain advanced skills in test estimation, test planning, test monitoring, and test control.

It also emphasizes  knowing how to define overall testing goals and strategies for the systems you and your team are testing. And it gives you strategies for preparing for and passing the 65-question Advanced Test Manager qualification test that is administered by ISTQB member boards and exam providers.

This second edition has been updated to reflect the ISTQB’s Advanced Test Manager 2012 Syllabus.  Advanced Software Testing, Volume 2, 2nd Edition takes a hands-on, exercise-rich approach, and it provides experience with essential how-tos for planning, scheduling, and tracking important tasks.

The updated book focuses on a variety of key processes that a software test manager must be able to handle, including describing and organizing the activities necessary to select, find and assign the right number of resources for testing tasks. You also must learn how to organize and lead testing teams, and how to manage the communications among testing teams’ members and between testing teams and all the other stakeholders. And you will need to know how to justify your testing decisions and report necessary information both to your superiors and members of your teams.

As for taking the complicated qualifications test, the author urges: “Don’t panic! Remember, the exam is meant to test your achievement of the learning objectives in the Advanced  Test Manager syllabus.” In other words, you cannot simply skim this book and take the exam. You must spend significant time on the learning exercises, sample questions and ISTQB glossary.

Si Dunn

***

Get the book here: Advanced Software Testing, Volume 2, 2nd Edition

***

Software Testing Foundations, 4th Edition – Updated study guide for Certified Tester Exam – #bookreview

Software Testing Foundations, 4th Edition

A Study Guide for the Certified Tester Exam

Andreas Spillner, Tilo Linz, Hans Schaefer

(Rocky Nook – paperback, Kindle

 

Worldwide, more than 300,000 software testers now have certifications recognized by the International Software Testing Qualifications Board (ISTQB).

“The ISTQB Certified Tester qualification scheme has three steps,” the authors note. “The basics are described in the Foundation Level curriculum (syllabus). Building on this is the Advanced Level certificate, showing a deeper knowledge of testing and evaluation. The third level, the Expert Level, is intended for experienced professional software testers and consists of several modules about different special topics.”

This newly updated study guide covers subjects on the Certified Tester Exam at the Foundation Level. The major topics are:

  • Fundamentals of Testing
  • Testing in the Software Life Cycle
  • Static Test
  • Dynamic Analysis – Test Design Techniques
  • Test Management

Appendices cover standardized test plans, offer exercises for each chapter that follow the introduction, and provide a glossary of terms, many of which are recognized by the ISTQB.

“Testing has no tradition for using standardized terminology,” the writers caution. “Thus, the test plan should contain an explanation of the testing terms used in the project. There is a high danger that different people will have different interpretations of testing terms. For example, just ask several people involved in the project for the definition of the term load testing.”

The three writers point out that “[t]he Certified Tester Foundation Level syllabus version 2011 forms the basis of this book . A few updates to the syllabus, which is due to be released in 2015, are noted in the book. The respective national boards may create and maintain additional national versions of the syllabus. These may contain minor deviations from the English original, such as, for example, references to local standards. The national boards coordinate and guarantee mutual compatibility of their curricula and exams. In this context, the responsible board is the International Software Testing Qualifications Board.”

Whether you plan to seek formal ISTQB certifications or just up your game as a software tester, Software Testing Foundations can be an excellent how-to guide. Many aspects of software testing–a complex and often underappreciated field–are covered. Overall, the book is well-organized and written clearly, and its illustrations, while somewhat sparse, are adequate to the task.

Si Dunn

 

Improving the Test Process – A Study Guide for ISTQB Expert Level Module – #software #bookreview

Improving the Test Process

Implementing Improvement and Change — A Study Guide for the ISTQB Expert Level Module

Graham Bath and Erik van Veenendaal
(Rocky Nook – paperback, Kindle)

If you are a software tester seeking an important new credential to help boost your career, definitely check out this book. Improving the Test Process can help you complete and pass one of the four modules required by the International Software Testing Qualifications Board (ISTQB) to achieve “Expert” certification. (Two of the four “Expert” modules will be available in 2014 and 2015, respectively.)

The ISTQB has established three levels in its Certified Tester program: Foundation, Advanced and Expert. “The result,” the two authors state, “is a structure that supports the development of career paths for professional testers.”

Improving the Test Process has 10 chapters and six appendices devoted to that Expert Level module, including an appendix that focuses on what to expect in the module’s certification exam.

The chapters and appendices are:

  • 1. Introduction
  • 2. The Context of Improvement
  • 3. Model-Based Improvement
  • 4. Analytical-Based Improvement
  • 5. Selecting Improvement Approaches
  • 6. Process for Improvement
  • 7. Organization, Roles, and Skills
  • 8. Managing Change
  • 9. Critical Success Factors
  • 10. Adapting to Different Life Cycle Models
  • Appendix A: Glossary
  • Appendix B: Literature and References
  • Appendix C: The Syllabus Parts
  • Appendix D: The Exam
  • Appendix E: Summary of Cognitive Levels (K-Levels)
  • Appendix F: Answers

The “Answers” appendix provides the answers to exercises posted at the end of chapters 2 through 10.

“The definition of a testing expert used by ISTQB,” the authors note, “is ‘a person with the special skills and knowledge representing mastery of a particular testing subject. Being an expert means possessing and displaying special skills and knowledge derived from training and experience.'”

The book’s authors are both long-time professionals in the field of software testing, and they are co-authors of the ISTQB Expert Level syllabus. So they know their subject matter.

In each chapter, they lay out specific learning objectives and follow with technical content and exercises.

Their well-written book is structured so it can be used for two important purposes: (1) as a preparation guide for taking the ISTQB Expert Level certification exam and (2) as a practical guide for experienced testing professionals who want to learn more about how to improve software testing processes.

Si Dunn

Outsource It! — The good, bad, and ugly of offshoring tech projects – #bookreview

Outsource It!
A No-Holds-Barred Look at the Good, the Bad, and the Ugly of Offshoring Tech Projects
Nick Krym
(Pragmatic Bookshelf – paperback)

Like it or not, outsourcing tech projects is here to stay. It’s also there to stay, and everywhere else to stay.

There is no clear way that outsourcing will shrivel up and die within the interconnected and increasingly interdependent world economy.

So, perhaps it’s time to stop griping, resisting, and mouthing political slogans–and focus, instead, on finding ways to make the best of offshoring. There are ways to profit from its advantages. And there are ways to minimize the risks from its quirks, management challenges, traps and disadvantages.

Actually, some “offshoring” is “nearshoring.” To help keep development costs down, big corporations in North America sometimes farm out tech work to smaller companies and individual freelancers located in less-expensive areas of the United States, Canada, and Mexico.

“Inshoring” happens, too. U.S. firms move some of their overseas tech operations back to the States, and foreign companies establish some tech outsource operations in the United States, Canada, and Mexico. Their outsourcing is our insourcing.

Outsourcing veteran Nick Krym calls his new book Outsource It! “a down-to-earth guide to offshore outsourcing.” It is aimed, he says, at “technology professionals…working in small- to medium-sized companies or in the technology trenches of large organizations.”

Outsource It! is well-written and packed with good information and how-to steps, plus insights drawn from Krym’s experiences and the experiences of many others in real-world offshoring. His 25 years in the IT industry include 20 years working in offshore outsourcing.

If you work in outsource situations, or if you are helping manage or set up an outsource team, you can glean good information and how-to ideas from Krym’s pages. And, you likely will want to keep the book handy in your reference collection, because he covers many “soft skills that need to be reinforced continuously until they become second nature.”

The 244-page book is divided into five main parts:

  1. Decide If, What, and How to Outsource
  2. Find the Right Vendors
  3. Negotiate Solid Contracts
  4. Lead Distributed Engagements
  5. Keep Risks Under Control

Three appendices take you inside the positives and negatives of outsourcing to India, China, Russia, Central and Eastern Europe, Ireland, Israel, South America, Central America, Mexico, Canada, and the rural United States.

Other appendices offer: an “Outsourcing Readiness Assessment Checklist”; a summary of “Vendor Search Criteria”; an “Outsourcing Checklist”; and an “Offshore Vendor Technical Assessment” process.

As someone who previously worked in multinational software development, on projects involving teams in the U.S., Canada, France, Italy, Sweden and China, I found myself particularly agreeing with Krym’s assessments of software outsourcing.

“Many companies think that QA—software testing—is a logical function to outsource,” he reports. He offers several reasons why this not always “the most prudent approach” and describes what it takes to make offshore QA work.

For example: “The first rule of setting up a productive offshore team,” he stresses,” is to use QA professionals rather than software developer rejects or English major graduates.”

It is likewise vital to find “a solid QA lead—someone who is sufficiently technical, understands the process and requirements, and can manage the team.”

Krym further emphasizes that “[t]he cost difference between local and outsourced QA engineers is not always as dramatic as it is for developers.”

And: “Poor QA management can generate huge amounts of useless work, producing hard-to-manage artifacts and creating unhealthy team dynamics.”

Nick Krym’s new book is an excellent guide to the ins, outs and complex gray areas of outsourcing technology projects. And it’s not just for managers and executives. Employees, freelancers, and leaders of start-ups also can find ways to benefit and profit from the knowledge and experience Outsource It! offers.

Si Dunn

Testing in Scala – How to Test First, Then Develop Effective Code – #programming #bookreview

Testing in Scala
Daniel Hinojosa
(O’Reilly – paperback, Kindle)

In test-driven development (TDD), a software developer first creates some specific tests that are intended to fail and then writes code that is good enough to pass the tests. After that, the code is refactored, improved to make it better and easier to maintain and extend.

A key goal of TDD is to reduce the time and costs required to develop software.

Daniel Hinojosa’s well-written Testing in Scala effectively introduces test-driven development basics to Scala newcomers, as well as to developers already familiar with Scala or other programming languages, including Java, Ruby or Python.

The scala-lang.org website describes Scala as “a general purpose programming language designed to express common programming patterns in a concise, elegant, and type-safe way. It smoothly integrates features of object-oriented and functional languages, enabling Java and other programmers to be more productive. Code sizes are typically reduced by a factor of two to three when compared to an equivalent Java application.”

Both TDD and Scala have been around for a number of years, but each is now gaining new traction with corporations, software companies, and individual developers seeking faster results at lower costs.

One big reason for Scala’s rising popularity, the Scala website proclaims, is Scala’s close ties to Java:

“Existing Java code and programmer skills are fully re-usable. Scala programs run on the Java VM, are byte code compatible with Java so you can make full use of existing Java libraries or existing application code. You can call Scala from Java and you can call Java from Scala; the integration is seamless. Moreover, you will be at home with familiar development tools, Eclipse, NetBeans or IntelliJ for example, all of which support Scala.”

The Spring Tool Suite also can support Scala using the Scala IDE for Eclipse, but there recently were a few “caveats” if you have the Java 7 JDK installed. Meanwhile, the Spring Scala project, announced last October, is underway.

The new book Testing in Scala is structured as six chapters that utilize different testing frameworks while an example application is tested and developed from scratch:

  1. Setup
  2. Structure and Configuration of Simple Build Tool (SBT)
  3. ScalaTest
  4. Spec2
  5. Mocking
  6. ScalaCheck

The book and its code examples, Hinojosa says, are “organized in a TDD fashion: test first, fail; test again, succeed maybe; test again, succeed, and so on.”

If you’ve never tried TDD, Testing in Scala may help you learn how to become a better, more efficient Scala developer.

It also can introduce you to a development style that you may be able to adapt quickly and effectively to other programming languages, as well.

Si Dunn