Showing posts with label books. Show all posts
Showing posts with label books. Show all posts

Monday, December 25, 2023

Software Testing Strategies is NOW AVAILABLE!!!

 I realize that I am terrible at self-promotion at times but I have a very good reason to step up my self-promotion for a change.

I WROTE A BOOK!

OK, now that that's out of my system, Matt Heusser and I co-wrote a book. That's the much more honest answer but hey, my name is on the cover, so I'm claiming that credit ;).

Matt and I spent more than a year working on this project that has become "Software Testing Strategies" and its subtitle is "A Testing Guide for the 2020s". We have endeavored to create a book that is timely and, we hope, timeless. Additionally, we did our best to bring some topics that may not be in other testing books. Through several years of working on podcasts together, writing articles together for various online journals, presenting talks at various conferences, and developing training materials to deliver as training courses as well as online and in-person classwork, we realized we had enough experiences between us to inform and develop a full book.

From our Amazon listing:

Software Testing Strategies covers a wide range of topics in the field of software testing, providing practical insights and strategies for professionals at every level. With equal emphasis on theoretical knowledge and practical application, this book is a valuable resource for programmers, testers, and anyone involved in software development.


The first part delves into the fundamentals of software testing, teaching you about test design, tooling, and automation. The chapters help you get to grips with specialized testing areas, including security, internationalization, accessibility, and performance.

The second part focuses on the integration of testing into the broader software delivery process, exploring different delivery models and puzzle pieces contributing to effective testing. You’ll discover how to craft your own test strategies and learn about lean approaches to software testing for optimizing processes.

The final part goes beyond technicalities, addressing the broader context of testing. The chapters cover case studies, experience reports, and testing responsibilities, and discuss the philosophy and ethics of software testing.

By the end of this book, you’ll be equipped to elevate your testing game, ensure software quality, and have an indispensable guide to the ever-evolving landscape of software quality assurance.

Who this book is for

This book is for a broad spectrum of professionals engaged in software development, including programmers, testers, and DevOps specialists. Tailored to those who aspire to elevate their testing practices beyond the basics, the book caters to anyone seeking practical insights and strategies to master the nuanced interplay between human intuition and automation. Whether you are a seasoned developer, meticulous tester, or DevOps professional, this comprehensive guide offers a transformative roadmap to become an adept strategist in the dynamic realm of software quality assurance.


Table of Contents

  1. Testing and Designing Tests
  2. Fundamental Issues in Tooling and Automation
  3. Programmer-Facing Testing
  4. Customer-Facing Tests
  5. Specialized Testing
  6. Testing Related Skills
  7. Test Data Management
  8. Delivery Models and Testing
  9. The Puzzle Pieces of Good Testing
  10. Putting Your Test Strategy Together
  11. Lean Software Testing
  12. Case Studies and Experience Reports
  13. Testing Activities or a Testing Role?
  14. Philosophy and Ethics in Software Testing
  15. Words and Language About Work
  16. Testing Strategy Applied
Sound interesting? If so, please go and visit the link and buy a copy. Have questions? Want us to delve into some of the ideas in future articles here? Leave a comment and let's chat.

Friday, October 25, 2019

A Book Commit: MetaAutomation #30DaysOfAutomationInTesting Day Two

I am writing this series based on the requirements for the "30 Days of Automation in Testing" series as offered by the Ministry of Testing. yes, I realize I am almost 18 months late to this party but work requirements and a literal change of development environments have made this the perfect time to take on this challenge.

Let's take a look at the Day Two requirement:

Begin reading an automation related book and share something youʼve learnt by day 30.

In a sense, this is actually a re-read but a first time full apply. Several years ago, Matt Griscom approached me when I was visiting Seattle and told me about an interesting idea he had for a book. We exchanged several emails, talked about a few things here and there, I looked over some early chapters and from that (and lots of talking to other lots more qualified people than me, believe me ;) ), Matt came out with the book "MetaAutomation".

Today, that book is now in its 3rd Edition and last year Matt gave me a copy and encouraged me to give it a read. Now that we are making this product transition over to C# and .NET Core (so as to work better with other teams who are already using that stack) it seemed a very good time to take Matt up on that offer :).

Here's a bit from the Amazon description of what MetaAutomation is all about:

"MetaAutomation describes how to do quality automation to ship software faster and at higher quality, with unprecedented detail from the system under test for better communications about quality and happier teams.

This book defines the quality automation problem space to describe every automated process from driving the software product for quality measurements, to delivering that information to the people and processes of the business. The team needs this to think beyond what the QA team or role can do alone, to what it can do for the broader team. Quality automation is part of the answer to all that is broken with “test automation.”

MetaAutomation is a pattern language that describes how to implement the quality automation problem space with an emphasis on delivering higher-quality, more trustworthy software faster. Much it depends on a radical, yet inevitable change: storing and reporting all the information from driving and measuring the software product, in a structured format that is both human-readable and highly suitable to automation. This change was not possible before the technology made available by this book.

Read this book to discover how to stop pouring business value on the floor with conventional automation practices, and start shipping software faster and at higher quality, with better communication and happier teams."

I have to admit, on the surface, those seem to be bold claims and from what I read in the previous versions, there's a lot to digest here. thus, I'm actually going to be trying something out during this month. If possible, I'm going to try to approach the rest of this month's activities, where relevant, by referencing this book and trying to see if I can use the principles in my practice. Thus, in addition to doing a full form book review at the end of the month, I hope to have had a chance to actually and completely internalize what I read here. In short, Matt, I'm not just going to read this book, I'm not just going to review it, I'm going to try my best to live it. Let's see what happens if I do exactly that :).




Saturday, January 27, 2018

Book Review: How To Become A Web Developer: The Career Changer’s Guide



One of the most difficult to pin down topics and titles of the last couple of decades is to define oneself as a web developer. What exactly does that mean, and what skills does one need to know to become one in this day and age?

Julie Torres, one half of the "Code Crush" podcast, has done what I feel is a good job distilling that into an 86 page book titled, specifically enough, How to Become a Web Developer: The Career Changer’s Guide.

Starting with the Prologue, Julie describes the specific circumstances that started her on this journey. With a softening job market during what we now refer to as “The Great Recession,” Julie describes how she moved from being a bank teller to become a junior developer. Her point in sharing this story is to make clear that you don’t need an advanced degree in computer science or have lots of history as a programmer to make the shift into doing web development. This book pledges to help you make that transition. Does Julie deliver on that promise?

Chapter Zero: Prepare for the Journey 

Julie sets out some basic markers to help you make the most of this journey including the idea of starting your job hunt while you start your web development journey. Counterintuitive, but makes good sense. Looking at what is out there, what is required and what skills are consistently being asked for is a great way to tailor your learning path. Utilizing Meetup groups and other resources will also help. Determine how to measure your progress, whether that be a way to check in with an online community or work with a specific mentor or group of people. In this day and age, showing goes a long way and having resources you can demonstrate to show your skill can be a big boost in this process. Code repositories and websites in the cloud to show your work can help tremendously. Don’t be concerned with whether or not you “measure up” to others out there. At the start, you won’t but your journey is yours and that’s what matters.

Chapter One: First, Choose Your Goal

Front End, Back End, Full Stack, Mobile, and a reference to QA by way of automation. This particular part touches me because I am primarily a tester in my work role, but many web development skills are still part of my daily repertoire. I’m glad Julie include testing on the list because many developers do actually make a decision to look at testing as a primary responsibility. The point is, deciding where you want to place your efforts will make a big difference in what you study and in what order. Likewise, there’s no rule that says you have to be permanently committed to any one goal, right?

