Skip to content

BeyondTest - Focusing Quality Everywhere

Sections
Personal tools
You are here: Home » Software Engineering » Testing

Software Testing

Document Actions
Software Testing

Typical testing process

Until recent years, many Software Testing organizations have often been services funded by Software Development organizations. As a result, Software Testing has often been tailored to fit the needs of Software Development or even seperated from Software Development.

Relation of testing process and development process

Now good software engineering practice indicates that testing is an integral activity in the requirement, design, implementation and maintenance phases of the software life cycle. Testing becomes a neccessary prerequisite for successfully building and implementing software systems.

A Function testing optimization tool - Test Coverage Matrix

  • Generally one end-to-end business functionality is implemented across various modules of the application
  • A business process workflow is a combination of multiple requirement which represent the end-to-end functionality
  • On the workflow, each business function that needs to be performed under a specific module is represented as an execution step
  • In subsequent workflows, alternative flows to the business functionality should be represented. When the coverage matrix is completed, all flows within the business functionality will be covered.
  • Between two execution steps, an interface gets tested. This is represented by arrows
  • The number represented in each cell provides the sequence of each step in the business process workflow
  • Across a row, one end-to-end business functionality is tested

Advantages of Test Coverage Matrix

  • By creating business workflows using multiple requirements, one can successfully test end-to-end business functionality effectively with less effort
  • In the course of testing one business workflow, several functions and validations across different modules can be tested
  • Similarly several interfaces can be exercised for different test conditions
  • Through this, you can optimize the different sets of validation within a single module for different requirements (Do not repeat the validation)
  • Test Coverage Matrix can be utilized effectively to reduce the total testing effort while still ensuring adequate test coverage
  • Test Coverage Matrix could be effectively used for User Acceptance Testing to build customer's confidence in the system

Testing techniques to reduce test cases

Among the numerous testing techniques available to narrow down the set of test cases are funtional analysis, equivalence partitioning, path analysis, boundary-value analysis, and orthogonal array testing.
 Up
White Papers & Articles

Scott Eder Building an Independent Test Group. White Papers, from StickyMinds.com.

Lakshmi.K.Kumar Software project from a testing perspective. White Papers, Wipro Technologies.

Yuri Chernak Validating and Improving Test-Case Effectiveness. IEEE Software, 18(1), Jan 2002.

Jon T. Huber Efficiency and Effectiveness Measures To Help Guide the Business of Software Testing. Application of Software Measurement, 1999.

James Bach Risk-Based Testing .

S. H. Kan, J. Parrish, and D. Manlove In-process metrics for software testing. IBM System Journal, Technology for e-business, Volume 40, Number 1, 2001.

Ram Chillarege Software Testing Best Practices IBM Research - Technical Report RC 21457 Log 96856 4/26/99 .

Cem Kaner, Software Negligence and Testing Coverage Software Testing, Analysis & Review Conference (STAR), Orlando, FL, p. 313, May 16, 1996.

Jamie L. Mitchell, with Beth Anderson, Chuck LeCount, Jan Bagley, Joy Islam Testability Engineering.

R. G. Mays, C. L. Jones, G. J. Holloway, D. P. Studinski, Experiences with Defect Prevention IBM System Journal, Volume 29, Number 1, Page 4 (1990).

Gary E. Mogyorodi, Bloodworth Integrated Technology, Inc., Let's Play 20 Questions: Tell Me About Your Organization's Quality Assurance and Testing , CrossTalk Mar 2003.

 Up
Good books

Test Process Improvement: A step-by-step guide to structured testing
By: Tim Koomen, Martin Pol

Software testing is an essential part of software development but many organizations regard it as an uncontrollable part of the process and find it difficult to take steps to improve it. In Test Process Improvement, Tim Koomen and Martin Pol give practical suggestions for improving the testing process in a gradual and controlled manner, with realistic goals in terms of quality, lead time and costs. The book describes and explains the Test Process Improvement (TPI) model, tried and tested by numerous professional testers, which provides a structured framework to be used either for improving an existing test process or for developing a new process from scratch. The authors use their in-depth knowledge and extensive experience to provide practical guidance and a framework that enables the reader to adapt the model for use in his/her organization. If you are involved in testing software systems and are aiming to implement a successful and structured process, you will find this book an invaluable resource.



