University homepage Suomenkielinen versio puuttuu Inte
på svenska In english
University of Helsinki Department of Computer Science
 

Department of Computer Science

Seminar on Software Testing (3 cr, 2 cu), Autumn 2006

Organizer: Jukka Paakki
Time & place: 06.09.-13.12.2006, Wednesdays 14-16, C222

Description

The seminar studies advanced processes, methods, techniques, and tools of software testing. Functional testing, structural testing, testing coverage, regression testing, statistical testing, performance testing, model testing, state-based testing, test automation, and object-oriented testing are examples of topics that can be addressed. Case studies and practical experiences of the students are also most welcome.

The seminar papers can be written and the presentations can be given either in Finnish or in English.

Prerequisites

Software Engineering, Software Engineering Project, course on Software Testing.

Manner of working

Each student shall give a seminar presentation, based on a written paper (7 to 10 pages). The paper shall be based on articles in scientific journals and conference proceedings. For case studies and practical experiences, the material can be more proprietary or personal.

The paper (in html, pdf, or ps format), or preferably a link to it, must be sent to Jukka Paakki one week before the presentation. The papers are published in this seminar page, and everybody must read them before they are presented at a seminar session.

In addition, each student shall act as an opponent for another student's presentation. Also, active participation in discussions is encouraged.

It is allowed to be at most two times absent from the seminar presentations (excluding own presentation and opponentship).

Grading

The following factors are used when grading the seminar: (1) seminar paper 30%, (2) oral presentation 40%, (3) opponentship 10%, (4) participation in discussions 20%.

Schedule

Note! The schedule has been updated. The presentations originally scheduled to November 22 and November 29 have been moved to November 1, November 8, and November 15.


Seminar material