Chapter Two: Choosing Your First Programming Language

Languages have a lot to do with the applications or environments you want to work on. Java is now a perennial favorite of many organizations because it is ubiquitous. Large corporations use it, Android devices use it, and there’s a large ecosystem for the language. It’s a wordy language, true, but the benefit is that there’s a lot of examples out there to look at and review. JavaScript is a language that has spawned numerous libraries and smaller ecosystems of their own. When you see people asking about Angular, Bootstrap, jQuery, React, etc, those are all specialized JavaScript frameworks. PHP is a great language specific for a large number of existing sites. Python and Ruby are also popular languages that also run in web stacks (Django and Rails, respectively). What you use will depend a lot on what you ultimately want to work on. If your dream job is making iPhone apps, you may want to take a look at Swift. The key is start with where you want to go and then pick what you will work with.

Chapter Three: Paths to Learning

You may be thinking “I don’t have a Computer Science degree” and that’s totally fine. Many of the best developers I’ve know have degrees in completely different disciplines. Whether you choose to go to college, do a coding Bootcamp or use an online resource like freeCodeCamp, the point is you have to put in the time, get frustrated a little and work through the issues you will undoubtedly face.


Chapter Four: What Skills Do You Need?

The foundational skills necessary are surprisingly small. Yes, it helps a lot if you can touch type and do so at a decent speed. Knowing how to use a computer or mobile device well is important especially if you can understand how to open, edit, move and manipulate files and directories. Understanding fundamental math skills and having a good understanding of the scientific method is also very helpful (not mentioned in the chapter and were I to suggest any additional basic skills to include I’d strongly suggest that one ;) ). From there, you will need to learn about how to use the command line of your chosen operating system(s), understanding the basics of HTML and CSS, using a version control system to chart your progress and, on occasion, back up and go to an earlier time to do something different, and understanding of how the Internet works (TCP/IP and HTTP, for example). From there, databases, return codes, error handling, and flow control of programs will come into play. Sounds scary? In truth, it’s fairly straightforward but the devil is in the details. Again, the key here is to understand what you want to do and then plot the course to get there. It will require a fair amount of knowledge buildup and experimentation, as well as false starts and frustrations. Julie goes into some detail in this chapter about the various frameworks available, sample programs and applications you can develop and ways to display them so that people can notice your progress.

Chapter Five: Things to Ignore (at Least For Now)

Depending on what it is you wish to work on, there may be many skills that will be important later on, but that you do not need to worry yourself with at the start or even in the first few years of your progress. You may never have to get familiar with topics like binary, specifics of computer hardware, or the underlying computer networking infrastructure and communicating with the lower layers. There is a list where there are things that will be helpful to understand later on and while I agree with much of the list, I have to take issue with testing being considered not so important. Personal opinion time, I wish more developers would put testing and a testing mindset at the forefront of their learning. It will help encourage more developers to see what they are developing, to begin their work with questions of quality and experimentation in mind and to ultimately help deliver a better product to their users.

Chapter Six: Learning Resources

This chapter includes a list of resources to help fill in key concepts and skills you may need. Many of them are completely free, while some have a small cost associated with them (small is relative, of course). Julie also includes a variety of blogs and websites that can also be helpful (I too am a fan of the Tuts sites and encourage people to check it out).

Chapter Seven: Staying On Track

The chapter starts out with this quote:

"Learning to code is more of a motivational challenge than a technical one." -- Quincy Larson, Founder of freeCodeCamp

On the whole, I agree with that. How we keep ourselves motivated is important, and finding our true motive is also critical. Do we want to make more money? A good place to start but may not sustain us in the long run. Chose methods that will help you stay committed to your goals, such as participating in meetups, hackathons, or other projects you can do with other people to get feedback and feel connected to what you are doing.

Chapter Eight: Career Goals

Just as important as what you want to do is where do you want to do it? Do you want to work for large companies or would you be interested in working for smaller organizations? Understanding the tradeoffs for each is important. Large companies can have great infrastructure but very defined ways of doing things. Smaller companies may be more chaotic and struggle with getting to profitability but the sky's the limit with where you can potentially get involved. You can also work with various employment agencies on a contract basis to rotate jobs and gain experience. Once you have a good enough foundation, you could perhaps hang up your own shingle, so to speak, and freelance. Don't be surprised if you find yourself doing a little of all of that, especially in the first few years.

Chapter Nine: The Job Hunt

Remember that advice in Chapter Zero? Here's where doing all of that this whole time should start helping. If you have been communicating with a variety of people along your journey, they may take an interest in what you have put together and speak with those in their organizations that have a hand in hiring. Resumes still matter at a lot of places, but they are taking a backseat to demonstrable ways that you can show your skills. In this day and age, tools like LinkedIn, GitHub, SlideShare, and a blogging platform can do a lot to boost your visibility as well as have lots of examples of demonstrable skills. Additionally, connect with people and communicate with them. The key here is to start this process well before you need to look for a job so that when you are ready, you have already identified people who you can communicate with. Another bonus is that, if you do this regularly, they will likewise know you are ready and can help you find your next gig.

Chapter Ten: Interviewing

Whether it be initial phone screens, in-person general interviews or technical interviews, you will be judged based on how you respond. Having a good handle on a variety of skills and being able to explain them will go a long way in helping you with these interviews. You may be given a coding challenge to complete, either on-premises or as a take-home assignment. Practice a few of these so that you can feel confident that you can do them if given the opportunity or request. This chapter has a lot of practical advice for specific technical interview questions as well as how to negotiate for salary.

Chapter Eleven: Building a Successful Career

Once you get that first job, realize that it's the bottom rung of a new ladder. There's still much to learn and many areas that you can get involved if you choose to. Pay attention to sticking points in the organization and see if you would like to tackle those challenges. See where the rest of the market is going and if you feel that you are ready to pivot if market forces change. Most importantly, never stop learning.


Along with all of these chapters, Julie shares many personal anecdotes of her own journey that has brought her to where she is today. These vignettes help the reader see what choices she made, both for good or ill, that have helped inform the rest of the text.

BOTTOM LINE:

For those who are looking for an in-depth guide to learning how to become a web developer, this book doesn't cover those except for skimming the resources needed to accomplish those goals. This is much more of a field guide to allow you to safely manage the trek and it is filled with a variety of markers that you may find interesting along your journey. As the title says, this is a Career Change guide, and those focusing on the "How To Become a Web Developer" are missing the key in the subtitle. This is a guide to navigating a career change. To that end, it meets its goal admirably.

Tuesday, May 9, 2017

Read All About It: 30 Days of Accessibility Testing

The Ministry of Testing has declared that May should be "30 Days of Accessibility Testing". As in the days of yore when I used to take on these challenges and blog regularly, I'm in the mood to get back to doing that. Therefore, I am looking to write a post every day around this topic and as a way to address each line of their checklist.

Still catching up from the weekend, so this is Day 8, but being posted on Day 9. Later today, I should be all caught up :).

8. Read a book about accessibility.

That's a tall order on any given day, and Accessibility is a big topic, so it's going to be a challenge to get through a book in one day, but it's definitely worthwhile and time well spent to get more familiar with the ideas and principles. With that, I have a few suggestions, and I've even written book reviews for a few of them.

The first book I strongly encourage everyone to read is  "A Web for Everyone: Designing Accessible User Experiences" by Sarah Horton and Whitney Quesenbery. Why do I suggest this one? Lots of reasons, but I really appreciate the depth and level of granularity they used to create personas for testing and relating to issues. This would be a remarkably good book to teach persona based testing as a separate discussion point, but the core of the book is to talk about Accessible user experiences and how to design and test for them. My long-form book review can be read here.