Software Testing and Continuous Quality Improvement
By: William E Lewis

  • Expanded coverage of quality standards
  • Chapter on use cases and traceability
  • Section on test project management, covering techniques for test estimation, the monitoring and management of defects, and the integration of testing into an overall development methodology
  • Examination of onshore/offshore testing management
  • Section on modern testing, covering the evolution of automated testing tools, future trends of testing tools, advanced leading-edge capture/replay and test case generation tools, and a taxonomy of testing tools.
  • CD-ROM containing a complete spiral testing methodology, more than 50 templates, checklists, and descriptions of more than 100 software testing tools.


  • Software Testing and Continuous Quality Improvement, Second Edition, illustrates a quality framework for software testing in traditional structured and unstructured environments. It explains how a continuous quality improvement approach promotes effective testing, and it analyzes the various testing tools and techniques that you can choose.

    Section I explains the role of QA principles and best practices is in software testing. It provides a detailed overview of basic software testing techniques and an introduction of Deming's concept of quality through a continuous improvement process. This section explores the Plan, Do, Check, Act (PDCA) process, which is applied to all aspects of software testing.

    Section II reviews the software development life cycle and describes how testing and continuous quality improvement are incorporated into each phase of development. Section III details continuous quality improvement as part of the testing process. It breaks down software testing into a series of tasks that apply Deming's PDCA cycle.

    Section IV discusses fundamental challenges of managing testing projects, whether they are on-site or offshore. You learn how to establish effective test estimations to ensure that testing projects are on track. It also covers strategies for monitoring and managing software defects. Section V contains a brief history of software testing, previews advanced futuristic testing tools, and provides guidance for choosing the proper tool for various environments. It provides examples of some of the most popular products and offers a detailed methodology for evaluating them.



    Rapid Testing
    By: Robert Culbertson, Chris Brown, Gary Cobb

    A three-part approach is described here for streamlining the software testing process. The books covers the testing life cycle, including planning and test case design and development, bug tracking and reporting, verification and validation techniques, testing metrics, and test resource estimation. Principles and processes of rapid testing are explained, and tips and real-life examples are given, along with a complete set of sample test documentation. Culbertson has 25 years of experience in engineering, software development and testing, and project management.



    Effective Software Testing 50 Specific Ways to Improve Your Testing
    By: Elfriede Dustin

    Effective Software Testing explores fifty critically important best practices, pitfalls, and solutions. Gleaned from the author's extensive practical experience, these concrete items will enable quality assurance professionals and test managers to immediately enhance their understanding and skills, avoid costly mistakes, and implement a state-of-the-art testing program.

    This book places special emphasis on the integration of testing into all phases of the software development life cycle--from requirements definition to design and final coding. The fifty lessons provided here focus on the key aspects of software testing: test planning, design, documentation, execution, managing the testing team, unit testing, automated testing, nonfunctional testing, and more.



    Just Enough Software Test Automation
    By: Daniel J. Mosley, Bruce A. Posey

    "Just Enough Software Test Automation" written by Daniel Mosley and Bruce Posey describes test automation from a practical perspective gained from much experience by the authors with commentary and contributions from several well respected leading practitioners in the field. Key fundamental points are emphasized and explained throughout the book with supporting descriptions and concrete examples for using a data driven framework to implement and maintain software test automation.



    Automated Software Testing: Introduction, Management, and Performance
    By: Elfriede Dustin, Jeff Rashka, John Paul

    Written for those with some background in software engineering, Automated Software Testing: Introduction, Management, and Performance delivers a rigorous guide to the state of the art in managing automated testing in a text that will benefit anyone who tests software for a living. First and foremost, Automated Software Testing presents a methodology for test managers called Automated Testing Lifecycle Management (ATLM). This soup-to-nuts tour of testing takes you from initial planning, budgeting, and staffing to building a test plan and choosing test tools to executing tests and even improving your testing process the next time around. Though somewhat thickly written--with plenty of software engineering terminology--this book can also be useful to more practically minded readers because of its many sample test documents. (Besides numerous lists and charts outlining the steps in the ATLM process, the book presents a sample test plan, budget estimates, and staffing guides.)

    A truly standout feature is the book's survey of currently available automated tools that can be used throughout the testing cycle, as well as how to choose the right ones for your next project. For many software testers and managers, this section alone is probably worth the price of the book.

    As this book points out, test engineering is a growth field. While schools and businesses work hard to meet the demand for qualified testing professionals, this title can provide a solid guide to the best thinking on automated testing solutions that will save time and money as well as improve software quality.


     Up
    Standard in use
    • IEEE Std 829-1983, IEEE Standard for Software Test Documentation (ANSI)
    • IEEE Std 1008-1987, IEEE Standard for Software Unit Testing (ANSI)
     Up
    Useful Web Resources


    Rice Consulting Services specializes in software testing processes, training courses in software testing and QA, assessments and consulting focusing on software testing and other software quality-related disciplines.

    Software Testing Services - Resources & Links from

    Embedded Software Testing Consulting: Hans Schaefer

    Testing Foundations - consulting in software testing: testing.com


    The most popular Software Testing and Quality Assurance discussions site. With over 50 forums that cover almost every area in software testing, quality assurance and quality engineering.


    International Software Testing Institute

    Software QA/Engineering/Testing Resources

    Specialists in Software Testing and Inspection : Grove Consultants

    51Testing (Chinese website):www.51testing.com

    Software Testing Topic in ccidnet (Chinese website):http://tech.ccidnet.com/pub/column/c1086.html

    Software Testing Topic in csdn (Chinese website):http://www.csdn.net/subject/sqa/

    Test Age (Chinese): http://www.testage.net/

    Software Testing Techniques at http://www.softwaretesting.nildram.co.uk

    Bret Pettichord's Software Testing Hotlist: http://www.io.com/~wazmo/qa/

    Advanced Topics in Software Testing: here.

    Test Process Assessment & Improvement : A Model to Assess Testing Process Maturity

    Software Testing Online Resources A nexus of Software Testing Online Resources, this site is designed to be a "first-stop" on the Web for software testing researchers and practitioners.

    QA Lab

    The British Computer Society Special Interest Group in Software Testing (BCS SIGiST): http://www.bcs.org.uk/sigist .

    The Professional Tester: http://www.professional-tester.com .

    Software Quality Engineering: http://www.sqe.com .

    QBIT: http://www.qbit-testing.com .

    The Software Testing Institute: http://www.ondaweb.com/sti .

    The Software Testing Laboratories: http://www.stlabs.com .

    Software Testing: Software Testing Glossary

    Software Testing from: Wikipedia.

     Up
    Tools

    Selenium IDE
    Selenium IDE is an integrated development environment for Selenium tests. It is implemented as a Firefox extension, and allows you to record, edit, and debug tests. Selenium IDE includes the entire Selenium Core, allowing you to easily and quickly record and play back tests in the actual environment that they will run.

    NUnit
    NUnit is a unit-testing framework for all .Net languages. Initially ported from JUnit, the current production release, version 2.2, is the fourth major release of this xUnit based unit testing tool for Microsoft .NET. It is written entirely in C# and has been completely redesigned to take advantage of many .NET language features, for example custom attributes and other reflection related capabilities. NUnit brings xUnit to all .NET languages.

    Ncover
    Ncover provides statistics about your code, telling you how many times each line of code was executed during a particular run of the application. The most common use of code coverage analysis is to provide a measurement of how thoroughly your unit tests exercise your code. After running your unit tests under NCover, you can easily pinpoint sections of code that are poorly covered and write unit tests for those portions. Code coverage measurement is a vital part of a healthy build environment.

    NCoverExplorer
    NCoverExplorer is a C# WinForms tool for browsing highlighted source code using code coverage results produced by NCover. Will run standalone for use with all versions of NCover.

     Up
    Created by beyondtest
    Last modified 2007-03-07 08:27 AM
    « August 2008 »
    Su Mo Tu We Th Fr Sa
              1 2
    3 4 5 6 7 8 9
    10 11 12 13 14 15 16
    17 18 19 20 21 22 23
    24 25 26 27 28 29 30
    31            

     
     

    Powered by Plone

    This site conforms to the following standards: