AlanAbar.com

Sharing My Personal Lessons from this Journey Called Life
  • rss
  • Blog
  • ABOUT ME
  • MY BOOKS
    • Personal Development Books
      • Now, Discover Your Strengths
      • The Martha Rules
      • The 7 Habits of Highly Effective People
      • Who Moved My Cheese?
      • The Art of Happiness
      • Don’t Sweat the Small Stuff
      • How Full Is Your Bucket?
      • Fish!
    • Management Books
      • The One Minute Manager
      • The Wisdom of Teams
      • High Five!
      • Wisdom for a Young CEO
      • Teams At Work
      • First, Break All The Rules
      • The Multi Dimensional Manager
      • First Among Equals
    • Software Testing Books
      • Optimize Quality for Business Outcomes
      • Code Quality
      • Testing Computer Software
      • Software Quality Engineering
      • The Art of Software Security Testing
      • Scaling Software Agility
      • Effective Software Testing
      • Metrics and Models in SQE
      • Effective Methods for Software Testing
      • Software Quality Engineering
      • Software Quality Assurance and Management
      • Connecting to Customers
      • Improving Software Quality: An Insider’s Guide to TQM
      • Strategies for Software Engineering
      • Quality Is Personal
      • An Iso 9000 Approach to Building Quality Software
      • The Enterprize Organization: Organizing Software Projects for Accountability and Success
      • Managing Quality in America’s Most Admired Companies
    • Financial Freedom Books
      • The Millionaire Next Door
      • Start Late, Finish Rich
      • Multiple Streams of Income
    • Leadership Books
      • Winning!
      • Good to Great
      • The Leadership Challenge
      • Executive Charisma
      • First Among Equals
      • Execution
  • PHOTOGRAPHY
  • TRAVEL
  • SQE
    • SQE Key Metrics
    • SQE Fundamentals
      • What is SQE?
      • Why Software Quality Engineering?
      • How do you Define Quality?
      • Who Owns Quality?
      • Software Quality Engineering vs. Software Quality Assurance
      • Requirements Based Testing (RBT)
      • The “ilities” of Software Quality
      • Test Plan
      • Test Cases
      • What is a Defect?
      • QA versus QC
      • Frequently Asked Questions
    • Automation
      • SilkTest
    • Performance Testing
    • Interview Questions
      • WinRunner Interview Questions
      • Automation Interview Questions
    • Key Lessons Learned
      • Email Communication Lessons Learned
      • Certified Software Tester - CBOK
        • Software Testing Principles and Concepts
        • Building the Test Environment
        • Managing the Test Project
        • Test Planning
        • Executing the Test Plan
        • Test Status, Analysis and Reporting
        • User Acceptance Testing
        • Testing Software Developed by Outside Organizations
        • Testing Software Controls and the adequacy of Security Procedures
        • Testing New Technologies
    • Technologies
      • JSP
      • Struts
      • Web Application Basics
      • Java Servlets
      • Load Balancing Primer
      • AJAX
  • MGMT
    • Teams
    • Rules of Engagement
  • Contact

Requirements Based Testing (RBT)

Defect Prevention

  • Use of techniques and processes that can help detect and avoid errors before they propagate to later development phases
  • Most effective during requirements, or in SCRUM, at the beginning of Sprint, or even earlier than that!
  • Testers can help recognize omissions, discrepancies, ambiguities, and other projects that affect project requirement’s testability, correctness, and other qualities.

Preventation is Cheaper than Cure

  • Phase & Relative Cost to Correct
    • Definition - $1
    • High-level Design - $2
    • Low-level Design - $5
    • Code - $10
    • Unit Test - $15
    • Integration Test - $22
    • System Test - $50
    • Post-Delivery - $100+
  • The earlier issues are found, the cheaper!

Verify the Requirements

  • Setup “Quality Measures” for each requirement, to measure the quality of requirements defined.
  • All stakeholders responsible for requirements should verify hat requirements possess the following attributes:
    • Correctness
    • Completeness
    • Consistency
    • Testability (or verifiability)
    • Feasibility
    • Necessity
    • Prioritization
    • Unambiguousness
    • Traceability 

