2011 Issue #2
Looking for a job? Do you have a job to fill? ASTQB now offers an exclusive career center that helps employers find ISTQB certified testers. Learn more below.
In this issue we also discuss the most efficient form of quality assurance: building software the right way, right from the start. Learn what software testing, quality, and engineering professionals can do, starting with the first day of the project, to deliver quality applications.
Articles in this issue:
New: ASTQB Career Center
Are you seeking ISTQB certified software testers for your company? We have the answer: the new ASTQB Career Center.
If you are seeking ISTQB certified testers, you may post job openings and search resumes at no cost. Post your job opening here, and search resumes here.
As an exclusive benefit to testers that have been certified through ASTQB, the Career Center also allows certified testers to search job postings and post resume information. Learn more at the ASTQB Certified Tester Resource Area.
Visit regularly to see the available openings and resumes as this service ramps up over the next several weeks.
Survey: Advanced Level Certification Helps to Gain Professional Recognition
We have long believed that ISTQB Advanced Level Certification helps to set you apart from your competition, and testers have overwhelmingly agreed.
In our recent survey of certified testers, 93% believe that ISTQB Advanced Level Certification helps testers to gain professional recognition. In addition, 94% believe it helps testers to demonstrate a higher level of professional competency.
Why is that? We'll let the responses speak for themselves:
The advanced level certifications will give me the recognition in my professional community that is needed for future growth. They will also gauge my professional knowledge.
I am CTAL (full). I consider myself a professional tester; therefore, I believe obtaining the CTAL demonstrates how seriously I take my work.
The advanced level certifications would allow me to focus my career.
I think with the growing popularity of ISTQB, an advanced level certification will set me apart in my field.
The ISTQB certification is widely recognized and obtaining certification would help in my career development. The foundation level certification was a great start, but advanced training will help expand my knowledge base and support my career goals.
The certification reflects my department's contribution to our company's mission statement.
I want to go for advanced level certification as it would help in my career growth and give me an edge over other testers in the job market.
As a senior tester, it seems a bit silly to add "Certified Tester, Foundation Level" to my resume. I want to complete the TA or TTA advanced level so that my certification level more closely matches my seniority.
Learn more about ISTQB Advanced Level Certification by reviewing the free syllabus. Make this the year you take your career to the next level.
How to Build Quality Applications
by Rex Black, CTAL
Testing is an excellent means to build confidence in the quality of software before it's deployed in a data center or released to customers. It's good to have confidence before you turn an application loose on the users, but why wait until the end of the project? The most efficient form of quality assurance is building software the right way, right from the start. What can software testing, software quality, and software engineering professionals do, starting with the first day of the project, to deliver quality applications?
The first step in building a quality application is to know what you need to build. An amazingly large number of projects get underway without clarity amongst the project stakeholders about what the requirements are. According to Capers Jones' studies, as many as 45% of defects are introduced in specifications. One working definition for quality is "fitness for use." If we're unclear on the intended uses, how can we build something that is fit for use? Not only do we need some specification of the requirements—whether formal or informal—but we should also conduct a thorough project stakeholder review of this specification to look for defects and to build consensus and understanding.
Another important early step is properly organizing the project. The overall approach to application development is the software development lifecycle model (SDLC). There are four main varieties of SDLC in common use today:
- Sequential (also called waterfall or V-model): In this approach, the team proceeds through a sequence of phases, starting with requirements, then design, then implementation, and then multiple levels of testing. This model works best when you can specify requirements that will change very little if at all over the course of the project. It also works best when you can plan the project with great accuracy, which typically means it's similar to a project the team's done before.
- Iterative (also called incremental or evolutionary): In this approach, the high-level requirements are grouped together into iterations (or increments), often based on technical risk, business importance, or both. The system is then designed, built, and tested group-by-group. This model works well if you need to deliver the most important features by a rigid deadline, but can accept some features arriving later. This model can tolerate some change in the plan (often due to uncertainty or change in requirements) and still deliver the key features on time, which is not true of the sequential models.
- Agile (such as Scrum and XP): In Agile approaches, each iteration is compressed to a period as short as two weeks. Documentation is minimized and change is expected from one iteration to the next, and within each iteration. Various rules help prevent devolution into churn and chaos. This model works when applied with discipline, and its emphasis on accommodating change allows it to produce results even in rapidly-evolving situations.
- Code-and-fix: This approach is actually the absence of an approach. It involves starting the development of the application without any requirements, without a clear plan, without anything but a deadline, in many cases. This model can only work for the simplest, shortest, and least-risky of development projects.
Now, the first three of these models exhibit significant variation in practice. You should feel free to intelligently tailor the model to your specific needs, but beware of violating certain aspects of the model that enable other features of the model.
With the project properly organized and the requirements clearly understood (whether for the whole project or only for this iteration), design and coding can start. Of course, coding presents not only the opportunity to create great new features, but also the risk that the programmer will create great big bugs. To mitigate this risk, there are three things every programmer should do with every piece of code she writes:
- Unit testing: The programmer should test every line of code, every branch, every condition, and every loop. Higher levels of testing such as system test often touch half (or less) of the code, and any untested code is a potential hiding place for bugs. New tools, both commercial and freeware, make the job of unit testing much easier than it was in the past.
- Static analysis: Even code that passes unit tests can still contain latent defects, maintainability problems, and security vulnerabilities. Static analysis can cheaply and quickly find bugs that would take hours to find and remove during higher levels of testing. The programmer now has a wide variety of tools available to help with this task, too.
- Code review: Once a given unit of code is written, tested, and analyzed, having a walkthrough or technical review of the code among the programming team is a great way to catch most of the remaining bugs and to ensure good understanding of how the program works across the entire team. Studies at Motorola show that as few as three experienced programmers (including the author), following a rigorous inspection process, can find as many as 90% of remaining bugs.
We can be very confident indeed in each unit of code if programmers go through these three steps prior to checking their code into the source code repository.
Even with high quality units, there remains the risk of integration bugs. Integration bugs occur when two or more interoperating units don't communicate, share data, or transfer control properly. To help mitigate integration risk, the project team can use continuous integration. This involves checking in code as it's finished, compiling and building that code together, and running automated tests against the code to check for integration bugs. As with unit testing and static analysis, a variety of tools exist to help with this process now.
When we deliver quality applications—applications that are fit for use—we get to enjoy positive outcomes such as satisfied users and customers, improved reputation, more revenue or resources, and greater job satisfaction. In this article, we've seen that the pathway to delivering quality and enjoying those outcomes starts on the first day of the project and continues to the very end. Good requirements. Proper organization. Quality-focused programming. Continuous integration. And, once the application is ready, we can go through formal system, system integration, and user acceptance testing. If you've followed the steps outlined in this article, you'll be amazed at how smoothly those tests go, and how quickly and confidently you can put a quality application into your data center.
Bio
Rex Black is President of RBCS. Rex is also the immediate past President of the International Software Testing Qualifications Board and the American Software Testing Qualifications Board. Rex may be reached at rex_black@rbcs-us.com.
News and Offers from ASTQB Accredited Course Providers
ALP International (ALPI): Refer a friend to our July 6 – 8 public training course & exam and YOU get an iPod Touch! Book our onsite training & exam for your company by June 30, 2011 and YOU get an iPad! To register or for more details contact Katelynn at 301-654-9200 x403. http://www.alpi.com/
RBCS, Inc.: RBCS, Inc., announces the electronic ISTQB Foundation Level Test course, created by Rex Black is now available in Spanish! The Spanish version was developed in collaboration with Gary Rueda Sandoval of Business Innovations. Purchase your Spanish Foundation Level course from the RBCS, Inc store, by June 30, 2011 and receive a 10% discount with the online exam voucher (exam in English) included. Enter code TEFSPAN11 in the promotion code field in your shopping cart.
SQE: Save During SQE Training—Summer of Certification. Attend our Software Tester Certification—Foundation Level course and earn the world's leading certification in software testing through either eLearning or traditional classroom instruction. Additionally, SQE Training offers Advanced Test Manager and Advanced Test Analyst education tracks. Register for any Foundation Level Software Tester Certification course (Public or eLearning) or for the full week of Advanced Level courses by August 31, 2011 and save $211 with code 11AST.
ISTQB Exam Sample Questions
Please be careful about using sample questions from unknown sources, as the actual exam questions may be very different. Even with the free sample question sets we offer on the ASTQB website, we encourage you to use them as study tools, focusing on learning the concepts, not the questions.
Tell the World About Your Achievement
The more information you share about your certification, the more valuable it will become. So when you achieve ISTQB Certification, tell the world. Right now, add a link to the ASTQB website from your Twitter account, personal website, company websites, blog, Facebook page, MySpace page, LinkedIn information, and email signature.
Volunteer News
If you haven't met the software testing experts on the ASTQB Board of Directors and ASTQB Technical Advisory Group, you can learn about many of the on the ASTQB leadership page.
Why do these already-busy software testing experts volunteer their time for ASTQB? Board member Andrew Pollner summarizes the sentiment nicely in his profile: "I wanted to align myself with a certification program which was not profit-driven, but rather based on best practices from software testing experts from around the world. I find that when people collaborate for the common good, wonderful things can happen. The meteoric growth rate of ISTQB seems to support that." Thanks to Andrew and all of our dedicated volunteers!
Certification Training/Exams Coming to an Area Near You
If you would like to receive notification when ISTQB Certification
training and exams are in your area, simply enter your request at: http://www.astqb.org/general/newsletter.php
Below is a list of scheduled public ISTQB certification exams. Details
are available at the ASQTB website at http://www.astqb.org or by
contacting the ASTQB office at info@astqb.org.
June 7, 2011
Better Software Conference
Ceasar's Palace
3570 Las Vegas Blvd. South
Las Vegas, NV
July 8, 2011
ALP International
Bethesda, MD
If your company would like to schedule an exam, contact us at info@astqb.org.
|
What Would You Like to Learn About?
As always, we welcome your feedback and criticism. Let us know what we can do to help make you and your company better at software testing at info@astqb.org.
About ISTQB Certification News
ISTQB Certification News is a free software testing newsletter from ASTQB providing news, analysis, and interviews for the software tester community. Feel free to forward to colleagues or ask them to subscribe at: <http://www.astqb.org/general/newsletter.php>
Non-profit, non-commercial publications and Web sites may reprint or
link to articles if full credit is given. Publication, product, and
company names may be registered trademarks of their companies.
Copyright 2008
American Software Testing Qualifications Board, Inc. (ASTQB)
12000 N. Dale Mabry Hwy., Suite 110
Tampa, FL 33618 USA
Phone 813.319.0890
Fax 813.968.3597 info@astqb.org www.astqb.org
If you want to change your address, use this link:
<http://astqb.org/general/information.php> |