The second book I'd recommend is Katie Cunningham's "Accessibility Handbook: Making 508 Compliant Websites". It's a quick read, but there's a lot to look at and consider. As I stated in my Bottom line for this title "...coming in at 98 pages total, 80 pages of specific content, but don’t let its size fool you. This book will pay for itself with the first usability issues you find.  As you get better, you will be tempted to start creating unique personas for each of the areas, and by all means, do so. The process of seeing how solutions are presented, and how to make changes to those solutions, is well worth the purchase price." My long-form book review can be read here.

The third book I would recommend comes with a caveat, in that it is now ten years old, but don't let that prevent you from still learning a great deal in the process. "Design Accessible Web Sites: 36 Keys to Creating Content for All Audiences and Platforms" by Jeremy Sydik. at the core of this book is the Ten Principles of Web Accessibility, and these are the underpinning for the rest of the book. My long form review can be read here.

Inclusive Design Patterns Book CoverOK, yeah, that's great and all, but you've already read those. What are you going to do now, today? Good question, and unfortunately, it means this entry will be a little incomplete, but I have started reading "Inclusive Design Patterns: Coding Accessibility Into Web Design" by Heydon Pickering.

Of course, I will not be able to finish the entire book and do a review today, but I hereby commit to revisiting this and making a 31st-day entry so I can review the book properly.


Wednesday, December 30, 2015

Aedificamus: Book Review: The Science of Yoga

When I made a commitment to lose weight, get back into shape, and take control of my aging process, I had to come to grips with the fact that years of weight lifting had left some parts of my body in less than optimal condition (yes, elbows, I’m looking at you). Finding exercise I could do that would be effective, help develop strength, flexibility, & endurance, and overall not exacerbate issues I already have, friends encouraged me to look into yoga.

I’d long eschewed yoga because of the tendency of people to put a lot of “woo” into it. As a software tester, I’m a professional skeptic. The pronouncements around yoga had long been high on spiritual and cosmic wonders, touted as a cure all for everything from depression to cancer. Also, I’m comically non-flexible, so I figured this was just not for me. Over time, though, I decided to try it, and in the course of a few months, I saw some marked improvements in my physique and strength, but also in my overall mood. In short, I felt great, and yoga practice had a hand in that. But still, come on, all these goofy claims… isn’t there someone out there willing to take on the topic and do a MythBusters on the “woo” of yoga?

Turns out that, yes,  there is.

William J. Broad is a lead Science writer for the New York Times, so he has the skeptical science part down. He’s also a long time yoga practitioner, starting his practice back in 1970. He, too, was curious about many of the claims, and decided it was time to examine the history and scientific research. The Science of Yoga delivers on its title, in that is investigates, objectively, the benefits and the detrimental aspects of yoga.

Yoga is a fascinating culture. It’s both ancient and totally modern, deeply tied to ancient Indus Valley history and practiced for millennia, and it is the hip go-to cultural balm for our busy times today. It’s steeped in Hindu tradition, and actively used by those with no understanding whatsoever of its long history or spiritual connection. It ties together isometric physical training, breathing, meditation, focus and body manipulation into a fully systemic training approach. It’s adherents can approach the subject with a reverence bordering on hagiography. Broad does his best to be objective, skeptical, and play by the book, but at times even he admits that what science has studies and objectively reported on doesn’t entirely add up with the combined experience of its adherents, including himself.

The book is broken up into several sections, addressing the history of yoga, and really only covering a small slice of the yoga experience. Each section takes on a bit of the history surrounding claims, including anecdotes and historical references to writings and studies done in India, Europe and the U.S. & Canada. He then shows where scientific studies have been performed (or not), the limitations of said studies and shortcomings, as well as where findings are contradicted or confounded by everyday practice. While Broad makes the point early on that science does not have all the answers, it corroborates more than it refutes.

Several broad chapters look at specific areas like overall health & fitness, weight loss & metabolism, mood & psychological health, risk of injury & healing properties, sexual health & performance, and creativity. The short answer is that there is some hard science behind many of these aspects, and in many cases, the science backs up many of yogas claims. It also debunks a fair number of them, but not without accompanying controversy. Yoga is touted as a way to get yourself slim and toned because it boosts your metabolism. Science shows that the opposite is true, it actually slows metabolism, but in that slowing, it also helps the body recover and heal in ways that would be unlikely in the absence of yoga. This seems to be the cadence of the book. There are claims, science either supports or refutes the claim, but in the process, something about the refutation supports another aspect as to why that benefit occurs. Many questions are answered, but just as many fresh questions arise.

One of the chapters in the book deals with injuries, and for a discipline that prides itself on being very safe, yes, you can certainly hurt yourself doing yoga. Having said that, the number of injuries compared to other activities, including being sedentary, pales in comparison to the overall benefits. Plus, most injuries can heal, and an alteration of one’s routine are all that is needed to avoid such injuries in the future.

Added to the chapters is a list of who’s who in the history of yoga, a chronology of developments, discoveries and explorations, and a lengthy bibliography and end notes that adds close to a hundred pages to the core text.

Bottom Line:

"The Science of Yoga" answers a number of questions, and raises many more. Broad makes clear that science is a discipline that observes data and outcomes, and reports on the results. In many cases, claims do not hold up, but while debunking one myth, a discovery shows where yoga is getting it right, and opens up avenues to new ideas and new studies. This book scratched both my skeptical itch and my exploratory yearning itch at the same time. It made me feel more aware of the realities, but just as excited about the possibilities. If the idea of getting under the mystical layers of yoga intrigue you, and you like the idea of putting claims to the test and seeing where those tests lead, or may lead, then “The Science of Yoga” is an enjoyable read.

Tuesday, May 5, 2015

Packt Publishing Rolls Out More FREE Learning

I've kept the advertising on the site to a minimum over the years, but there are a few publishers who have been super kind to me, and have given me many free titles to review. Truth be told, I have so many titles, I could do a book review a week and not run out of books for a couple of years at this point.

Packt Publishing in the UK is one of those companies that has given me much. Therefore, when they do something that I deem could be helpful to the broader community, I feel it appropriate to draw attention to it.

What is Packt up to this time?

They are giving away a free eBook each day.

Update: Packt has confirmed that this promotion is ongoing.



From Packt's Site:

It's back!  And this time for good. Following on from the huge success of our Free Learning campaign, we've decided to open up our free library to you permanently, with better titles than ever -- from today you can claim a free eBook every day here.

Each eBook will only be free for 24 hours, so make sure you come back every day to grab your Free Learning fix! From AngularJS to Zabbix, we'll be featuring a diverse range of titles from our extensive library, so don't miss out on this amazing opportunity to develop some new skills and try out new tech.



Judging from the image above, it looks like this promotion is running through May 17th, but if I'm reading correctly up above, their plan is to offer a free book every day indefinitely (update: yes, it's going to be a perpetual promotion). To be clear, one book is available each day, from 12:00 a.m. to 11:59p.m. GMT.

If, like me, you are jonesing to add to your Tsundoku, here's another opportunity to do exactly that :).


Monday, February 16, 2015

Packt Publishing says "FREE LEARNING - HELP YOURSELF!"

Something's in the air, I think. Maybe it's a new year of possibilities, maybe it's the nature of technical advancement and growth that happens each year, but there seems to be a groundswell in opportunities for programmers, testers and DIYers to learn new stuff all the time, often very close to free, and in many cases, just plain outright for free.

Packt Publishing recently did this with their 24 gifts for Christmas, in which they offered ebooks for free each day for a limited time, and they are back at it again with their "FREE LEARNING - HELP YOURSELF!" initiative, and again, available for a limited time.