1 - Correctness

  • Correctness is judged based on what the user wants.
    • Are the rules & regulations stated correctly?
    • Does the requirement exactly reflect the user’s request?
    • Are the standards being followed?
  • Imperative that End User or Representative is involved during the requirements discussions / gathering
  • Involving SQE in these discussions will be key

2 - Completeness 

  • Completeness ensures that no necessary elements are missing from the requirement
  • Goal is to avoid omitting requirements simply because no one has asked the right questions
  • Testers should insist that associated nonfunctional requirements, such as Performance, Security, Usability, Compatibility, and Accessibility are described along w/ each func. requirement

3 - Consistency

  • Consistency verifies there are no internal or external contradictions among the elements within the work products, or between work products.
  • By asking the question “Does the specification define every essential subject matter term used within the specification?” we can determine whether the elements used in the req. are clear and precise.
  • Ex. The term “viewer” may mean different things in certain context.

4 – Testability (verifiability)

  • Confirms that it is possible to create a test for the requirement, and that an expected result is known and can be programmatically or visually verified
  • If a requirement cannot be tested or otherwise verified, this fact and its associated risks must be stated, and the requirement must be adjusted if possible so that it can be tested

5 - Feasibility

  • The feasibility of a requirement ensures that it can be implemented given the budget, schedules, technology, and other resources available

6 – Necessity

  • Necessity verifies that every requirement in the specification is relevant to the system. 
  • To test for relevance or necessity, the tester checks the requirements against the stated goals for the system
  • Does this requirement contribute to the goals?
  • Would excluding this requirement prevent the system from meeting those goals?
  • Are any other requirements dependant on this requirement?
  • Some irrelevant requirements are not really requirements, but proposes solutions.

7 - Prioritization

  • This allows everyone to understand the relative value to stakeholders of the requirement
  • A simple scale from 1 to 5 can be used to specify the level of reward for good performance and penalty for bad performance on a req.
  • If a req. is absolutely vital to the success of the system, then it has a penalty of 5 and reward of 5.  Overall value = 10
  • A req. that would be nice to have but is not really vital might have a penalty of 1 and reward of 3.  Overall value = 4
  • This approach needs to balance the perspective of the user against the cost and technical risk associated with a proposed requirement.

8 – Unambiguousness

  • Ensures that requirements are stated in a precise and measurable way.
  • Example: “The system must respond quickly to customer inquiries”.
    “Quickly” is innately ambiguous and subjective, and therefore renders the req. as untestable.
  • A customer might thing 5 secs is quick, while a developer might think within 3 minutes is okay.
  • Requirements should be specific.

9 - Traceability

  • Ensures that each requirement is identified in such a way that is can be associated with all parts of the system where it is used.
  • For any change to requirements, is it possible to identify all parts of the system where this change has an effect?
  • Each requirement should be considered as a separately identifiable, measurable entity.

Summary

  • As soon as a single requirement is available for review, it is possible to start testing that requirement for the characteristics discussed
  • Trapping requirements-related defects as early as they can be identified will prevent incorrect requirements from being incorporated in the design and implementation, where they will be more difficult and expensive to find and correct

What Can SQE Team Do Early?

  • Active Participation in SCRUM Meetings / Attendance to Daily Standup Meetings
  • Understanding Team Member’s Roles and Responsibilities, working close w/ Team to build Rapport. 
  • Identifying End Users and building a bridge to understand their perspective & needs
  • Understanding the Sprint Backlog / Contents
  • Test Planning / Developing Testing Strategy
  • Capturing and Understanding Project Requirements
  • Quality Measurements of Requirements / Requirements Based Testing. 
  • Testing requirements for key attributes discussed.
  • Identifying Testing Requirements / Creating Test Specifications
  • Identifying Impacted Applications, and Integration points
  • Test Case development / Test Case Reviews
  • Identifying any Automation scripts to be implemented
  • Determining any Performance Requirements, and planning for that
  • Filing Bugs during Dev & IDE Phase
  • Sharing and Communicating Impacts to SQE Team, and involving other Leads when required for testing
  • Executing test cases in DEV environment if applicable, to get a head start!
Comments rss
Comments rss
Trackback
Trackback

Leave a comment

