KGRKJGETMRETU895U-589TY5MIGM5JGB5SDFESFREWTGR54TY
Server : Apache/2.4.62
System : FreeBSD fbsdweb2.web.rcn.net 14.1-RELEASE FreeBSD 14.1-RELEASE releng/14.1-n267679-10e31f0946d8 GENERIC amd64
User : www ( 80)
PHP Version : 8.3.8
Disable Function : NONE
Directory :  /domains/srakitin/OLD/newsletter/vol5/no4/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /domains/srakitin/OLD/newsletter/vol5/no4/vol5no4.txt
Food for Thought-An e-newsletter published by Software Quality Consulting, Inc.
April 2008, Vol. 5 No. 4
Do You Have the Right Stuff to be a Good Tester? 

What topics would you like to see in this newsletter?  Each month, this
newsletter tries to provide you with useful information.  This is a two-way
street and your feedback is important.  Please send your thoughts and comments
to [email protected].

--------------------------------------------------------------------------------

Welcome to Food for Thought(TM), an e-newsletter from Software Quality
Consulting (http://www.swqual.com/index.html?Intro). I've created free
subscriptions for my valued business contacts. If you find this newsletter
informative, I encourage you to continue reading. Feel free to pass this
newsletter along to colleagues by clicking the Forward Email link at the bottom
of this newsletter. If you�ve received this newsletter from a colleague and
would like to subscribe, please click this Enter New Subscription link
(http://www.swqual.com/newsletter/Subscribe.htm?Newsletter). If you don't wish
to receive this newsletter, click the SafeUnSubscribe(TM) link at the bottom of
this newsletter, and you won�t be bothered again.

Your continued feedback on this newsletter is most welcome. Please send 
your comments and suggestions to [email protected].

*** In This Issue ***

In This Months� Topic, I discuss the personality traits and skills 
required to be a good Tester...

Regular features to look for each month are:

- Monthly Morsels
  Hints, tips, techniques and reference info related to this month�s topic 

- Calendar
  Conferences, workshops, and meetings of interest to software engineers, 
  QA engineers and anyone interested in software development 

--------------------------------------------------------------------------------

*** This Month�s Topic ***

DO YOU HAVE THE RIGHT STUFF TO BE A GOOD TESTER?

IEEE Software magazine published an article on software testing a few 
years ago titled �What is Software Testing and why is it so hard?� by Jim 
Whittaker, who said: 

  �Software companies face serious challenges in testing their products, 
  and these challenges are growing bigger as software grows more complex. 
  The first and most important thing to be done is to recognize the 
  complex nature of testing and take it seriously.

  My advice: Hire the smartest people you can find, help them get the 
  tools and training they need to learn their craft, and listen to them 
  when they tell you about the quality of your software. Ignoring them 
  might be the most expensive mistake you ever make.� [1]

Testing is a very important part of the software development process. Under the
best conditions, however, testing can be difficult, frustrating, stressful, and
time consuming. In a recent e-newsletter (http://www.swqual.com/newsletter/vol5/
no1/vol5no1.html), I discussed the unique challenges that SQA/Test Team Managers
face and the special skills required to be an effective manager of such a team.
One of the many challenges facing SQA /Test Team managers is hiring and
retaining qualified people. For example,

- When interviewing candidates for a testing position, what skills should 
  you look for? 

- Are certain people more adept at testing than others? 

- Are people with certain personality traits better suited for testing 
  work? 

- What kinds of questions should you ask people looking for an entry-level 
  job as a Tester? 

- Is testing a path to a software development career? 

Part of the problem facing the SQA profession is lack of consistency. 
Across the software development industry, the role of SQA varies 
significantly. In more enlightened companies, SQA engineers and Testers 
are involved in many activities starting from project inception and 
continuing through release and maintenance phases. In other companies, 
Testers are only involved in testing software that has been �thrown over 
the wall� from development.

I have discussed whether Software Quality Assurance (http://www.swqual.com/
newsletter/vol3/no9/vol3no9.html) is an �engineering profession�. I also believe
there is a wide variety of tasks that come under the SQA Umbrella. I�ve
identified two distinct roles - Software Quality Professionals and Testers � and
identified the tasks each could be responsible for. Here is what I said about
these different roles...

  Software Quality Professionals

  Examples of tasks that Software Quality Professionals would be involved 
  in could include:

  - Define Software Quality Processes and Procedures 
  - Review Software Engineering Processes and Procedures 
  - Define, develop, and analyze Quality Metrics 
  - Identify appropriate Peer Review techniques 
  - Identify appropriate Software Risk Management practices 
  - Identify appropriate Static Analysis techniques 
  - Actively participate in Peer Reviews and Formal Inspections 
  - Prepare Software Quality Assurance Plans 
  - Prepare and review Software Test Plans 
  - Prepare Software Risk Management Plans 
  - Audit compliance with software engineering processes 
  - Review Configuration Management and Change Control processes 
  - Prepare Defect Management procedures 
  - Participate in software document reviews 
  - Assess Test Automation needs 
  - Plan Manual Testing activities 
  - Review Regression Testing rationales 
  - Review Test Reports 
  - Lead Process and Product Audits 
  - Define Software Release Procedures 
  - Establish effective working relationships with Software Development 
  - Establish procedures for Triage and Root Cause Analysis 
  - Identify and provide appropriate training for Testers 
  - Actively mentor and coach Testers and provide leadership 

  Software Quality professionals should have an extensive background in 
  basic quality principles as applied to software development. They should 
  be skilled at applying proven quality principles such as auditing, 
  statistical analysis, root cause analysis, etc. They should also have a 
  considerable amount of domain knowledge of the company�s products. They 
  need excellent written and interpersonal communication skills. 
  Certifications from organizations such as ASQ or QAI should be required 
  along with several years of experience.

  Training for Software Quality professionals and SQA/Test Team Managers...
  (http://www.swqual.com/training/swvv.html)

  Testers

  Some of the tasks that Testers could be involved in would include:

  - Participate in document reviews (especially the Requirements) 
  - Participate in writing Test Plans 
  - Write Test Cases 
  - Execute Test Cases and perform Regression Testing 
  - Prepare Test Reports 
  - Track status of testing activities 
  - Acquire automated testing skills 
  - Work with Defect Tracking tools 
  - Participate in process and product audits 
  -  Acquire domain knowledge 
  - Build effective working relationships with software engineers and 
    programmers 

  Testers also need training in basic testing skills as well as domain 
  knowledge of the company�s products. The more domain knowledge Testers 
  have, the more likely they are to be able to find defects that customers 
  are likely to find...

  Basic training for Testers...
  (http://www.swqual.com/training/testeffectiveness.html)

  A Tester should be an apprentice to a more experienced Software Quality 
  Professional who can also serve as a mentor.

So what does it take to be a good Tester?

PERSONALITY TRAITS FOR TESTERS...

In my experience testing software and as an SQA Manager, I have found that 
good Testers have the following personality traits (in no particular 
order):

- Skeptical 

  Good Testers are skeptical of everything and generally of everyone, 
  especially developers. You see, some developers believe that their code 
  works and sometimes view testing as a waste of time. Fortunately, there 
  are fewer and fewer of these people around today. Most developers now 
  have a strong appreciation for testing and try to work collaboratively 
  with Testers in order to achieve a common goal - which is a higher 
  quality product.

- Methodical, systematic and somewhat anal 

  Testing is a job that demands methodical, systematic approaches. Good 
  Testers know they need to cover all the bases when testing applications. 
  For example, this means developing test cases that exercise expected as 
  well as unexpected situations. 

  Testers also need to have some anal tendencies. By not overlooking the 
  obvious, Testers can help ensure that customers will have a positive 
  experience.

- Able to put yourself in your customer�s shoes 

  I�ve talked at length about how important domain knowledge
  (http://www.swqual.com/newsletter/vol2/no9/vol2no9.html) is for a 
  Tester. Domain knowledge comes from many sources:

  - actually being a customer and using the software you are now testing 
  - spending time observing real customers using your software 
  - spending time with people who support customers 

  By basing tests on domain knowledge, Testers can be much more effective 
  at finding defects that customers would likely find.

- Instinctive and intuitive 

  Good Testers have a sixth sense about their craft. They seem to know 
  where many of the problems are before they run any tests. This intuition 
  comes from experience and from working with developers over several 
  years. This is not a skill that can be taught - you either have this or 
  you don�t.

- Patience, perseverance, and tactfulness 

  Good Testers need to be patient. Often, the software they are testing is 
  very buggy. As a result, the same tests may need to be repeated several 
  times. Testers also need to be tactful in their relationship with 
  developers. Why - because Testers criticize developers� work. Handling 
  this role with tact can go a long way to maintaining a positive and 
  productive relationship between the Test Team and Development. 

- Good at solving puzzles 

  People who enjoy the challenge of solving puzzles generally make good 
  Testers. The same thought process that is used to help solve puzzles can 
  be very helpful in trying to find defects in complex software 
  applications...

- Integrity and a strong commitment to Quality 

  This goes without saying... 

Okay, we have identified some important personality traits for good 
Testers. Now let�s look at basic testing skills. 

BASIC TESTING SKILLS... 

To be effective, all Testers need a set of basic, core skills. These are 
the essential skills I would look for when interviewing candidates for a 
testing job:

- Review Requirements 

  Requirements are the grist for the testing mill. Every Tester needs to 
  be able to read, understand, and challenge requirements. Requirements 
  are often poorly written (http://www.swqual.com/newsletter/vol2/no10/
  vol2no10.html). As a result, Testers are often faced with making sense out of
  a document that doesn�t make sense. Identifying requirements that are
  ambiguous, conflicting, and missing is a critical task that�s often
  overlooked. 

  So, one of the most important skills that Testers need to have is being 
  able to determine if requirements, as they are written, are testable...

  Information on training in writing requirements...
  (http://www.swqual.com/training/requirements.html)

- Estimating the Testing Work 

  As a Tester, you will be facing a significant amount of schedule 
  pressure primarily due to the fact that testing is the last step in the 
  development process before release. As a result, you need to be able to 
  accurately estimate three things:
  
  - How many tests are required? 

  - How long will it take to write the tests? 

  - How long will it take to run the tests once? 

  This information is essential to prepare an accurate Test Plan - an 
  overall road map for the testing process.

    Familiarity with using a Requirements Trace Matrix can be helpful in 
    estimating the work and in providing traceability between requirements 
    and specific test cases.

- Creating Effective Test Cases 

  Good test cases have a reasonable probability of finding problems that 
  haven�t yet been found. Creating good tests requires training in basic 
  testing skills. Testers need to be aware of:

  - levels of testing: unit, integration and system testing

  - methods of testing: black box, white box, and Act Like a Customer TM 
    Testing)

  - testing strategies such as: Structured Basis Testing, Data Flow 
    Testing, Error Guessing, Boundary Testing, Classes of Good and Bad 
    Data, Equivalence Class Partitioning

  - test types, such as: positive, negative, boundary, stress, 
    performance, etc. 
  
  Testers also need good templates for documenting tests. Here�s an 
  example...

  (see the HTML version for the Test ID Chart)
 
  A good way to determine if someone has basic testing skills is with a 
  simple test...

  Take a Tester Aptitude Test...
  (http://www.swqual.com/newsletter/vol5/no4/TestQuestions-GroveConsultants.pdf)

  Grove Consultants developed the Tester Aptitude Test. If you are interested in
  the answers, send me an e-mail ([email protected]) and I�ll share the answers
  with you.

- Excellent communication skills 

  Testers must be able to communicate their findings and their questions 
  both verbally and in writing. For example, one of the most important 
  task Testers perform is documenting defects. The ability to describe a 
  problem and what was done to expose the problem in a manner that is 
  clear and succinct is absolutely critical. Sometimes Testers will be 
  asked to review requirements. Here, the ability to verbally explain why 
  a requirement is not testable as it is currently written is also very 
  critical.

- Dealing with change and multi-tasking 

  In the software business, change is constant. As a result, Testers need 
  to be highly adaptable. Decisions about features are often made late 
  into a project. These decisions often can impact testing work. Also, 
  when testing an application, Testers are often blocked due to defects. 
  Testers need to be able to multi-task and continue testing in another 
  area (or on another project) until the blocking defects are fixed.

  Learn how to improve effectiveness of testing...
  (http://www.swqual.com/training/testeffectiveness.html)

SUMMARY

Testing is a challenging profession that requires patience, skill, and a 
keen awareness of the customer. Good Testers need to be acknowledged and 
rewarded. People coming into the testing profession need training and 
mentoring if they are to become good Testers. The result of this work will 
definitely pay off by improving your bottom line and by increasing 
customer satisfaction.

�Til next time...

--------------------------------------------------------------------------------

*** Monthly Morsels ***

Every month in this space you�ll find additional information related to 
this month�s topic.

- References 

  1 Whittaker, J., �What Is Software Testing? And Why Is It So Hard?� IEEE 
    Software, Jan-Feb 2000, p. 70-79.

  2 Marick, B., �Classic Testing Mistakes�, presented at STAR EAST, 1997. 
    (http://testing.com/writings/classic/mistakes.html)

- Books 

  The following books are required reading for every good Tester: 

  Kaner, C. et. al., Testing Computer Software, 2nd edition, Thompson 
  Computer Press, 1993.

  Marick, B., The Craft of Software Testing, Prentice-Hall, 1995.

  Kaner, C., et. al., Lessons Learned in Software Testing, Wiley, 2002.

  Kit, E., Software Testing in the Real World, Addison-Wesley, 1995.

  Beizer, B., Black-Box Testing: Techniques for Functional Testing of 
  Software and Systems, Wiley, 1995.

  Copeland, L., A Practitioners Guide to Software Test Design, Artech 
  House, 2004.

  Myers, G., The Art of Software Testing, Wiley Interscience, 1979.
  Rakitin, S. R., Software Verification and Validation for Practioners and 
  Managers, 2nd edition, Artech House, 2001. 

--------------------------------------------------------------------------------

*** Calendar ***

Every month you�ll find news here about local and national events that 
are of interest to the software community...

- Software Quality Calendar 

  There are many organizations that sponsor monthly meetings, workshops, 
  and conferences of interest to software professionals. Find out what�s 
  happening...
  (http://www.swqual.com/links/upcoming.html)

- Workshops Offered by Software Quality Consulting 

  Software Quality Consulting offers workshops in many topics related to 
  software process improvement. Get more info...
  (http://www.swqual.com/seminars/courses.html)

--------------------------------------------------------------------------------

*** About SQC ***

Software Quality Consulting provides consulting, training, and auditing 
services tailored to meet the specific needs of clients. We help clients 
fine-tune their software development processes and improve the quality of 
their software products. The overall goal is to help clients achieve 
Predictable Software Development(TM) � so that organizations can consistently 
deliver quality software with promised features in the promised timeframe. 

To learn more about how we can help your organization, visit our web site
(http://www.swqual.com/index.html?AboutSQC) or send us an email
([email protected]).

--------------------------------------------------------------------------------

I hope this newsletter has been informative and helpful. Your comments and 
feedback are most welcome. Send me your feedback...

Thanks,

Steve Rakitin
[email protected]

--------------------------------------------------------------------------------

Food for Thought, Predictable Software Development, Act Like a Customer,
and ALAC are trademarks of Software Quality Consulting, Inc.
Copyright 2008. Software Quality Consulting, Inc. All rights reserved.
Graphic design by Sage Studio  

Anon7 - 2021