"Packt is here to help you develop, and that's why we're offering you and other IT professionals 18 days of Free Learning -- from today (February 16, 2015) until March 5, 2015, you can claim a free eBook every day here.

Each eBook will only be available for free for 24 hours, so make sure you come back every day to grab your Free Learning fix! We'll be featuring a diverse range of titles from our extensive library, so don't miss out on this amazing opportunity to develop some new skills and try out new tech.

Happy learning!

The Packt Team"


Starting today, they are offering a title related to developing in Drupal. Not something you're currently interested in? That's OK, check back tomorrow; there may be something else that will be interesting.

As Packt Publishing and a number of other vendors have been super helpful to give me free materials throughout the past five years, and in a sense, contribute greatly to the overall content of the TESTHEAD blog, I'm happy to help spread the word for these promotions when they provide them, so if you want to take advantage of them, check in each day over at Packt and see if they have something interesting for you. I certainly will be!



Wednesday, February 4, 2015

Giving Kids a Jump Start: The Humble Braniac Book Bundle (UPDATED)


As many of you are no doubt aware, I have a very long list of books that are in the hopper to be read, processed, applied and reviewed. Those books all come from somewhere. Some of them I buy, but a fairly large percentage of them are given to me (with the proviso that I review them). NoStarch Press has been a partner with me in this process for the past four years. I am very appreciative of their contributions to my technical knowledge and understanding.

It's with this in mind that I want to alert TESTHEAD readers to a special offer. NoStarch Press and the folks at Humble Bundle have teamed up to offer a jump start for kids who want to learn programming and other technical skills. This is really significant right now for me, as I have a 14 year old daughter in the early stages of learning how to program.

What could that special offer be? I'm glad you asked ;).



Until February 18, 2015, 2:00 p.m. EST, Humble Bundle will be offering the "Humble Braniac Book Bundle". This is a variety of e-books geared towards kids so that technical subjects are more accessible to them. What makes this bundle interesting is that YOU get to decide how much you want to pay for it. Yes, you read that right, you get to name your price for a selection of books that, if purchased separately, would cost more than $250.


What do you get with this deal? There are three levels:

1. You can pay any amount of money (seriously, you decide) and for that payment, you will receive:
  • Ruby Wizardry: An Introduction to Programming for Kids
  • Lauren Ipsum: A Story About Computer Science and Other Improbable Things
  • The Manga Guide to Electricity
  • Snip, Burn, Solder, Shred: Seriously Geeky Stuff to Make with Your Kids
  • The LEGO Adventure Book, Volume 1: Cars, Castles, Dinosaurs & More!

2. Humble Bundle keeps track of the average payment. For those willing to pay more than the average (which at the time of this writing is $13.08), NoStarch will sweeten the deal and throw in:
  • LEGO Space: Building the Future
  • The Manga Guide to Physics
  • Python for Kids: A Playful Introduction to Programming
  • Incredible LEGO Technic: Cars, Trucks, Robots & More!
  • Build Your Own Website: A Comic Guide to HTML, CSS, and WordPress

3. Customers who pay $15 or more will receive all of the above, plus:
  • Steampunk LEGO
  • JavaScript for Kids: A Playful Introduction to Programming
  • The LEGO Neighborhood Book: Build Your Own Town!

For less than the cost of one retail NoStarch book, you can purchase and download thirteen books that will entertain and educate kids and adults alike. My personal recommendations, "The Manga Guide to ..." series of books are great fun and super informative. I have also read or am reading Ruby Wizardry, Python for Kids and JavaScript for Kids books (reviews pending), and they are all individually worth the price of purchase. In this format, plus all the other titles being offered, really, this is a sweet offer.

As if that weren't enough, all Humble Bundle promotions let purchasers choose how much of their money goes to the publisher (NoStarch), Humble Bundle, and charity. The two charities supported by this bundle are the Electronic Frontier Foundation (EFF) and the Freedom of the Press Foundation.

NoStarch has been great to me for many years. I really appreciate their willingness to provide me books to review. To be transparent, I have many of the books in the list already (that NoStarch gave me for free to write reviews), but there are several in this bundle that I don't have, and I have bought in for the Full Monty :).

This Humble Brainiac Book Bundle ends February 18, 2015 at 2pm EST time, so if you want to take advantage of it, best get a move on!


UPDATE: As of February 11, 2015, The Humble Brainiac Book Bundle just got a little sweeter. Three new books just got added to the "pay more than the average" bundle. Those new books are:

- The Manga Guide to Calculus
- Beautiful LEGO
- The LEGO Build it Book, Volume 1: Amazing Vehicles

If you have already purchased your Humble Brainiac Book Bundle, go to the confirmation email and click on the download link... the new books have been added and you can download them from there. Yes, they've been added to orders already purchased. Nice job, Humble Bundle and NoStarch... well done :)!!!

Tuesday, January 6, 2015

Book Review: Design Accessible Web Sites

This is a bit of a retro review, but since I’m in the process of putting together a talk about the design and testing aspects of sites as relates to accessibility, this came recommended as a good starting point.

Many books that talk about designing for accessibility tell you a lot of the what and the way around accessible design, but don’t put much emphasis on the how. Jeremy Sydik’s book “Design Accessible Web Sites: Thirty-six Keys to Creating Content for All Audiences and Platforms" does an admirable job on explaining the "how" of accessible design.

This book was originally published in 2007, so the technical underpinnings of the web have certainly changed a bit, but the overall message of “Design Accessible Web Sites” is still very relevant and still very usable. In the current rush for the latest and greatest, with frameworks abounding to handle just about every conceivable interaction, there comes a need for programmers and site designers to step back and consider if they are making it possible for the most people to use the sites and access the content they provide.

The core of the book revolves around what Sydik calls the Ten Principles for Web Accessibility:


  1. Avoid making assumptions about the the physical, mental, and sensory abilities of your users whenever possible.
  2. Your users’ technologies are capable of sending and receiving text. That’s about all you’ll ever be able to assume.
  3. Users’ time and technology belong to them, not to us. You should never take control of either without a really good reason.
  4. Provide good text alternatives for any non-text content.
  5. Use widely available technologies to reach your audience.
  6. Use clear language to communicate your message.
  7. Make your sites usable, searchable, and navigable.
  8. Design your content for semantic meaning and maintain separation between content and presentation.
  9. Progressively enhance your basic content by adding extra features. Allow it to degrade gracefully for users who can’t or don’t wish to use them.
  10. As you encounter new web technologies, apply these same principles when making them accessible.


Part 1 lays out the case for why accessibility is important (it’s good business, it;s the right thing to do, it’s the law in many places, and accessible sites are more usable for everyone). This section also steps through a variety of disabilities, some of which we automatically associate with Accessibility (visual, auditory and mobility impairments, as well as a variety of cognitive impairments and those who deal with a combination of the previous issues, specifically due to the results of aging). It also introduces the first eight “keys” of preparing for making an accessible site, including planning, making multiple access paths, avoiding the WET trap (WET stands for “Write Everything Twice”), and to set a solid foundation of accessibility testing, which really does require sapient skills to do. Automation can tell you if a tag is there or not, but it cannot tell you if a user experience for a disabled user is comparable to one for a normative user.

Part 2 focuses on building a solid structure for your pages, with thirteen additional keys to help you design your pages with accessibility in mind, such as keeping the site design simple, removing style from structure as much as possible, using links effectively, designing interfaces that emphasize the selecting of elements and actions rather than drag and drop movement, breaking away from tables and creating forms that are easy to follow and intact with without losing their interactivity or power.