List of and references to possible topics:

  • Domain testing
    L.J. White, E.I. Cohen: A Domain Strategy for Computer Program Testing. IEEE Transactions on Software Engineering 6, 5, 1980, 247-257.
    B. Jeng, E.J. Weyuker: A Simplified Domain-Testing Strategy. ACM Transactions on Software Engineering and Methodology 3, 3, 1994, 254-270.
  • Partition testing
    D. Hamlet, R. Taylor: Partition Testing Does Not Inspire Confidence. IEEE Transactions on Software Engineering 16, 12, 1990, 1402-1411.
    S.C. Ntafos: On Comparisons of Random, Partition, and Proportional Partition Testing. IEEE Transactions on Software Engineering 27, 10, 2001, 949-960.
  • Analytical comparison of white-box coverage criteria
    S.C. Ntafos: A Comparison of Some Structural Testing Strategies. IEEE Transactions on Software Engineering 14, 6, 1988, 868-874.
    P.G. Frankl, E.J. Weyuker: A Formal Analysis of the Fault-Detecting Ability of Testing Methods. IEEE Transactions on Software Engineering 19, 3, 1993, 202-213.
    A.S. Parrish, S.H. Zweben: On the Relationship among the All-Uses, All-DU-Paths, and All-Edges Testing Criteria. IEEE Transactions on Software Engineering 21, 12, 1995, 1006-1009.
  • Data-flow testing methods
    S. Rapps, E.J. Weyuker: Selecting Software Test Data Using Data Flow Information. IEEE Transactions on Software Engineering 11, 4, 1985, 367-375.
    P.G. Frankl, E.J. Weyuker: An Applicable Family of Data Flow Testing Criteria. IEEE Transactions on Software Engineering 14, 10, 1988, 1483-1498.
    I. Forgács, A. Bertolino: Preventing Untestedness in Data-Flow Based Testing. Software Testing, Verification & Reliability 12, 1, 2002, 29-58.
  • The McCabe method
    T.J. McCabe: A Complexity Measure. IEEE Transactions on Software Engineering 2, 4, 1976, 308-320.
    T.J. McCabe, C.W. Butler: Design Complexity Measurement and Testing. Communications of the ACM 32, 12, 1989, 1415-1425.
    B. Henderson-Sellers: Modularization and McCabe's Cyclomatic Complexity. Communications of the ACM 35, 12, 1992, 17-19.
  • (Object-oriented) integration testing
    P.C. Jorgenson, C. Erickson: Object-Oriented Integration Testing. Communications of the ACM 37, 9, 1994, 30-38.
    K.-C. Tai, F.J. Daniels: Interclass Test Order for Object-Oriented Software. The Journal of Object-Oriented Programming 12, 4, 1999, 18-25.
    L.C. Briand, Y. Labiche, Y. Wang: An Investigation of Graph-Based Class Integration Test Order Strategies. IEEE Transactions on Software Engineering 29, 7, 2003, 594-607.
  • Cost-effective regression testing
    G. Rothermel, R.H. Untch, C. Chu, M.J. Harrold: Prioritizing Test Cases for Regression Testing. IEEE Transactions on Software Engineering 27, 10, 2001, 929-948.
    S. Elbaum, A.G. Malishevsky, G. Rothermel: Test Case Prioritization: A Family of Empirical Studies. IEEE Transactions on Software Engineering 28, 2, 2002, 159-182.
    G. Rothermel, S. Elbaum, A.G. Malishevsky, P. Kallakuri, X. Qiu: On Test Suite Composition and Cost-Effective Regression Testing. ACM Transactions on Software Engineering and Methodology 13, 3, 2004, 277-331.
  • Predicting the location of faults for statistical testing
    J. Voas, L. Morell, K. Miller: Predicting Where Faults Can Hide from Testing. IEEE Software 8, 2, 1991, 41-48.
    T.J. Ostrand, E.J. Weyuker, R.M. Bell: Predicting the Location and Number of Faults in Large Software Systems. IEEE Transactions on Software Engineering 31, 4, 2005, 340-355.
  • (Automated) spreadsheet testing
    G. Rothermel, M. Burnett, L. Li, C. Dupuis, A. Sheretov: A Methodology for Testing Spreadsheets. ACM Transactions on Software Engineering and Methodology 10, 1, 2001, 110-147.
    M. Fisher II, G. Rothermel, D. Brown, M. Cao, C. Cook, M. Burnett: Integrating Automated Test Generation into the WYSIWYT Spreadsheet Testing Methodology. ACM Transactions on Software Engineering and Methodology 15, 2, 2006, 150-194.
  • Testing tools
    N.S. Eickelmann, D.J. Richardson: An Evaluation of Software Test Environment Architectures. In: Proc. 18th International Conference on Software Engineering, Berlin, Germany, 1996. IEEE & ACM, 1996, 353-364.
  • Test-driven software development
    Any text book on test-driven / agile software development models, such as "Extreme Programming".
    H. Erdogmus, M. Morisio, M. Torchiano: On the Effectiveness of the Test-First Approach to Programming. IEEE Transactions on Software Engineering 31, 3, 2005, 226-237.
  • Bugs and debugging
    Communications of the ACM 40, 4, 1997, 26-78: The Debugging Scandal and What to Do about It (several articles).
  • State-of-the-practice
    IEEE Software 23, 4, 2006, 19-57: Software Testing Practices in Industry (several articles).
  • Testing vs. other defect detection methods
    S. King, J. Hammond, R. Chapman, A. Pryor: Is Proof More Cost-Effective Than Testing? IEEE Transactions on Software Engineering 26, 8, 2000, 675-686.
    S.S. So, S.D. Cha, T.J. Shimeall, Y.R. Kwon: An Empirical Evaluation of Six Methods to Detect Faults in Software. Software Testing, Verification & Reliability 12, 3, 2002, 155-171.
    P. Runeson, C. Andersson, T. Thelin, A. Andrews, T. Berling: What Do We Know about Defect Detection Methods? IEEE Software 23, 3, 2006, 82-90.