You can use these tags : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Recent Posts

  • Why Plans Fail
  • 1 Hour Less TV
  • If You Don’t Know
  • Upward Spiral Model
  • What is Success?
  • 9 Habits to Change your Life
  • Self-Renewal: “What do you want to be remembered for?”
  • The Power of Less
  • Outliers, by Malcolm Gladwell
  • One Minute Insights
  • Average of 5 People
  • Risk
  • The 12 Elements of Great Managing
  • Speaking Volumes
  • Face the Sunshine!

Categories

  • Book Reviews
  • Family
  • General
  • Leadership
  • Management
  • Personal Development

Pages

  • ABOUT ME
  • MGMT
    • Rules of Engagement
    • Teams
  • MY BOOKS
    • Financial Freedom Books
      • Multiple Streams of Income
      • Start Late, Finish Rich
      • The Millionaire Next Door
    • Leadership Books
      • Execution
      • Executive Charisma
      • First Among Equals
      • Good to Great
      • The Leadership Challenge
      • Winning!
    • Management Books
      • First Among Equals
      • First, Break All The Rules
      • High Five!
      • Teams At Work
      • The Multi Dimensional Manager
      • The One Minute Manager
      • The Wisdom of Teams
      • Wisdom for a Young CEO
    • Personal Development Books
      • Don’t Sweat the Small Stuff
      • Fish!
      • How Full Is Your Bucket?
      • Now, Discover Your Strengths
      • The 7 Habits of Highly Effective People
      • The Art of Happiness
      • The Martha Rules
      • Who Moved My Cheese?
    • Software Testing Books
      • An Iso 9000 Approach to Building Quality Software
      • Code Quality
      • Connecting to Customers
      • Effective Methods for Software Testing
      • Effective Software Testing
      • Improving Software Quality: An Insider’s Guide to TQM
      • Managing Quality in America’s Most Admired Companies
      • Metrics and Models in SQE
      • Optimize Quality for Business Outcomes
      • Quality Is Personal
      • Scaling Software Agility
      • Software Quality Assurance and Management
      • Software Quality Engineering
      • Software Quality Engineering
      • Strategies for Software Engineering
      • Testing Computer Software
      • The Art of Software Security Testing
      • The Enterprize Organization: Organizing Software Projects for Accountability and Success
  • PHOTOGRAPHY
  • SQE
    • Automation
      • SilkTest
    • Interview Questions
      • Automation Interview Questions
      • WinRunner Interview Questions
    • Key Lessons Learned
      • Certified Software Tester - CBOK
        • Building the Test Environment
        • Executing the Test Plan
        • Managing the Test Project
        • Software Testing Principles and Concepts
        • Test Planning
        • Test Status, Analysis and Reporting
        • Testing New Technologies
        • Testing Software Controls and the adequacy of Security Procedures
        • Testing Software Developed by Outside Organizations
        • User Acceptance Testing
      • Email Communication Lessons Learned
    • Performance Testing
    • SQE Fundamentals
      • Frequently Asked Questions
      • How do you Define Quality?
      • QA versus QC
      • Requirements Based Testing (RBT)
      • Software Quality Engineering vs. Software Quality Assurance
      • Test Cases
      • Test Plan
      • The “ilities” of Software Quality
      • What is a Defect?
      • What is SQE?
      • Who Owns Quality?
      • Why Software Quality Engineering?
    • SQE Key Metrics
    • Technologies
      • AJAX
      • Java Servlets
      • JSP
      • Load Balancing Primer
      • Struts
      • Web Application Basics
  • TRAVEL

Recent Comments

  • BENJAMIN on If You Don’t Know
  • IVAN on If You Don’t Know
  • Japanese on 9 Habits to Change your Life
  • RON on Outliers, by Malcolm Gladwell
  • DARREN on Upward Spiral Model

 

September 2010
M T W T F S S
« Oct    
 12345
6789101112
13141516171819
20212223242526
27282930  

Archives

  • October 2009
  • September 2009
  • August 2009
  • July 2009
  • May 2009
  • March 2009
  • December 2008
  • September 2008
  • August 2008
  • July 2008
  • June 2008
  • May 2008
  • April 2008
  • March 2008
  • February 2008
  • January 2008
  • December 2007
rss Comments rss valid xhtml 1.1 design by jide powered by Wordpress get firefox