Part 3 focuses on the visual aspects of the web, specifically how we deal with photographs and video clips. the nine keys in this section focus on selecting colors that contrast and don’t blend together, utilizing alt tags as more than just a place holder for generic text, and encouraging a design that can describe itself and allow the user to “see” the whole picture, or “hear” the whole story, even if those options are not on the table.

Part 4 looks at some additional aspects of accessibility and rounds out the last six of the thirty-six keys with how to work with documents that are not traditional for the web, options for dealing with PDF files, scripted output, as well as with Flash and Java apps.

Part 5 is a reference to a variety of web accessibility guidelines including WCAG, US Section 508, and examples from around the world, including Australia, Canada, European Union, Japan, United Kingdom, United Nations, etc.

Bottom Line:

To design sites that are accessible, we have to think differently, but the differences need not be radical. Also, accessible design need not be boring design. There are plenty of techniques and approaches to use that will help make sites easier to interact with for a broad population, and for those willing to embrace this approach, having the capability of designing sites that are accessible could be a differentiator for you as compared to other designers, programmers and testers.  As the tenth principle says, "As you encounter new web technologies, apply these same principles when making them accessible.” Technology moves on, but the advice and methodology is still sound, making ‘Design Accessible Web Sites” an evergreen title to consider for years to come.

Tuesday, December 30, 2014

Short Story/Serial Book Review: Markram Battles

"And now, for something completely different!"

I am one for whom Dan Carlin's phrase "History has all but ruined fiction for me" rings true. I find that the real life exploits of historical figures, and the reality of their worlds, tends to make many aspects of fiction story telling, well, just not hold much interest. Fictional Mob Boss or the struggle for Alexander the Great's throne? Mythical marauders or real life Scythian warriors and their waves of descendants? Seriously, how can anyone top the Mongols, in fiction or elsewhere?

Still, there's a part of me that loves the "what if's" of both the near and distant future, with the possibilities, be they wondrous or terrifying, that make science fiction a place I enjoy spending time in. Added to that is my love of Role Playing Games, especially those that come from Japan (think the Final Fantasy series, Shin Megami Tensei, and Suikoden). Also, I love Animé series that look at the struggles of everyday people against overwhelming odds (think "07-Ghost" or "Gantz").  When something hits that sweet spot of all of those interests, and still focuses on the humanity of story telling, I pay attention. Add to that having an author of such material being a personal friend? Well, what else can I say? I want to share, and share I shall :).

M.C. Muhlenkamp is putting together a series of short stories that feel one part ancient Rome, one part Eurasian steppe, one part Japanese RPG and one part Young Adult dystopian struggle. Weave these all together and you get what is shaping up to be "Markram Battles". More to the point, "Markram Battles" takes a cue from the past, in that it is really a serialization. If you liked the idea of Alexandre Dumas publishing his "Three Musketeers" in small pieces, waiting to see where and when the next "dose" will appear, then here's an opportunity to do exactly that.

M.C. takes us into a word where "Earth as we know it no longer exists." In its place is an empire that looks to "recruiting" humans as "battle entertainment", specifically women. The rules of the battles are simple. Fight and win, or die trying. The story focuses on the interactions between the the empire of the Markram and the humans who are forced to play their game to survive. The first and second deliveries ("Genesis of an Uprising" and "Omens of Doom") focus on the interactions between Seven, a Unit Leader whose sole purpose is to lead recruits in battle, and Thirteen, an unwilling recruit who refuses to play the game, at least not in the way that the Markram want her to play.

The chapters are short and taut. The characters are believable even in their other-worldly space. Little in the way of useless exposition is given. The reader is expected to go with the story and figure out the world and its parameters without long winded explanations as to what has gone on before, except where it makes sense to give context to the situation. Even in the first short sections, you find yourself caring for the characters and wondering what will happen next, on both sides, Markram and human.

The cover sets the tone and the mood of the stories, and in this way, I can't help but feel drawn to parallels made in video games like "Shin Megami Tensei: Digital Devil Saga" or Anime like "07-Ghost", each with a fight to survive ethos and a shadowy "other" pulling the strings. The stories feel like they are designed for a YA audience, but don't let that dissuade you, as the themes and the stories focus are strong enough for all ages.

Bottom Line:
The serialization approach works well for this series. It feels like a Manga without the pictures, and that's meant as a solid compliment. Two issues in, I find myself asking "OK, so when will number three be ready?" If stories about human spirit and desire to not cave to the rules of an unfair system hit a sweet spot for you, give these stories a try. They are quick reads, and at $0.99 apiece, less expensive by far than a manga series, and every bit as engrossing and satisfying. Yes, MC and I are friends, but I'd dig this series even if we weren't ;).

Thursday, December 18, 2014

Spreading Some E-Book Holiday Cheer: #Packt5Dollar Deal

For the life of this blog, I have deliberately avoided any direct advertisement, or made any attempt to "monetize" it. I plan to keep it that way, since not accepting advertising allows me to say exactly what I want to say the way I want to say it.

Having said that, there's no question that several book publishers have been more than kind, giving me several dozen titles for free over the years as review copies. More than half my current technical library consists of these books, and many have been great helps over the years. If I can return the favor, even just a little bit, I am happy to do so.

Packt Publishing, located in the United Kingdom, is one of those publishers, and they are currently holding a special $5 E-book sale. Any and all e-book titles from Packt are available for $5 for a limited time (until January 6, 2015).


Again, Packt has been very generous to me over the years, and I appreciate the fact that they are offering this opportunity. I've already take advantage of it... and have added even more books to my Tsundoku list (LOL!). For those curious, I decided to purchase the following:
  1. Backbone.js Cookbook
  2. Java Script Security
  3. JMeter Cookbook
  4. Kali Linux Network Scanning Cookbook
  5. Learning JavaScript Data Structures and Algorithms
  6. Learning Python Testing
  7. Responsive Web Design By Example
  8. Selenium Design Patterns and Best Practices
  9. Selenium webDriver Practical Guide
  10. Web Development with Django Cookbook
  11. Wireshark Essentials
Happy reading :)!!!

Sunday, December 14, 2014

Book Review: Lauren Ipsum

As part of my current experience with teaching my daughter how to write code, I am finding myself getting into territory that I somewhat understand at various levels, but struggle to explain or make clear enough for a thirteen year old to likewise understand. How does someone explain recursion without causing a bunch of confusion in the process? In the past I have found myself struggling with ways to explain certain topics that help ground ideas of computer science, computing and programming, and how they actually work.

Carlos Bueno feels my pain, and to help answer it, he has written a book that is a perfect companion for a young person learning to code. That book is “Lauren Ipsum”. It’s subtitle is “A Story About Computer Science and Other Improbable Things”. More to the point, it is a computer science book without a computer. Wait, what? How does that work?

Carlos prints the following in the pages before the story starts:

I feel I should warn you: You won’t find any computers in this book. If the idea of a computer science book without computers upsets you, please close your eyes until you’ve finished reading the rest of this page.

[...]

You can also play with computer science without you-know-what. Ideas are the real stuff of computer science. This book is about those ideas and how to find them. In fact, most of the characters, places, and thingamajigs in Userland are actually based on those ideas. Check out the Field Guide at the back of the book to learn more about them!

“Lauren Ipsum” is the name of a girl who goes for a walk after a fight with her mother, finds herself lost, and in the process, meets an improbable cast of characters in a magical world called Userland. Through her travels, she solves various problems for herself and others and tries to find her way back home. Each of the people and creatures she meets personifies a different problem in computer science, and ways that can be used to help solve problems related to them. We are introduced to the “traveling salesman” problem, logic and choices, algorithms, cryptography, heuristics, abstraction, construction and deconstruction, networking, and branching paths, to name but a few.

