Jeff Tian's Research in Software Testing
Testing is an important activity within the software development process.
It represents 1) great opportunities for delivering high quality software
products to delighted customers, as well as
2) substantial share of the total development cost,
typically exceeding 40% of the total.
Testing serves two main functions:
1) quality assurance as the direct goal, and
2) defect detection and removal as a side benefit of the activity.
My interests are more closely identified with the former goal above,
including the following research topics:
Testing Techniques and Applications
Testing can be done using different techniques depending how the testing
model is constructed (black-box testing based on external specifications
and white-box testing based on internal product information)
and how test cases are generated and the test process is managed
(coverage-based testing that attempts to cover as many states, transitions
and paths as possible, as compared to usage-based testing that simulate
the usage of some target customers)
or executed (deterministic vs. random order).
My research focuses on usage-based, black-box, random testing,
closely identified with
reliability analysis and modeling,
which are generally suitable for large software systems.
With the wide-spread use of Internet and object technology,
specific testing techniques that are applicable and effective for the web
and OO software are some one of my key research interests in the testing area.
This work is described in more detail in a dedicated page on
usage-based statistical testing and applications.
Testing Tools
With the increasingly larger and more complex software systems being
built today,
automated tool support for testing is more a necessity than luxury.
Test execution support and result checking are generally more product specific
and can only be done with close collaboration with specific product groups.
My main interests in this area is to build new tools and enhance existing
ones for test model construction and test case generation based on different
techniques, and tools for test result analysis.
This work is described in connection with
statistical testing
as well as
integrated tools or tool suites for multiple purposes in connection with
software measurement and analysis,
reliability modeling.
Testing Management and Process Improvement
Recently, I have developed a new approach that combines testing progress
tracking, reliability analysis, and tree-based risk identification and
remedial actions in an integrated process.
This approach aims at the optimal combination of maximized product
quality and minimized cost and cycle-time.
This work is described in the following papers
(you can also see the
abstracts for some of these and other recent papers):
-
J. Tian,
"Measurement and Continuous Improvement of Software Reliability
throughout Software Life-cycle",
Journal of Systems and Software,
Vol. 47, Nos.2-3, pp.189-195, July, 1999.
-
J. Tian.
"An Integrated Approach to Test Tracking and Analysis".
Journal of Systems and Software.
Vol.35, pp.127-140,
Nov. 1996.
Testing Defect and Reliability Analysis
I am interested in defect analysis in conjunction with analysis of other
software engineering data
(see my research in
software measurement and analysis)
to help improve defect detection and removal efficiencies.
On the quality assurance side, the main concern is the assessment,
prediction, and control of various quality aspects of software products.
The most important aspect is
reliability,
a measure of quality from a customer's perspective.
See more details about this topic in my related research:
software reliability engineering and
software measurement and analysis.
Prepared by Jeff Tian
(tian@engr.smu.edu).
Last update: May 1, 2003.
Back to Jeff Tian's home page