What is Quality Assurance and Why Do We Need It?
It has been ten years since quality assurance on IBM i became my speciality. In that time many things have changed in both areas of information technology. The iSeries has developed into the IBM i on Power Systems and continues to innovate with each release and technology refresh. The ASTQB (American Software Testing Qualifications Board affiliated with ISTQB – International) has gone from a single certification to five with an extension. The one thing that hasn’t changed is the dearth of information specific to QA and testing on the i.
Since I started writing and presenting on these topics, certain questions come up regularly, so I will start with answering them here.
What are the letters after my name?
These are the testing certifications I have earned from ISTQB; CTFL is Certified Tester Foundation Level, CTAL-TA is Certified Tester Advanced Level Test Analyst. Basically this means I am good at taking long boring tests.
I recently began teaching quality assurance at Moraine Valley Community College, and at the first class one of the students pointed out that the book we were using was pretty thin and he was sure he could take the CTFL and pass quickly. I could hear the thought in his head thinking he probably didn’t need me. A few weeks later we were discussing the sample exam questions and why his answer was wrong, and he realized the level of nuance in proper testing protocols.
I was hired to train on an automated QA suite native to the i. I would go to traditional shops and teach RPG programmers how to use the tool, and that led to teaching testing. Like all the techies I have known throughout my career, it was never enough to describe the screens or functions, we would always discuss why and how the capability of the software directly impacted their development.
Quickly I realized that I could keep my classes more engaged by implementing the software into their environment. Doing that required talking about what was under development and what would best be automated. Which meant I needed to know the justification for what should be tested how. Since there was no end to the questions programmers can come up with, this meant when I returned to the hotel at night I would research what concepts were applicable to the specific team I was training.
This is when I found ASTQB and was blown away by the amazing quality of the information available, matched by depth and comprehensive coverage. It was the testing equivalent of IBM Redbooks and instantly reminded me of my first year as a programmer, when all that kept me going was that lifeline to knowledge.
I fell into reading the content provided by the leaders in this area and haven’t climbed out since.
If you like testing so much why don’t you focus on that market and those conferences? It would have to be easier to pitch QA content to that industry rather than this one.
This is very good point, and I have asked myself the same thing many times. Honestly, this is harder to answer, and being a glutton for punishment is a valid component. However, there are more important reasons.
First, statistically speaking, the majority of business transactions globally are on the midrange and mainframe platforms. However, the platform-specific testing content available isn’t proportionate at all. I’ll get into the reasons for this in subsequent posts, but it has always been a glaring omission. Further the IBM i is a unique security and quality resource, and this isn’t being explored or utilized enough. So I decided to start providing the content I couldn’t find.
Second, QA is a powerful asset to developers and I want to bring that to the people I know and respect. I could go to the STAR conferences, learn a lot, and enjoy the professionals I meet. However that isn’t going to help the programmers I have known for 20 years and who need the concepts translated into what drives development in this diverse industry. Preaching to the choir gets boring.
A subset of the above question is “Why stay involved with COMMON and OMNI, wouldn’t other organizations be a better career move?” Yes. Well, and no.
I had the chance to become involved with the ASTQB Technical Advisory Committee the same year I had the opportunity to run for the COMMON Board of Directors and it was a very hard choice to make. It came down to knowing, as a QA specialist, that I needed to support the development team in all regards. While I had the i background, after 7 years without touching code my skills had atrophied. My best option for understanding what the programmers were doing in order to test it in the best manner possible was COMMON. It was the one place I could get education on all the facets of the organization I worked for. By remaining in this community I stay current on technology and development, and engaged with the programmers I need to interface with.
Quality assurance and software testing is far more involved than most people I talk to realize. So many people are excellent at testing and don’t realize how more involved QA concepts can drive their teams to the next level of productivity. On the other end of the spectrum, some shops are just evolving into proper testing and need to be supported. Many organizations are embracing agile, and the tenets that require testing integrate closely with development. This can be a difficult hurdle and there are so many ways to educate and explain. Security testing – aka Penetration “Pen” Testing – is getting a lot of attention and will continue to (thanks, Target.) With the i’s innate security this is a great opportunity for positive marketing. More and more of the coders I know are working with separate QA teams, and at times these relationships are contentious. They shouldn’t be, and I want to help them not be. A lot of the research I have been working on involves making quality assurance an initiative for the entire organization.
Mostly though, I go back to when I was programming. My confidence was dependent upon testing, and without feeling my work was vetted properly I couldn’t deploy. Finding new talent, recruiting young employees to the existing positions, developing the next generation of programmers is a popular topic. How are we going to train these resources if we can’t offer the security of proper testing and the learning opportunities quality analysis delivers?
When I started programming the “AS/400” was exploding because it was opening to the other areas of IT infrastructure needed as we approached Y2K. As a devotee of IBM and the platform, I have followed the responsive nature of the Power Systems brand. There is nothing we can’t do. However, with great power comes great responsibility, and testing helps us meet those responsibilities.
My future posts will explore all aspects of testing and its impact on development. I look forward to interacting with you and answering your questions.