Software Testing & Quality Assurance Research Topics

Author Topic: Software Testing & Quality Assurance Research Topics  (Read 1669 times)

Offline hasanmahmud

  • Jr. Member
  • **
  • Posts: 84
  • Software Engineer/ Software Quality Assurance Eng.
    • View Profile
Software Testing & Quality Assurance Research Topics
« on: March 26, 2014, 07:38:25 PM »
Topics:
1.   GUI Testing:
It is argued by many practitioners and researchers that the proliferation of GUI's poses new challenges for the software testing community. What, if any, are these challenges? See GUI Testing: Pitfalls and Process by Atif Memon, IEEE Computer, vol 35, 8.

2.   Usability Testing:
Usability refers to the extent to which any software product supports its users in carrying out their tasks efficiently and effectively. It is therefore an important element in determining the quality of the software product. Several questions therefore arise. Following are a few that you may want to investigate:
Note: See Jakob Nielsens useit.com site for additional details on usability.
o   Developers should take account of usability early in the software development life cycle. How effectively can usability be addressed at the requirements elicitation phase?
o   The phrase "Fitness for Use" is often used to describe Software Quality. How does this notion relate to Usability Testing and how can it be used to justify the importance of addressing Usability throughout the software development lifecycle?
o   Acceptance Testing is the final phase of software development. Beta Testing is one aspect of Acceptance Testing. How can findings from Beta testing be used to encourage developers to take more account of usability early in the software development lifecycle.
o   The New Usability: It is argued by many practitioners and academics that the nature of emerging products and systems mean that traditional approaches to usability engineering and evaluation are likely to prove inappropriate to the needs of digital consumers. How so? See vol 9,2 (June 2002) of the ACM journal mentioned below for several related articles on this issue. Also, you may be interested in vol 6,4 (i.e. special issue on safety-critical interactive systems) and vol 7,3 (i.e. special issue on mobile systems).
The ACM Transactions on Computer-Human Interaction (TOCHI), is an excellent source for papers on Usability. It is available through DePaul electronic journal library.
Note: Use the journal name as the search string.

3.   Cleanroom Software Development:
A principal objective of the Cleanroom process is the development of software that exhibits zero failures in use. What is the Cleanroom process? See this technical report at the Carnegie Mellon site for details. Also, see IBM Systems Journal, vol 33,1 mentioned below for another Cleanroom paper (also authored by Richard Linger).

4.   Capability Maturity Model:
What is the Capability Maturity Model (CMM)? What does the CMM have to do with Software Quality Assurance and Software Testing? See the Carnegie Mellon SEI-CMM site for details.

5.   Software Quality Engineering:
What is Software Quality Engineering? How is it different from Software Engineering? See the American Society for Quality - Software Division site. Also see the CSQE - Body of Knowledge page.
You may also want to look into Software Quality from the perspective of Total Quality Management. The paper Software Quality by Vic Basili, IBM Systems Journal, vol 33,1 (1994) is an excellent source. It is available through DePaul electronic journal library.
Note: Use the journal name as the search string.

6.   Object Orientation & Testing:
It is argued by some practitioners and researchers that the the Object Oriented development paradigm poses new challenges for the software testing community. What, if any, are these challenges? See the Object-Oriented Testing: Myth and Reality article by Robert Binder that first appeared in Object magazine in 1995 but has been revised as recently as 2001. Robert Binder is the author of Testing Object-Oriented Systems, Addison-Wesley (1999).

7.   Software Tool Implementation:
Consider the Basis Path Testing technique. Since this technique is based on graph theory then, given the ready availability of a number of graph algorithms, one could implement a variety of tools that may be useful to a tester. For example, one could easily implement a function that recieves an adjacency matrix as an input data structure and determines the cyclomatic number of the graph. A slightly more involved implementation would involve using the depth-first search algorithm to determine the connected components of the graph. The number of connected components is required for the following formulation of the cyclomatic number expression:
Vg = E - N + 2(p)