At the end of the book is a section called the Field Guide to Userland, which goes into additional details about each of the chapters, the concepts mentioned in each section, and what they represent. If you are an adult looking for a quick reference for the book and the concepts being covered, this is it, and is frankly worth the purchase price of the book by itself. Having said that, don’t think that you can’t learn from the story itself. In fact, I'd be surprised if yo didn't find yourself enchanted by the main story as well. 


Bottom Line: This is a fun way to introduce problem solving and logic to kids who want to learn how to program. While we have lots of tutorials that talk about the syntax of code or the ways to build a program to do something, we often skip out on these other important topics until later, and then struggle with trying to understand or explain them. To that end, “Lauren Ipsum” does a great job at breaking down what can be difficult to explain topics in a way that a teenager can understand, but also in a way that grown ups who should know this stuff, but struggle with it, can have some new stories to work into their understanding. If you have a kid looking to learn how to code, share this book with them. Have them read it, of course, but take the time to read it yourself, too. You might find yourself much better equipped to explain the concepts as time goes on.

Thursday, December 11, 2014

Book Review: Zero to One

As a birthday/Christmas present, a  friend sent me Peter Thiel’s “Zero to One” in a four CD audio format. Peter reads through and presents nearly four hours of audio that goes much faster than the elapsed time would indicate. On the audio production aspects and delivery, it does very well. Having said that, how about the book as a whole?

Zero to One is a book about being an entrepreneur. For many of us, we may stop right there and think “ehh, I’m not an entrepreneur, so this book isn’t for me”. I would encourage anyone with that attitude to not think that way. Regardless of whether or not we work for a company, or we are the founder of a company, or we do freelance work in various capacities, all of us are entrepreneurs. In the curation of our own careers, absolutely we are. To that end, we want to create, to do something interesting, and maybe, dare we say it, change the world.

Most businesses we will see tend to copy someone else in some capacity. They are content to copy what has been successful for others. This is what Peter refers to as "One to N” improvement. It’s incremental, it’s a shaving of time, it’s an improved efficiency, it’s streamlining of process. It may keep you afloat, but it will not rocket you ahead. For that, you need a different approach, a true sense of innovation, a mindset that will bring you from Zero to One.

Thiel presents many anecdotes from the past thirty years in Silicon Valley, with many familiar stories, ups and downs, and memories, oh the memories (having been at Cisco Systems in the 1990s, and with several smaller companies through the ensuing fourteen years, Thiel’s stories are not just memorable, they are my history, and some of the stories hit a little too close to home ;) ).

The book is structured around seven questions that any company (and any individual) should be ready and willing to ask themselves before they commit to a venture or creating what they believe will be a “killer startup”. Those questions are:

Zero to One:  Can you create something new and revolutionary,  rather than copy the work of others and improve upon it?

Timing: Is NOW the time to start your business? If so, why? If not, why?

Market Share:  Are you starting as a big player in a small or underserved market?

People: Do you have the right people to help you meet your vision?

Channel: Can you create and effectively sell your product?

Defensibility: Can you hold your market position 10 and 20 years from now?

Secrets: Have you found a unique opportunity or niche others don’t know about?

Additionally, Thiel encourages that any product that will qualify as a Zero to One opportunity will not just compete with other options, but it will offer a 10X level of improvement over what has come before. If it doesn’t, then competition may overtake and erode anything you may offer. Harsh, but perfectly understandable.

Thiel addresses topics like success and failure, of disruption and collaboration, of replacement and complementarism, and of the fact that any real good technology, no matter how good, needs to be sold and marketed. Engineers believe that if their products is as good as they think it is, it will sell itself. History shows time and time again that that is not the case, and Thiel comes down hard on the side of sales being a driver, and that sales must be shepherded.

Bottom Line: Zero to One makes the case that true entrepreneurship needs to start from the idea of doing something unique, and being willing to look at the seven questions realistically and determinedly. If you cannot answer all seven of the questions with a YES, your odds of success are greatly diminished. Even if all seven can be answered with yes, there are no guarantees. This book is not a tell all guide as to how to be an entrepreneur, but it does give some concrete suggestions as to how to approach that goal. It’s a what and a why book, not a how book, at least not a "formula" how book. It does, however offer a lot of suggestions that the future entrepreneur, company worker, or freelance creator could learn a lot from. If you get the book, read it twice. If you get the audio version, listen to it three times. I think you’ll find the time well spent.

Tuesday, December 9, 2014

Book Review: Good Math

I am going to get this out of the way at the outset. Mathematics has often been a struggle for me. I managed to make my way through to my first semester of Calculus, and then I hit a wall. Having said that, I’ve always been fascinated with mathematics, and the history of how discoveries have been made always interest me.

Also, as a software tester, I often have to look at the calculations being made, and make sure they are right. For 90% of what I do, the math I have learned to date is fine, but there’s still that crazy rush I get when I look at higher order math, or math in areas I’m not familiar, and that door creaks open just enough for me to get a glimpse of something I didn’t understand before, or I feel I’ve come a bit closer to understanding it.

"Good Math” by Marc C. Chu-Carroll has proven to be very helpful in creaking that door and giving me a glimpse into things I thought I understood, but didn’t really understand. The subtitle of the book is "A Geek's Guide to the Beauty of Numbers, Logic, and Computation” and to be fair, the second two areas are the meat of the book. Yes, it goes into the classic popular numbers topics like the development of our numbering system, roman numerals, the discovery of pi, the concept of zero, etc. but it moves on from those pretty quickly.

Mark is the author of the "Good Math, Bad Math" blog. Many of the topics that are covered in this book (and many more that are not) can be read there. Those debates, and some of the confusion regarding different areas of math and computation inform much of this book.

Part 1 deals with Numbers, the one’s we are most familiar with, but also does so in a way that focuses on the rigor of mathematics to make the case for them. Natural numbers, Peano Induction, Integers, Real Numbers, and Irrational numbers get covered here.

Part 2 focuses on Funny Numbers, including the concepts of Zero, e, the Golden Ratio, and i (the imaginary number, what it does and what it means).

Part 3 focuses on the written numbers throughout history, including Roman Numerals, Egyptian Fractions, Fibonacci numbers, and the development of the arithmetic we so often take for granted.

Part 4 delves into Logic, or more specifically, the mathematical proofs that define logic. This section also covers ways of programming using logic and Peano arithmetic, with examples written in Prolog. Note: these examples are not comprehensive, but merely to give a taste of how to use the concepts.

Part 5 deals with Sets, and the variety of ways to look at sets in mathematics, including Axiomatic Set Theory, Models, Infinite Sets, and Group Theory/Symmetry.

Part 6 focuses on Mechanical Math, or Computation. Here is where the Computer Science aficionados may check out, but I was intrigued with clear descriptions of Finite Set Machines, Turing Machines, implementations of systems that are Turing Complete, and how Lambda Calculus is at the heart of the development of programming languages, especially Lisp and Scala.

As one who studied computers from an IT perspective rather than a CS perspective, I never fully got into the logical nuts and bolts of how computers really work. The sections on computation, as well as the sections of defining logic as a computer sees it, and in the strict notation of mathematical proofs, was fascinating.

Good Math is geared towards programmers, and is meant to introduce topics of higher math in ways that will help programmers understand how to implement the ideas, as well as to help them understand how computers actually go about doing what they do. Truth be told, for many of us who use higher level interpreted languages like Ruby, we can go a long way in writing code without ever being exposed to any of these concepts. There are several examples shown, but none worked out in detail. Again, that’s OK, as this is meant to be a survey book about mathematical concepts as relates to computing and logic, not a full blown course in how computer languages implement these models.

