|
|
Software Testing
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.
|
|
|
 |
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.
|
|
|
 |
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 standardsChapter 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 managementSection 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.
|
|
|
|
 |
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)
|
|
|
 |
Useful Web Resources
|
|
|
|
 |
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.
|
|
|
 |
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 |
|
|
|
|
|
|
|