where p is the number of connected components. Note that the expression for cyclomatic number discussed in class (see week #4 lecture notes) is a special case of this expression. That is, where p=1. Of course, many other implementations could be attempted.
Note: See Chapter 7 of Richard Johnsonbaugh's Discrete Math text.

8.   Testing Oracles:
An oracle is any program, process, or body of data that specifies the expected outcome of a set of test cases as applied to a tested software product. See Jim Bieman's paper Designing for Software Testability using automated Oracles that appeared in the Proc. International Test Conf., Sept. 1992.

9.   BeBugging/Mutation Testing:
BeBugging/Mutation Testing is a way of determining the effectiveness of testing. That is, it is a techniques that may be used to determine the number of remaining bugs in a software artifact after testing/review. See theweek #6 lecture notes for an overview. Also, see the following papers on this and related topics:
o   Interface Mutation: An Approach for Integration Testing by Marcio Delamaro et al., IEEE Transactions on Software Engineering, vol 27,3.
o   A Tutorial on Software Fault Injection by Jeffery Voas, IEEE Spectrum (2000)
o   Predicting Fault Detection Effectiveness by Joseph Morgan et al., Proceedings of the Fourth International Software Metrics Symposium (1997).
o   Residual Fault Density Prediction using Regression Methods by Joseph Morgan et al., Proceedings of the Seventh International Symposium on Software Reliability Engineering (1996).

10.   Concurrent Systems:
Testing concurrent systems poses challenges not faced by testers of sequential systems. Increasing interest in concurrent systems development is due in part to Java's built-in support for concurrent programming. Java allows multiple concurrent threads to take place within a single Java program. This enables developers to design applications that are more responsive to user demands, faster, and more easily controlled. See the following papers:
o   Systematically deriving Partial Oracles for Testing Concurrent Programs by Chris Hunter et al., Proceedings of the 24th Australasian Computer Science Conference (2001)
o   Testing Concurrent Programs: A formal Evaluation of Coverage Criteria by Michael Factor et al., Proceedings of the Seventh Isreali Conference on Computer-Based Systems and Software Engineering (1996)

11.   Real-Time and Embedded Systems Testing:
Manufacturers have for several years incorporated embedded computers in so-called smart products such as DVD players, televisions, printers, scanners, and cellular phones. Using embedded computers in devices that previously relied on analog circuitry such as digital cameras, digital camcorders, digital personal recorders, Internet radios, and Internet telephones provides revolutionary performance and functionality that merely improving analog designs could not achieve. However, the challenges faced by software developers has increased dramatically as these devices proliferate. This is especially so for the software tester. See the articleWhat is Embedded Computing by Wayne Wolf, IEEE Computer, Jan, 2002, to get a better idea of the field. Also, see the following papers to get an idea of testing issues:
o   Module Testing Embedded Software by Jason McDonald et al., Proceedings of the Seventh International Conference on Engineering of Complex Computer Systems (2001)
o   System for Automated Validation of Embedded Software by Sridevi Lingamarla et al., Proceedings of the 14th International Conference on Automated Software Engineering (1999)
Note: You may also want to see the ACM journal special issue on safety-critical interactive systems mentioned above.

12.   Wireless and Mobile Systems Testing:
Mobile and Wireless devices such as personal digital assistant (PDA) devices and mobile phones have become commonplace. The developer is faced with several issues. These include user interface design for small screens, memory management for low-memory devices, efficient programming techniques for limited processors, data synchronization for mobile databases, wireless programming and network programming. Many people argue that in addition to these challenges, consumers expect these devices to exhibit high levels of reliability and availability and so this posses additional challenges for software testers. To learn more about mobile computing see the article Mobile Processors Begin To Grow Up by David Clark, IEEE Computer, March 2002. See the Embedded Sytems references for papers. The testing issues are similar. Also, see the ACM journal mentioned above (particularly the new usability issue, vol 9,2 and the special issue on mobile systems, vol 7,3) for related papers.

13.   Agile Methods & Testing:
Agile methods, like extreme programming, seek to increase a software organization's responsiveness while decreasing development overhead. They focus on delivering executable code quickly and view people as the strongest ingredient of software development. What challenges does this approach to software development pose to Software Validation and Verification? See the article Extreme Programming: Rapid Development for Web-Based Applications by Frank Maurer et al., IEEE Internet Computing vol 6,1 for an overview of the topic
S M Hasan Mahmud
BSc and Msc in Software Engineering
Lecturer, SWE, Daffodil International University, Bangladesh

Offline kwnafi

  • Full Member
  • ***
  • Posts: 190
  • Never loose your hope, success will come
    • View Profile
Re: Software Testing & Quality Assurance Research Topics
« Reply #1 on: July 16, 2014, 08:56:41 PM »
Helpful Post
Kawser Wazed Nafi
Lecturer, CSE department
Daffodil International University
nafi.cse@daffodilvarsity.edu.bd