Bottom Line: If I were to suggest a core audience for this book, it would be to people like myself, people who have worked with programming languages, may even know a few cool tricks and have some system internals knowledge, but don’t have a strong foundation in higher math. Having said that, if you made your way through typical high school math courses, most of this will feel familiar and accessible. Some of it will feel strange, too (lots of symbols I’ve personally not used in years, if ever), but Mark writes about them in a way that makes them accessible. You still may find yourself reading various sections a few times. Well, I did in any event.

Tuesday, December 2, 2014

Book Review: Accessibility Handbook

The past couple of years have been telling ones for me, in that I took on the responsibility at a new job to oversee the testing and updating of a group of stories that were the focus of an accessibility audit. By doing so, I walked into the world of Accessibility Testing and site development with Accessibility as its focus.

There are a handful of tools out there, and some books that describe what Accessibility means and things to consider when testing sites, but I was confused as to how to actually make the sites I was testing accessible in the first place. Katie Cunningham, the author of the Accessibility Handbook, felt the same way. Her goal was to make a book so that people who were programming websites would have a quick reference as to the what and the how of making sites accessible, with an emphasis on Section 508 Compliance, which is the primary standard for Accessibility in the United States. Akren stated her goal for the books  as follows:


"I decided to write a book that focused on the disabilities rather than the patches. Yes, alt text should always be used and tables should always be scoped. What’s even more important to understand is how poor alt text or tables with no scopes affect the experience of a user. Understanding a user’s tools and limitations helps developers and designers make the next generation of web applications without excluding anyone.”

So how does the "Accessibility Handbook” measure up to that stated goal?

The book breaks each chapter up into different physical challenges, and what defines those challenges as per the recommendations spelled out in Section 508. The chapter describes a set of “Annoyances” that would be present for the user without accessibility considerations, a list of tools available for the users in that capacity, and the methods used to remedy those issues.

Chapter One focuses on “Complete Blindness” and the primary tool for those who are legally or medically blind, and that is the screen reader. Utilizing a variety of tools depending on the platform to be used, this section explores how to optimize HTML and CSS to use screen readers. In addition, aspects such as WAI-ARIA tags are discussed, and aspects of how the product can be tested as well.

Chapter Two focuses on other types of Visual Accessibility, including issues related to Color Blindness and contrasting colors as well as issues dealing with low vision (where the challenges are that text is too small rather than completely unreadable.

Chapter Three deals with Audio Accessibility, which could be for those who are deaf or seriously hearing impaired.

Chapter Four focuses on physical disabilities, and alternative ways to navigate around the page.

Chapter Five deals with a variety of Cognitive Disabilities, including Dyslexia and ADD/ADHD, and how a variety of formatting options can make working with these individuals easier.

Chapter Six is about Selling accessibility to the organization.

Chapter Seven is for Additional Resources to help get the most out of developing for accessibility, including resources for information, for testing, for design, and about the various tools available for them.

Bottom Line: This is a thin book, coming in at 98 pages total, 80 pages of specific content, but don’t let its size fool you. This book will pay for itself with the first usability issues you find.  As you get better, you will be tempted to start creating unique personas for each of the areas, and by all means, do so. The process of seeing how solutions are presented, and how to make changes to those solutions, is well worth the purchase price.

Friday, November 28, 2014

Book Review: More Agile Testing



In honor of running into Janet Gregory at EuroSTAR and listening to her talk about "Testing Traps to Avoid in Agile Teams", I told her I felt it only proper to break my Tsundoku and commit to reading “More Agile Testing” on my flight from Ireland to Toronto and during my layover for my flight back to SFO and review it before I got home. Did I succeed? I did, and I am glad I had the dedicated time to do exactly that. This book is so rich with information that you will need to spend some quality time with it.

First, let’s set some context. This is the sequel to the "Agile Testing" book that Lisa Crispin and Janet Gregory wrote back in 2008, and that I did a review of in the early days of the TESTHEAD blog back in 2010. In that review, I said that I didn’t have the time in an Agile team to give the book justice, so I reviewed it on how I thought that Agile seemed to me and the advice given. This time, with More Agile Testing, I have four and a half years of experience with Agile teams, and I can categorically say yes, this book addresses many of the challenges Agilists go through, especially Agile Testers.

Agile has grown and matured over the past several years. Some may say it has a clearer picture of itself, others may say its become fragmented and just another marketing gimmick. Some may complain that Agile programming is a thing, but Agile Testing? All of this points to the fact that there are questions, dilemmas and issues in the world of Agile, and nowhere is that more clear (or more muddled) than for the Agile Tester. Are we an appendage? Are we an integrated member of the team? Are we an anachronism? What about DevOps? Continuous Delivery? Testing in Production? Lisa and Janet take on all of these issues, and more.

More Agile Testing is not a “how” book. It’s not filled with recipes of how to be an Agile tester… at least not on the surface. Don’t get me wrong, there is a ton of actionable stuff in this book, and anyone working with Agile teams will learn a lot and develop some new appreciation and approaches. What I mean about it not being a “how” book is that it doesn’t tell you specifically what to do. Instead, it is a “what” book, and there’s a whole lot of “what” in its pages. Like its predecessor, More Agile Testing does not need to be read cover to cover (though that’s a perfectly good way to read it, and the first time through, i’d highly recommend doing just that). Instead, each section can stand on its own, and each chapter is formatted to address specific challenges Agile teams face. 

The book is broken up into eight sections. The first is an overview of where Agile has evolved, and the new aspects that are in play that were not so prevalent in 2008 when Agile Testing came out. In addition, it takes a look at the ways that organizations have changed, and the new landscape of software development for applications that span the gamut from desktop to web to mobile to embedded to the Internet of Things.

Section Two is all about Learning for Better Testing. From determining roles and adapting to new needs, to developing T-shaped team members to make box shaped teams, and helping testers (and those interested in testing) develop more in depth thinking skills and work habits to be more effective. 

Section Three focuses on planning. No, not the massive up front planning of traditional development, but the fact that even the just in time and just enough process crowd does more planning than they give themselves credit for, and that the ways we do it can be pretty hit and miss. This section also goes back to the Agile testing quadrants and reviews how each has its own planning challenges. 

Section Four focuses on Testing Business Value. In short, are we building the right thing? Are we getting the right people involved? Do we have a clear vision of what our customer wants, and are we engaging and provoking the conversations necessary to help deliver on that promise? This section focuses on developing examples and using methodologies like ATDD and BDD, and identifying what we do know and what we don’t know.

Section Five places an emphasis on Exploratory Testing. What it is, what it’s not, developing testing charters, working with personas and tours, and working with the other varieties of testing needs and helping make sure our explorations also include territory not typically considered the realm of the explorer (such as Concurrency, Localization, Accessibility, UX, etc.)

Section Six focuses on Test Automation. Note, this talks about the concepts of test automation, not a prepackaged approach to doing test automation or a specific framework to use and modify based on examples, though it gives plenty of links to help the interested party find what they are looking for and lots more. 

Section Seven is all about context, specifically, what happens when we address testing in different organizations and with different levels of maturity and tooling? Version control, CI, and working with other teams and customers are addressed here, as are questions of Agile in a distributed environment. 

Section Eight is Agile Testing in Practice, and focusing on giving testing the visibility it needs to be successful.

Appendix A shows examples of Page Object based automation using Selenium/Web Driver, and Appendix B is a list of “provocation starters”. In other words, if you are not sure what questions you want to ask your product or your programmers as you are testing, here’s some open ended options to play with.

In addition to the aggregate of Lisa and Janet’s experience, there are dozens of sidebars throughout the book with multiple guest contributors explaining how they implement Agile in their organizations, and the tapestry of similarities and differences they have seen trying to make Agile work in organizations as diverse and different as each of the contributors.


Bottom Line: If you are brand new to Agile software development and Agile testing, this may not be the best place to start, as it expects that you already know about Agile practices. Having said that, I didn’t see anything in this book that would be too hard for the beginner with team guidance to consider, implement and experiment with. However, if they have already read Agile Testing, and are hankering for more ideas to consider, then More Agile Testing will definitely help scratch that itch. Again, this is not a “how” book. This is a “what” and “why” book, but it has lots of great jumping off points for the interested Agile tester to go an find the “how” that they are looking for. As a follow on and sequel to an already solid first book, this is a welcome update, and IMO worth the time to read and reread.

Solving my Tsundoku: The Return of TESTHEAD Book Reviews

As I was settling in and preparing for my journey home from Ireland (which will include a flight from Dublin to Toronto (roughly eight hours), plus a seven hour layover, and then a flight from Toronto to San Francisco (roughly another seven hours), I figured it was a great time to dig in and work through some of the books I have received to review, as well as some I have picked up to work with due to the work that I do as a tester and occasional programmer.

I receive a number of e-books in PDF format from a variety of sources. Some are offered to me free for me to review, many more are purchased by me to work through and bulk up my geek brain (well, that was the goal in any event). At some point, the desire to read and apply got overtaken by the real life aspects of work, family, testing initiatives and other things I do. All the while, my book pile keeps getting bigger and bigger.

Zeger van Hese gave a great keynote talk at EuroSTAR this week, and in the process, he talked a bit about those great linguistic terms that English doesn't have a succinct single word for. One example that resonated with me (to the point of causing physical discomfort, to be honest) was the Japanese word "Tsundoku" (積ん読, (hiragana つんどく) which is, according to Wiktionary "(informal) the act of leaving a book unread after buying it, typically piled up together with other such unread books".

The first way to deal with a problem is to realize you have a problem, and to that end, I have decided I am going to do something about that problem. How so? By making one of my "bold boasts" I make from time to time. Since we are still a few weeks before New Years, I cannot be accused of making a New Year's Resolution (since I don't make them ;) ), but I can declare a new goal, and that new goal is that I shall henceforth and forthwith start whittling down my book collection and actually read, apply and review the stack of books that I have. To that end, you may expect, in no particular order, reviews to start appearing for the following:
  1. Accessibility Handbook
  2. Apache JMeter
  3. Application Testing with Capybara
  4. Backbone.js Cookbook
  5. Beginning PHP 6 Apache MySQL 6 Web Development
  6. Build Your Own Web Site
  7. Computer Science Programming Basics in Ruby
  8. Confident Ruby
  9. Crackproof Your Software
  10. Design Accessible Web Sites
  11. Design Driven Testing
  12. Eloquent JavaScript, 2nd Edition
  13. Everyday Scripting with Ruby
  14. Exceptional Ruby
  15. Good Math
  16. Head First Ajax
  17. Head First HTML and CSS
  18. Head First HTML5 Programming
  19. Head First JavaScript
  20. Head First JavaScript Programming
  21. Head First Mobile Web
  22. Head First PHP and MySQL
  23. Head First SQL
  24. Head First jQuery
  25. Higher Order Perl
  26. How Linux Works
  27. Jasmine JavaScript Testing
  28. JavaScript for Kids
  29. JavaScript Security
  30. JavaScript Testing Beginner's Guide
  31. JavaScript and JSON Essentials
  32. JMeter Cookbook
  33. jQuery Cookbook
  34. Kali Linux Network Scanning Cookbook
  35. Lauren Ipsum: A Story About Computer Science and Other Improbable Things
  36. Learning JavaScript Data Structures and Algorithms
  37. Learning Metasploit Exploitation and Development
  38. Learning Python Testing
  39. Manga Guide to Calculus
  40. Manga Guide to Electricity
  41. Manga Guide to Physics
  42. Manga Guide to Statistics
  43. Mastering Regular Expressions
  44. Metaprogramming Ruby
  45. Metasploit Penetration Testing Cookbook
  46. Metasploit The Penetration Testers Guide
  47. Modern Perl
  48. More Agile Testing
  49. NGUI for Unity
  50. PHP MySQL JavaScript HTML5 All in One for Dummies
  51. Pride and Paradev
  52. Pro HTML5 Accessibility
  53. Python for Kids
  54. Rails Crash Course
  55. Regular Expressions Cookbook
  56. Responsive Web Design By Example
  57. Robot Framework Test Automation
  58. Ruby Wizardry
  59. Running Lean
  60. Selenium Design Patterns and Best Practices
  61. Selenium WebDriver Practical Guide
  62. Snip, Burn, Solder, Shred: Seriously Geeky Stuff to Make With Your Kids
  63. Specification by Example
  64. Test Driven Web Development with Python
  65. TestComplete Cookbook
  66. TestComplete Made Easier
  67. The Art of Application Performance Testing
  68. The Art of Software Testing, 3rd Edition
  69. The Selenium Guidebook
  70. The Well Grounded Rubyist
  71. Web Development with Django Cookbook
  72. Web Penetration Testing with Kali Linux
  73. Webbots Spiders and Screen Scrapers 2nd edition
  74. Wicked Cool PHP
  75. Wicked Cool Ruby Scripts
  76. Wireshark Essentials
  77. Zero to One
Yes, this is a line in the sand. Yes, I intend to fix this problem of mine. No, I cannot say which order these reviews will appear, but be sure, they are coming. Yes, I encourage you all to call me on it if I slack off.

One way or another, this begins today, and it will not finish until all of the stack is read, worked and commented on. That may take awhile ;).

Friday, July 4, 2014

Packt Publishing Turns Ten - We Get The Presents :)

Over the past several years, I have been given many books to review by Packt Publishing, and it's safe to say a substantial part of my technical library comes from them. As a blogger who receives these books, usually for free, I like to help spread the word for publishers when they make special offers for their readers.

Below is a message from Packt Publishing that celebrates their tenth anniversary as a publisher, and an announcement that all of their ebook and video titles are, until Saturday, July 5, 2014, available for $10 each.

To take advantage, go to http://bit.ly/1mWoyq1

Packt’s celebrates 10 years with a special $10 offer

This month marks 10 years since Packt Publishing embarked on its mission to deliver effective learning and information services to IT professionals. In that time it’s published over 2000 titles and helped projects become household names, awarding over $400,000 through its Open Source Project Royalty Scheme.

To celebrate this huge milestone, from June 26th, every e-book and video title is $10 each for 10 days – this promotion covers every title and customers can stock up on as many copies as they like until July 5th.

Dave Maclean, Managing Director explains ‘From our very first book published back in 2004, we’ve always focused on giving IT professionals the actionable knowledge they need to get the job done. As we look forward to the next 10 years, everything we do here at Packt will focus on helping those IT professionals, and the wider world, put software to work in innovative new ways.

We’re very excited to take our customers on this new journey with us, and we would like to thank them for coming this far with this special 10-day celebration, when we’ll be opening up our comprehensive range of titles for $10 each.

If you’ve already tried a Packt title in the past, you’ll know this is a great opportunity to explore what’s new and maintain your personal and professional development. If you’re new to Packt, then now is the time to try our extensive range – we’re confident that in our 2000+ titles you’ll find the knowledge you really need , whether that’s specific learning on an emerging technology or the key skills to keep you ahead of the competition in more established tech.

More information is available at: http://bit.ly/1mWoyq1