Back in 2004, I started developing course videos on software testing and computer-related law/ethics. Originally, these were for my courses at Florida Tech, but I published them under a Creative Commons license so that people could incorporate the materials in their own courses.
Soon after that, a group of us (mainly, I think, Scott Barber, Doug Hoffman, Mike Kelly, Pat McGee, Hung Nguyen, Andy Tinkham, and Ben Simo) started planning the repurposing of the academic course videos for professional development. I put together some (failing) prototypes and Becky Fiedler took over the instructional design.
- We published the first version of BBST-Foundations and taught the courses through AST (Association for Software Testing). It had a lot of rough edges, but people liked it at lot.
- So Becky and I created course #2, Bug Advocacy, with a lot of help from Scott Barber (and many other colleagues). This was new material, a more professional effort than Foundations, but it took a lot of time.
That took us to a fork in the road.
- I was working with students on developing skills with specific techniques (I worked with Giri Vijayaraghavan and Ajay Jha on risk-based testing; Sowmya Padmanabhan on domain testing; and several students with not-quite-successful efforts on scenario testing). Sowmya and I proved (not that we were trying to) that developing students’ testing skills was more complex than I’d been thinking. So, Becky and I were rethinking our skills-development-course designs.
- On the other hand, AST’s Board wanted to pull together a “complete” introductory series in black box testing. Ultimately, we went that way.
The goal was a three-part series:
- A reworked Foundations that fixed many of the weaknesses of Version 1. We completed that one about a year ago (Becky and Doug Hoffman were my main co-creators, with a lot of design guidance from Scott Barber).
- Bug Advocacy, and
- a new course in Test Design.
Test Design is (finally) almost done (many thanks to Michael Bolton and Doug Hoffman). I’ll publish the lectures as we finish post-production on the videos. Lecture 1 should be up around Saturday.
Test Design is a survey course. We cover a lot of ground. And we rely heavily on references, because we sure don’t know everything there is to know about all these techniques.
To support the release of the videos, I’m publishing our references now. (The final course slides will have the references too, but those won’t be done until we complete editing the last video.):
- As always, it has been tremendously valuable reading books and papers suggested by colleagues and rereading stuff I’ve read before. A lot of careful thinking has gone into the development and analysis of these techniques.
- As always, I’ve learned a lot from people whose views differ strongly from my own. Looking for the correctness in their views–what makes them right, within their perspective and analysis, even if I disagree with that perspective–is something I see as a basic professional skill.
- And as always, I’ve not only learned new things: I’ve discovered that several things I thought I knew were outdated or wrong. I can be confident that the video is packed with errors–but plenty fewer than there would have been a year ago and none that I know about now.
So… here’s the reference list. Video editing will take a few weeks to complete–if you think we should include some other sources, please let me know. I’ll read them and, if appropriate, I’ll gladly include them in the list.
Active reading (see also Specification-based testing and Concept mapping)
- Adler, M. (1940). How to mark a book. http://academics.keene.edu/tmendham/documents/AdlerMortimerHowToMarkABook_20060802.pdf
- Adler, M., & Van Doren, C. (1972). How to Read a Book. Touchstone.
- Beacon Learning Center. (Undated). Just Read Now. http://www.justreadnow.com/strategies/active.htm
- Active reading (summarizing Bean, J. Engaging Ideas). (Undated). http://titan.iwu.edu/~writcent/Active_Reading.htm
- Gause, D.C., & Weinberg, G.M. (1989). Exploring Requirements: Quality Before Design. Dorset House.
- W.D. Hurley (1989) “A generative taxonomy of application domains based on interaction semantics” at http://dl.acm.org/citation.cfm?id=75960. (see also Jha’s and Vijayaraghavan’s writing on generative taxonomy in the section on Failure Mode Analysis.)
- PLAN: Predict/Locate/Add/Note. (Undated). http://www.somers.k12.ny.us/intranet/reading/PLAN.html
- MindTools. (Undated). Essential skills for an excellent career. http://www.mindtools.com
- Penn State University Learning Centers. (Undated). Active Reading. http://istudy.psu.edu/FirstYearModules/Reading/Materials.html
- Weill, P. (Undated). Reading Strategies for Content Areas: Part 1 After Reading. http://www.douglasesd.k12.or.us/LinkClick.aspx?fileticket=6FrvrocjBnk%3d&tabid=1573
All-pairs testing
See http://www.pairwise.org/ for more references generally and http://www.pairwise.org/tools.asp for a list of tools.
- Bach, J., & Schroeder, P. (2004). Pairwise Testing: A Best Practice that Isn’t. Proceedings of the 22nd Pacific Northwest Software Quality Conference, 180–196. http://www.testingeducation.org/wtst5/PairwisePNSQC2004.pdf. For Bach’s tool, see http://www.satisfice.com/tools/pairs.zip
- Bolton, M. (2007). Pairwise testing. http://www.developsense.com/pairwiseTesting.html
- Chateauneuf, M. (2000). Covering Arrays. Ph.D. Dissertation (Mathematics). Michigan Technological University.
- Cohen, D. M., Dalal, S. R., Fredman, M. L., & Patton, G. C. (1997). The AETG system: An approach to testing based on combinatorial design. IEEE Transactions on Software Engineering, 23(7). http://aetgweb.argreenhouse.com/papers/1997-tse.html. For more references, see http://aetgweb.argreenhouse.com/papers.shtml
- Czerwonka, J. (2008). Pairwise testing in the real world: Practical extensions to test-case scenarios. http://msdn.microsoft.com/en-us/library/cc150619.aspx. Microsoft’s PICT tool is at http://download.microsoft.com/download/f/5/5/f55484df-8494-48fa-8dbd-8c6f76cc014b/pict33.msi
- Jorgensen, P. (2008, 3rd Ed.). Software Testing: A Craftsman’s Approach. Auerbach Publications.
- Kuhn, D. R. & Okun, V. (2006). Pseudo-exhaustive testing for software. 30th Annual IEEE/NASA Software Engineering Workshop. http://csrc.nist.gov/acts/PID258305.pdf
- Zimmerer, P. (2004). Combinatorial testing experiences, tools, and solutions. International Conference on Software Testing, Analysis & Review (STAR West). http://www.stickyminds.com
Alpha testing
See references on tests by programmers of their own code, or on relatively early testing by development groups. For a good overview from the viewpoint of the test group, see Schultz, C.P., Bryant, R., & Langdell, T. (2005). Game Testing All in One. Thomson Press
Ambiguity analysis (See also specification-based testing)
- Bender, R. (Undated). The Ambiguity Review Process, http://benderrbt.com/Ambiguityprocess.pdf
- Berry, D.M., Kamisties, E., & Krieger, M.M. (2003) From contract drafting to software specification: Linguistic sources of ambiguity. http://se.uwaterloo.ca/~dberry/handbook/ambiguityHandbook.pdf
- Fabbrini, F., Fusani, M., Gnesi, S., & Lami, G. (2000) Quality evaluation of software requirements specifications. Thirteenth International Software & Internet .Quality Week. http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.98.4333&rep=rep1&type=pdf
- Spector, C.C. (1997) Saying One Thing, Meaning Another, Eau Claire, WI: Thinking Publications (reprint at http://www.superduperinc.com/products/view.aspx?pid=tpx12901)
- Spector, C.C. (2001). As Far As Words Go: Activities for Understanding Ambiguous Language and Humor, Baltimore: Brookes Publishing.
Best representative testing (See domain testing)
Beta testing
- Bolton, M. (2001). Effective beta testing. http://www.developsense.com/EffectiveBetaTesting.html
- Fine, M.R. (2002). Beta Testing for Better Software. Wiley.
- Schultz, C.P., Bryant, R., & Langdell, T. (2005). Game Testing All in One. Thomson Press.
- Spolsky, J. (2004). Top twelve tips for running a beta test. http://www.joelonsoftware.com/articles/BetaTest.html
- Wilson, R. (2005). Expert user validation testing. Unpublished manuscript.
Boundary testing (See domain testing)
Bug bashes
- Berkun, S. (2008). How to run a bug bash. http://www.scottberkun.com/blog/2008/how-to-run-a-bug-bash/
- Powell, C. (2009). Bug bash. http://blog.abakas.com/2009/01/bug-bash.html
- Schroeder, P.J. & Rothe, D. (2007). Lessons learned at the stomp. Conference of the Association for Software Testing, http://www.associationforsoftwaretesting.org/?dl_name=Lessons_Learned_at_the_Stomp.pdf
Build verification
- Guckenheimer, S. & Perez, J. (2006). Software Engineering with Microsoft Visual Studio Team System. Addison Wesley.
- Page, A., Johnston, K., & Rollison, B.J. (2009). How We Test Software at Microsoft. Microsoft Press.
- Raj, S. (2009). Maximize your investment in automation tools. Software Testing Analysis & Review. http://www.stickyminds.com
Calculations
Note: There is a significant, relevant field: Numerical Analysis. The list here merely points you to a few sources I have personally found helpful, not necessarily to the top references in the field.
- Arsham, H. (2010) Solving system of linear equations with application to matrix inversion. http://home.ubalt.edu/ntsbarsh/business-stat/otherapplets/SysEq.htm
- Boisvert, R.F., Pozo, R., Remington, K., Barrett , R.F., & Dongarra, J.J. (1997) Matrix Market: A web resource for test matrix collections. In Boisvert, R.F. (1997) (Ed.) Quality of Numerical Software: Assessment and Enhancement. Chapman & Hall.
- Einarsson, B. (2005). Accuracy and Reliability in Scientific Computing. Society for Industrial and Applied Mathematics (SIAM).
- Gregory, R.T. & Karney, D.L. (1969). A Collection of Matrices for Testing Computational Algorithms. Wiley.
- Kaw, A.K. (2008), Introduction to Matrix Algebra. Available from http://www.lulu.com/browse/preview.php?fCID=2143570. Chapter 9, Adequacy of Solutions, http://numericalmethods.eng.usf.edu/mws/gen/04sle/mws_gen_sle_spe_adequacy.pdf
Combinatorial testing. See All-Pairs Testing
Concept mapping
- Hyerle, D.N. (2008, 2nd Ed.). Visual Tools for Transforming Information into Knowledge, Corwin.
- Margulies, N., & Maal, N. (2001, 2nd Ed.) Mapping Inner Space: Learning and Teaching Visual Mapping. Corwin.
- McMillan, D. (2010). Tales from the trenches: Lean test case design. http://www.bettertesting.co.uk/content/?p=253
- McMillan, D. (2011). Mind Mapping 101. http://www.bettertesting.co.uk/content/?p=956
- Moon, B.M., Hoffman, R.R., Novak, J.D., & Canas, A.J. (Eds., 2011). Applied Concept Mapping: Capturing, Analyzing, and Organizing Knowledge. CRC Press.
- Nast, J. (2006). Idea Mapping: How to Access Your Hidden Brain Power, Learn Faster, Remember More, and Achieve Success in Business. Wiley.
- Sabourin, R. (2006). X marks the test case: Using mind maps for software design. Better Software. http://www.stickyminds.com/BetterSoftware/magazine.asp?fn=cifea&id=90
Concept mapping tools:
- http://www.graphic.org/
- http://www.innovationtools.com/resources/mindmapping.asp
http://www.inspiration.com
http://www.mindjet.com
http://www.mindtools.com/mindmaps.html
http://www.novamind.com
http://users.edte.utwente.nl/lanzing/cm_bibli.htm
http://www.xmind.net
http://en.wikipedia.org/wiki/List_of_concept_mapping_and_mind_mapping_software
Configuration coverage
- Black, R. (2002, 2nd Ed.). Managing the Testing Process. Wiley.
- Kaner, C. (1996). Software negligence and testing coverage. Software Testing, Analysis & Review Conference (STAR). https://13j276.p3cdn1.secureserver.net/pdfs/negligence_and_testing_coverage.pdf
- Pawson, M. (2001). The test matrix. Software Testing & Quality Engineering, 3(6). http://www.stickyminds.com/getfile.asp?ot=XML&id=5005&fn=Smzr1XDD3339filelistfilename1%2Epdf
Configuration / compatibility testing
- Frye, C. (2009). Configuration testing: QA pros discuss 10 things you may not know. http://searchsoftwarequality.techtarget.com/news/1361051/Configuration-testing-QA-pros-discuss-10-things-you-may-not-know
- Kaner, C., Falk, J., & Nguyen, H.Q. (2nd Edition, 2000). Testing Computer Software. Wiley.
- McCaffrey, J., & Despe, P. (2008). Configuration testing with virtual server, part 2. MSDN Magazine. December. http://msdn.microsoft.com/en-us/magazine/dd252952.aspx
- Patton, Ron. (2006, 2nd Ed.). Software Testing. SAMS.
Constraint checks
See our notes in BBST Foundation’s presentation of Hoffman’s collection of oracles.
- Hoffman, D. (1999). Heuristic test oracles. Software Testing & Quality Engineering, 1(2), 29-32. http://www.softwarequalitymethods.com/Papers/STQE%20Heuristic.pdf
Constraints
- Jorgensen, A.A. (1999). Software Design Based on Operational Modes. Doctoral Dissertation, Florida Institute of Technology. https://cs.fit.edu/Projects/tech_reports/cs-2002-10.pdf
- Whittaker, J.A. (2002) How to Break Software, Addison Wesley.
Diagnostics-based testing
- Al-Yami, A.M. (1996). Fault-Oriented Automated Test Data Generation. Ph.D. Dissertation, Illinois Institute of Technology.
- Kaner, C., Bond, W.P., & McGee, P.(2004). High volume test automation. Keynote address: International Conference on Software Testing Analysis & Review (STAR East 2004). Orlando. https://13j276.p3cdn1.secureserver.net/pdfs/HVAT_STAR.pdf (The Telenova and Mentsville cases are both examples of diagnostics-based testing.)
Domain testing
- Abramowitz & Stegun (1964), Handbook of Mathematical Functions. http://people.math.sfu.ca/~cbm/aands/frameindex.htm
- Beizer, B. (1990). Software Testing Techniques (2nd Ed.). Van Nostrand Reinhold.
- Beizer, B. (1995). Black-Box Testing. Wiley.
- Binder, R. (2000). Testing Object-Oriented Systems: Addison-Wesley.
- Black, R. (2009). Using domain analysis for testing. Quality Matters, Q3, 16-20. http://www.rbcs-us.com/images/documents/quality-matters-q3-2009-rb-article.pdf
- Copeland, L. (2004). A Practitioner’s Guide to Software Test Design. Artech House.
- Clarke, L.A. (1976). A system to generate test data and symbolically execute programs. IEEE Transactions on Software Engineering, 2, 208-215.
- Clarke, L. A. Hassel, J., & Richardson, D. J. (1982). A close look at domain testing. IEEE Transactions on Software Engineering, 2, 380-390.
- Craig, R. D., & Jaskiel, S. P. (2002). Systematic Software Testing. Artech House.
- Hamlet, D. & Taylor, R. (1990). Partition testing does not inspire confidence. IEEE Transactions on Software Engineering, 16(12), 1402-1411.
- Hayes, J.H. (1999). Input Validation Testing: A System-Level, Early Lifecycle Technique. Ph.D. Dissertation (Computer Science), George Mason University.
- Howden, W. E. (1980). Functional testing and design abstractions. Journal of Systems & Software, 1, 307-313.
- Jeng, B. & Weyuker, E.J. (1994). A simplified domain-testing strategy. ACM Transactions on Software Engineering, 3(3), 254-270.
- Jorgensen, P. C. (2008). Software Testing: A Craftsman’s Approach (3rd ed.). Taylor & Francis.
- Kaner, C. (2004a). Teaching domain testing: A status report. Paper presented at the Conference on Software Engineering Education & Training. https://13j276.p3cdn1.secureserver.net/pdfs/teaching_sw_testing.pdf
- Kaner, C., Padmanabhan, S., & Hoffman, D. (2012) Domain Testing: A Workbook, in preparation.
- Myers, G. J. (1979). The Art of Software Testing. Wiley.
- Ostrand, T. J., & Balcer, M. J. (1988). The category-partition method for specifying and generating functional tests. Communications of the ACM, 31(6), 676-686.
- Padmanabhan, S. (2004). Domain Testing: Divide and Conquer. M.Sc. Thesis, Florida Institute of Technology. http://www.testingeducation.org/a/DTD&C.pdf
- Schroeder, P.J. (2001). Black-box test reduction using input-output analysis. Ph.D. Dissertation (Computer Science). Illinois Institute of Technology.
- Weyuker, E. J., & Jeng, B. (1991). Analyzing partition testing strategies. IEEE Transactions on Software Engineering, 17(7), 703-711.
- Weyuker, E.J., & Ostrand, T.J. (1980). Theories of program testing and the application of revealing subdomains. IEEE Transactions on Software Engineering, 6(3), 236-245.
- White, L. J., Cohen, E.I., & Zeil, S.J. (1981). A domain strategy for computer program testing. In Chandrasekaran, B., & Radicchi, S. (Ed.), Computer Program Testing (pp. 103-112). North Holland Publishing.
- http://www.wikipedia.org/wiki/Stratified_sampling
Dumb monkey testing
- Arnold, T. (1998), Visual Test 6. Wiley.
- Nyman, N. (1998). Application testing with dumb monkeys. International Conference on Software Testing Analysis & Review (STAR West).
- Nyman, N. (2000), Using monkey test tools. Software Testing & Quality Engineering, 2(1), 18-20
- Nyman, N. (2004). In defense of monkey testing. http://www.softtest.org/sigs/material/nnyman2.htm
Eating your own dogfood
- Page, A., Johnston, K., & Rollison, B.J. (2009). How We Test Software at Microsoft. Microsoft Press.
Equivalence class analysis (see Domain testing)
Experimental design
- Popper, K.R. (2002, 2nd Ed.). Conjectures and Refutations: The Growth of Scientific Knowledge. Routledge.
- Shadish, W.R., Cook, T.D., & Campbell, D.T. (2002). Experimental and Quasi-Experimental Designs for Generalized Causal Inference, 2nd Ed. Wadsworth.
Exploratory testing
- Bach, J. (1999). General functionality and stability test procedure. http://www.satisfice.com/tools/procedure.pdf
- Bach, J. (2000). Session-based test management. Software Testing & Quality Engineering. http://www.satisfice.com/articles/sbtm.pdf
- Bach, J. (2007). Exploratory testing explained. In Ryber,. T. (2007). Essential Software Test Design. Fearless Consulting. http://www.satisfice.com/articles/et-article.pdf
- Bach, J., Bach, J. & Bolton, M. (2009). Exploratory testing dynamics (version 2.2). http://www.satisfice.com/blog/wp-content/uploads/2009/10/et-dynamics22.pdf
- Bolton, M. (2011). Resources on Exploratory Testing, Metrics and Other Stuff. http://www.developsense.com/resources.html#exploratory
- Cox, R., Duisters, P., & van de Laar (2011). Testing in the medical domain. Testing Experience, (March),6-9. http://www.improveqs.nl/files/testingexperience13_03_11_Cox_Duisters_Laar.pdf
- Hendrickson, E. (2011). Exploratory Testing in an Agile Context. http://www.agilistry.com/downloads/ETinAgile-agile2011-final.pdf
- Kaner, C. (2006). Exploratory testing after 23 years. Conference of the Association for Software Testing. https://13j276.p3cdn1.secureserver.net/pdfs/ETat23.pdf
- Kaner, C. & Hoffman, D. (2010). Introduction to exploratory test automation. https://13j276.p3cdn1.secureserver.net/pdfs/VISTACONexploratoryTestAutmation.pdf
- Kohl, J. (2007). Getting started with exploratory testing –Parts 1-4. http://www.kohl.ca/blog/archives/000185.html
- Kohl, J. (2007). Getting started with exploratory testing –Part 2. http://www.kohl.ca/blog/archives/000186.html
- Kohl, J. (2007). Getting started with exploratory testing –Part 3. http://www.kohl.ca/blog/archives/000187.html
- Kohl, J. (2007). Getting started with exploratory testing –Part 4. http://www.kohl.ca/blog/archives/000188.html
- Kohl, J. (2007). Man and machine: Combining the power of the human mind with automation tools. Better Software, December, 20-25. http://www.kohl.ca/articles/ManandMachine_BetterSoftware_Dec2007.pdf
- Kohl, J. (2011). Documenting exploratory testing. Better Software, May/June, 22-25. http://www.nxtbook.com/nxtbooks/sqe/bettersoftware_0511/#/23/OnePage
- Robinson, H. (2010). Exploratory test automation. Conference of the Association for Software Testing. http://www.harryrobinson.net/ExploratoryTestAutomation-CAST.pdf
Failure mode analysis: see also Guidewords and Risk-Based Testing.
- Cheit, R.E. (1990). Setting Safety Standards: Regulation in the Public and Private Sectors. University of California Press. http://ark.cdlib.org/ark:/13030/ft8f59p27j/
- Department of Defense (1980). Procedures for Performing a Failure Mode, Effects and Criticality Analysis: MIL-STD-1629A. http://sre.org/pubs/Mil-Std-1629A.pdf
- Department of Defense Patient Safety Center (2004). Failure mode and effects analysis (FMEA): An advisor’s guide. AF Patient Safety Program. http://www.fmeainfocentre.com/handbooks/FMEA_Guide_V1.pdf
- FMEA Info Center (undated). FMEA Info Center: Everything You Want to Know About Failure Mode and Effect Analysis. http://www.fmeainfocentre.com/index.htm (this is a large collection of resources on FMEA).
- FMEA-FMECA.COM (undated). FMEA Examples. http://fmea-fmeca.com/fmea-examples.html
- Goddard, P.L. (2000). Software FMEA techniques. Proceedings of the Reliability and Maintainability Symposium, 118-123.
- W.D. Hurley (1989) “A generative taxonomy of application domains based on interaction semantics” at http://dl.acm.org/citation.cfm?id=75960
- Jha, A. (2007). A Risk Catalog for Mobile Applications. (Master’s Thesis in Software Engineering) Department of Computer Sciences at Florida Institute of Technology. http://www.testingeducation.org/articles/AjayJha_Thesis.pdf
- Kaner, C., Falk, J., & Nguyen, H.Q. (2nd Edition, 2000b). Bug Taxonomy (Appendix) in Testing Computer Software. Wiley. http://www.logigear.com/logi_media_dir/Documents/whitepapers/Common_Software_Errors.pdf
- Pentti, H. & Atte, H. (2002). Failure mode and effects analysis of software-based automation systems. http://www.fmeainfocentre.com/handbooks/softwarefmea.pdf
- SoftRel (undated) Software FMEA service. http://www.softrel.com/fmea.htm
- Vijayaraghavan, G. (2002). A Taxonomy of E-Commerce Risks and Failures. (Master’s Thesis) Department of Computer Sciences at Florida Institute of Technology. http://www.testingeducation.org/a/tecrf.pdf
- Vijayaraghavan, G., & Kaner, C. (2002). Bugs in your shopping cart: A taxonomy. 15th International Software Quality Conference (Quality Week). San Francisco, CA. (Best Paper Award.) http://www.testingeducation.org/a/bsct.pdf
- Vijayaraghavan, G., & Kaner, C.(2003). Bug taxonomies: Use them to generate better tests. Software Testing, Analysis & Review Conference (Star East). Orlando, FL. (Best Paper Award). http://www.testingeducation.org/a/bugtax.pdf
- http://en.wikipedia.org/wiki/Taxonomy
- http://en.wikipedia.org/wiki/Folk_taxonomy
Feature integration testing
- Overbaugh, J. (2007). How to do integration testing. http://searchsoftwarequality.techtarget.com/answer/How-to-do-integration-testing
- Van Tongeren, T. (2001). Functional integration test planning. http://www.stickyminds.com/getfile.asp?ot=XML&id=3693&fn=XUS2004669file1%2Epdf
Function testing
- Bolton, M. (2006). The factors of function testing. Better Software. http://www.developsense.com/articles/2006-07-TheFactorsOfFunctionTesting.pdf
- Craig, R.D., & Jaskiel, S.P. (2002). Systematic Software Testing. See Chapter 5, Test Design (the discussion of inventories). Artech House.
Function equivalence testing
- Hoffman, D. (2003). Exhausting your test options. Software Testing & Quality Engineering, 5(4), 10-11
- Kaner, C., Falk, J., & Nguyen, H.Q. (2nd Edition, 2000). Testing Computer Software. Wiley.
Functional testing below the GUI
- Marick, B. (2002). Bypassing the GUI. Software Testing & Quality Engineering, Sept/Oct. 41-47. http://www.exampler.com/testing-com/writings/bypassing-the-gui.pdf
Guerilla testing
- Kaner, C., Falk, J., & Nguyen, H.Q. (2nd Edition, 2000). Testing Computer Software. Wiley.
Guidewords
- Bach, J. (2006). Heuristic test strategy model, Version 4.8. http://www.satisfice.com/tools/satisfice-tsm-4p.pdf
- Broomfield, E.J. & Chung, P.W.H. (1994). Hazard identification in programmable systems: A methodology and case study. ACM SIGAPP Applied Computing Review, 2(1), 7-14.
- Falla, M. (Ed.) (1997). Advances in Safety Critical Systems: Results and Achievements from the DTI/EPSRC R&D Programme in Safety Critical Systems. Chapter 3: Hazard Analysis. http://www.comp.lancs.ac.uk/computing/resources/scs/
- Fenelon, P. & Hebbron, B. (1994). Applying HAZOP to software engineering models. Risk Management and Critical Protective Systems: Proceedings of SARSS 1994. http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.56.6073&rep=rep1&type=pdf
- Fenelon, P., McDermid, J.A., Nicholson, M. & Pumfrey, D.J. (1994). Towards integrated safety analysis and design. ACM SIGAPP Applied Computing Review, 2(1), 21-32. http://www-users.cs.york.ac.uk/~djp/publications/djp-acm.pdf
- Fields, R. Paterno, F., Santoro, C. & Tahmassebi, S. (1999). Comparing design options for allocating communication media in cooperative safety-critical contexts: A method and a case study. ACM Transactions on Computer-Human Interaction, 6(4), 370–398.
- Gagnat, A.K. & Jansen, V. (2006). Incorporating human factors and interface design into safety-critical systems development. M.Sc. Thesis, Østfold University College, Faculty of Computer Science, http://www.hiof.no/neted/upload/attachment/site/group12/Ann_Katrin_Gagnat_&_Vegar_Jansen_Incorporating_human_factors_and_interface_design_into_safety_critical_systems_development.pdf
- HAZOP Guidelines (2008). Hazardous Industry Planning Advisory Paper No. 8, NSW Government Department of Planning. http://www.planning.nsw.gov.au/plansforaction/pdf/hazards/haz_hipap8_rev2008.pdf
- Hewitt, R. (2005). Information-based risk assessment software architecture. Proceedings of the 2005 IEEE Engineering Management Conference, 574-578.
- Lutz, R. & Nikora, A. (2005, November). Failure Assessment. 1st Int’l Forum on Integrated System Health Engineering and Management for Aerospace (ISHEM’05). http://www.cs.iastate.edu/~rlutz/publications/ishem05.pdf
- Reinhardt, D. (2006). Certification criteria for emulation technology in the Australian Defence Force Military Avionics Context. 11th Australian Workshop on Safety Related Programmable Systems (SCS’06). Conferences in Research and Practice in Information Technology. 69, 79-92. http://crpit.com/confpapers/CRPITV69Reinhardt.pdf
- Stone, G.R. (2005). On arguing the safety of large systems. 10th Australian Workshop on Safety related Programmable Systems. Conferences in Research and Practice in Information Technology, 55, 69-75. http://crpit.com/confpapers/CRPITV55Stone.pdf
- Ye, F. & Kelly, T. (1994). Contract-based justification for COTS component within safety-critical applications. 9th Australian Workshop on Safety Related Programmable Systems (SCS’ 04). Conferences in Research & Practice in Information Technology, 47, 13-22. http://crpit.com/confpapers/CRPITV47Ye.pdf
Installation testing
- Agruss, C. (2000). Software installation testing: How to automate tests for smooth system installation. Software Testing & Quality Engineering, 2 (4). http://www.stickyminds.com/getfile.asp?ot=XML&id=5001&fn=Smzr1XDD1806filelistfilename1%2Epdf
- Bach, J. (1999), Heuristic risk-based testing, Software Testing & Quality Engineering, 1 (6), 22-29. http://www.satisfice.com/articles/hrbt.pdf
- Kumar, P. (2010). Installation testing – why and how? Testing Circus, 1(2), 7-11. http://testingcircus.com/OctoberNovember2010.aspx
- Noggle, B.J. (2011). Testing the installer. The Testing Planet. March, http://wiki.softwaretestingclub.com/w/file/fetch/39449474/TheTestingPlanet-Issue4-March2011.pdf
- Shinde, V. (2007). Software installation/uninstallation testing. http://www.softwaretestinghelp.com/software-installationuninstallation-testing
Interoperability testing
- European Telecommunications Standards Institute (undated). Interoperability test specification. http://portal.etsi.org/mbs/testing/interop/interop.htm
- Simulations Interoperability Standards Organization (2010). Commercial Off-the-Shelf (COTS) Simulation Package Interoperability (CSPI) Reference Mode. http://www.sisostds.org/DigitalLibrary.aspx?Command=Core_Download&EntryId=30829
Load testing
- Asbock, S. (2000). Load Testing for eConfidence. Segue.
- Barber, S. (2006). Remember yesterday. Software Test & Performance Magazine. January, 42-43. http://www.perftestplus.com/resources/016PeakPerf.pdf
- Savoia, A. (2000). The science and art of web site load testing. International Conference on Software Testing Analysis & Review (STAR East), Orlando. www.stickyminds.com/getfile.asp?ot=XML&id=1939&fn=XDD1939filelistfilename1.pdf
- Savoia, A. (2001). Three web load testing blunders and how to avoid them. Software Testing & Quality Engineering, 3(3), 54-59. http://www.stickyminds.com/s.asp?F=S5034_MAGAZINE_2
Localization testing
- Bolton, M. (2006, April). Where in the world? Better Software. http://www.developsense.com/articles/2006-04-WhereInTheWorld.pdf
- Chandler, H.M. & Deming, S.O (2nd Ed. in press). The Game Localization Handbook. Jones & Bartlett Learning.
- Ratzmann, M., & De Young, C. (2003). Galileo Computing: Software Testing and Internationalization. Lemoine International and the Localization Industry Standards Association. http://www.automation.org.uk/downloads/documentation/galileo_computing-software_testing.pdf
- Savourel, Y. (2001). XML Internationalization and Localization. Sams Press.
- Singh, N. & Pereira, A. (2005). The Culturally Customized Web Site: Customizing Web Sites for the Global Marketplace. Butterworth-Heinemann.
- Smith-Ferrier, G. (2006). .NET Internationalization: The Developer’s Guide to Building Global Windows and Web Applications. Addison-Wesley Professional.
- Uren, E., Howard, R. & Perinotti, T. (1993). Software Internationalization and Localization. Van Nostrand Reinhold.
Logical expression testing
- Amman, P., & Offutt, J. (2008). Introduction to Software Testing. Cambridge University Press.
- Beizer, B. (1990). Software Testing Techniques (2nd Ed.). Van Nostrand Reinhold.
- Copeland, L. (2004). A Practitioner’s Guide to Software Test Design. Artech House (see Chapter 5 on decision tables).
- Jorgensen, P. (2008, 3rd Ed.). Software Testing: A Craftsman’s Approach. Auerbach Publications (see Chapter 7 on decision tables).
- Brian Marick (2000) modeled testing of logical expressions by considering common mistakes in designing/coding a series of related decisions. Testing for Programmers. http://www.exampler.com/testing-com/writings/half-day-programmer.pdf.
- MULTI. Marick implemented his approach to testing logical expressions in a program, MULTI. Tim Coulter and his colleagues extended MULTI and published it (with Marick’s permission) at http://sourceforge.net/projects/multi/
Long-sequence testing
- Claessen, K. (undated). QuickCheck 2.4.0.1: Automatic testing of Haskell programs. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/QuickCheck
- Koopman, P. (undated). The Ballista ® Project: COTS software robustness testing. http://www.cs.cmu.edu/afs/cs/project/edrc-ballista/www/
- McGee, P. & Kaner, C. (2004). Experiments with high volume test automation.” Workshop on Empirical Research in Software Testing, International Symposium on Software Testing and Analysis. https://13j276.p3cdn1.secureserver.net/pdfs/MentsvillePM-CK.pdf
Mathematical oracle
See our notes in BBST Foundation’s presentation of Hoffman’s collection of oracles.
- Abramowitz & Stegun (1964), Handbook of Mathematical Functions. http://people.math.sfu.ca/~cbm/aands/frameindex.htm
- Hoffman, D. (1999). Heuristic test oracles. Software Testing & Quality Engineering, 1(2), 29-32. http://www.softwarequalitymethods.com/Papers/STQE%20Heuristic.pdf
Numerical analysis (see Calculations)
Paired testing
- Kaner, C. & Bach, J. (2001). Exploratory testing in pairs. Software Testing Analysis & Review (STAR West). https://13j276.p3cdn1.secureserver.net/pdfs/exptest.pdf
- Kohl, J. (2004). Pair testing: How I brought developers into the test lab. Better Software, 6 (January), 14-16. http://www.kohl.ca/articles/pairtesting.html
- Lambert, R. (2009). Pair testing. http://www.softwaretestingclub.com/forum/topics/pair-testing
Pairwise testing (see All-Pairs testing)
Performance testing
- Barber, S. (2010) PerfTestPlus website, http://www.perftestplus.com/pubs.htm
- du Plessis, J. (2009). Resource monitoring during performance testing. http://www.stickyminds.com/getfile.asp?ot=XML&id=14959&fn=XUS231346159file1%2Epdf
- Meier, J.D., Farre, C., Bansode, P., Barber, S., & Rea, D. (2007). Performance Testing Guidance for Web Applications. Redmond: Microsoft Press.
Programming or software design
- Roberts, E. (2005, 20th Ed.). Thinking Recursively with Java. Wiley.
Psychological considerations
- Bendor, J. (2005). The perfect is the enemy of the best: Adaptive versus optimal organizational reliability. Journal of Theoretical Politics. 17(1), 5-39.
- Rohlman, D.S. (1992). The Role of Problem Representation and Expertise in Hypothesis Testing: A Software Testing Analogue. Ph.D. Dissertation, Bowling Green State University.
- Teasley, B.E., Leventhal, L.M., Mynatt, C.R., & Rohlman, D.S. (1994). Why software testing is sometimes ineffective: Two applied studies of positive test strategy. Journal of Applied Psychology, 79(1), 142-155.
- Whittaker, J.A. (2000). What is software testing? And why is it so hard? IEEE Software, Jan-Feb. 70-79.
Quicktests
- Andrews, M., & Whittaker, J.A. (2006), How to Break Web Software, Addison Wesley.
- Hendrickson, E. (2006), Test heuristics cheat sheet. http://testobsessed.com/wp-content/uploads/2011/04/testheuristicscheatsheetv1.pdf
- Hunter, M. J. (2010). You are not done yet. http://www.thebraidytester.com/downloads/YouAreNotDoneYet.pdf
- Jorgensen, A.A. (1999). Software Design Based on Operational Modes. Doctoral Dissertation, Florida Institute of Technology. https://cs.fit.edu/Projects/tech_reports/cs-2002-10.pdf
- Jorgensen, A.A. (2003). Testing with hostile data streams. ACM SIGSOFT Software Engineering Notes, 28(2). http://cs.fit.edu/media/TechnicalReports/cs-2003-03.pdf
- Kaner, C. (1988), Testing Computer Software, McGraw-Hill, presented a list of 480 common software problems. http://logigear.com/articles-by-logigear-staff/445-common-software-errors.html
- Kaner, C. & Johnson, B. (1999) Styles of exploration, 7th Los Altos Workshop on Software Testing. https://13j276.p3cdn1.secureserver.net/pdfs/LAWST7StylesOfExploration.pdf
- Nguyen, H.Q., Johnson, B., & Hackett, M. (2003, 2nd ed), Testing Applications on the Web. Wiley.
- Whittaker, J.A. (2002) How to Break Software, Addison Wesley.
- Whittaker, J.A. & Thompson, H.H. (2004). How to Break Software Security. Addison Wesley.
Random testing
- Ciupa, I., Leitner, A., Oriol, M., & Meyer, B. (2007). Experimental Assessment of Random Testing for Object-Oriented Software. International Symposium on Software Testing and Analysis. http://staff.unak.is/not/andy/MScTesting0708/Lectures/ExpRandomTestingOOEiffel.pdf
- Hamlet, D. (2006). When only random testing will do. Proceedings of the 1st International Workshop on Random Testing. http://web.cecs.pdx.edu/~hamlet/rt.pdf
- Hamlet, D. (2002) Random testing. Encyclopedia of Software Engineering. http://web.cecs.pdx.edu/~hamlet/random.pdf
- Robinson, H. (2004). Things that find bugs in the night. http://www.stickyminds.com/s.asp?F=S7331_COL_2
Regression testing
- Bach, J. (1999). Test automation snake oil. http://www.satisfice.com/articles/test_automation_snake_oil.pdf
- Buwalda, H. (undated). Key success factors for keyword-driven testing. http://logigear.com/articles-by-logigear-staff/389–key-success-factors-for-keyword-driven-testing.html
- Engstrom, E., Skoglund, M. & Runeson, P. (2008). Empirical evaluations of regression test selection techniques: A systematic review. Conference on Empirical Software Engineering and Measurement. 22-31. http://portal.acm.org/citation.cfm?doid=1414004.1414011
- Groder, C. (1999). Building maintainable GUI tests. In Fewster, M. & Graham, D. (1999). Software Test Automation. Addison-Wesley
- Harrold, M.J. & Orso, A. (2008). Retesting software during development and maintenance. Frontiers of Software Maintenance. http://pleuma.cc.gatech.edu/aristotle/pdffiles/harrold_orso_fosm08.pdf
- Hoffman, D. (2007). Avoiding the “test and test again” syndrome. Conference of the Association for Software Testing. http://www.softwarequalitymethods.com/H-Papers.html#TestTest2
- Kaner, C. (1997). Improving the maintainability of automated test suites. Software QA, (4)(4). https://13j276.p3cdn1.secureserver.net/pdfs/autosqa.pdf
- Kaner, C. (1998). Avoiding shelfware: A manager’s view of automated GUI testing.” Software Testing Analysis & Review (STAR East). https://13j276.p3cdn1.secureserver.net/pdfs/shelfwar.pdf
- Kaner, C. (2009). The value of checklists and the danger of scripts: What legal training suggests for testers. Conference of the Association for Software Testing. https://13j276.p3cdn1.secureserver.net/pdfs/ValueOfChecklists.pdf
- Leung, H.K.N. & White, L.J. (1989(. Insights into regression testing. Proceedings of the International Conference on Software Maintenance. 60-69.
- Marick, B.M. (1999). When should a test be automated? International Conference on Software Testing Analysis and Review (STAR East). http://www.exampler.com/testing-com/writings/automate.pdf
- Marick, B.M. (2005). Working your way out of the automated GUI testing tarpit (parts 1, 2, 3). http://www.testingreflections.com/node/view/3059
- Marick, B.M. (undated). How many bugs do regression tests find? http://www.sqa.fyicenter.com/art/How_Many_Bugs_Do_Regression_Tests_Find.html
- Memon, A.M. & Xie, Q. (2004) Empirical evaluation of the fault-detection effectiveness of smoke regression test cases for GUI-based software. Proceedings of the International Conference on Software Maintenance. http://www.cs.umd.edu/~atif/papers/MemonICSM2004.pdf
- Mugridge, R. & Cunningham. W. (2005) Fit for Developing Software: Framework for Integrated Tests. Prentice Hall.
- Nguyen, H.Q., Hackett, M., & Whitlock, B.K. (2006). Happy About Global Test Automation. Happy About books.
- Onoma, A.K., Tsai, W.T., Poonawala, M.H., & Sugunama, H. (1998). Regression testing in an industrial environment. Communications of the ACM. 41(5), 81-86
- Pettichord, B. (2001a). Seven steps to test automation success. http://www.io.com/~wazmo/papers/seven_steps.html
- Pettichord, B. (2001b). Success with test automation. http://www.io.com/~wazmo/succpap.htm
- Rothermel, G. & Harrold, M. (1997). Experience with regression test selection. Empirical Software Engineering, 2(2), 178-188. http://www.cc.gatech.edu/aristotle/Publications/Papers/wess96.ps
Requirements-based testing
- Bach, J. (1999). Risk and requirements-based testing. IEEE Computer, June, 113-114. http://www.satisfice.com/articles/requirements_based_testing.pdf
- Bender, R. (2009). Requirements Based Testing Process Overview. http://benderrbt.com/Bender-Requirements%20Based%20Testing%20Process%20Overview.pdf
- Culbertson, R., Brown, C., & Cobb, G. (2002). Rapid Testing. Prentice Hall.
Requirements-based testing (continued)
- Whalen, M.W., Rajan, A., Heimdahl, M.P.E., & Miller, S.P. )2006). Coverage metrics for requirements-based testing. Proceedings of the 2006 International Symposium on Software Testing and Analysis. http://portal.acm.org/citation.cfm?id=1146242
- Wiegers, K.E. (1999). Software Requirements. Microsoft Press.
Risk-based testing
- Bach, J. (1999). Heuristic risk-based testing. Software Testing & Quality Engineering. http://www.satisfice.com/articles/hrbt.pdf
- Bach, J. (2000a). Heuristic test planning: Context model. http://www.satisfice.com/tools/satisfice-cm.pdf
- Bach, J. (2000b). SQA for new technology projects. http://www.satisfice.com/articles/sqafnt.pdf
- Bach, J. (2003). Troubleshooting risk-based testing. Software Testing & Quality Engineering, May/June, 28-32. http://www.satisfice.com/articles/rbt-trouble.pdf
- Becker, S.A. & Berkemeyer, A. (1999). The application of a software testing technique to uncover data errors in a database system. Proceedings of the 20th Annual Pacific Northwest Software Quality Conference, 173-183.
- Berkovich, Y. (2000). Software quality prediction using case-based reasoning. M.Sc. Thesis (Computer Science). Florida Atlantic University.
- Bernstein, P.L. (1998). Against the Gods: The Remarkable Story of Risk. Wiley.
- Black, R. (2007). Pragmatic Software Testing: Becoming an Effective and Efficient Test Professional. Wiley.
- Clemen, R.T. (1996, 2nd ed.) Making Hard Decisions: An Introduction to Decision Analysis. Cengage Learning.
- Copeland, L. (2004). A Practitioner’s Guide to Software Test Design. Artech House.
- DeMarco, T. & Lister, T. (2003). Waltzing with Bears. Managing Risk on Software Projects. Dorset House.
- Dorner, D. (1997). The Logic of Failure. Basic Books.
- Gerrard, P. & Thompson, N. (2002). Risk-Based E-Business Testing. Artech House.
- HAZOP Guidelines (2008). Hazardous Industry Planning Advisory Paper No. 8, NSW Government Department of Planning. http://www.planning.nsw.gov.au/plansforaction/pdf/hazards/haz_hipap8_rev2008.pdf
- Hillson, D. & Murray-Webster, R. (2007). Understanding and Managing Risk Attitude. (2nd Ed.). Gower. http://www.risk-attitude.com/
- Hubbard, D.W. (2009). The Failure of Risk Management: Why It’s Broken and How to Fix It. Wiley.
- Jorgensen, A.A. (2003). Testing with hostile data streams. ACM SIGSOFT Software Engineering Notes, 28(2). http://cs.fit.edu/media/TechnicalReports/cs-2003-03.pdf
- Jorgensen, A.A. & Tilley, S.R. (2003). On the security risks of not adopting hostile data stream testing techniques. 3rd International Workshop on Adoption-Centric Software Engineering (ACSE 2003), p. 99-103. http://www.sei.cmu.edu/reports/03sr004.pdf
- Kaner, C. (2008). Improve the power of your tests with risk-based test design. Quality Assurance Institute QUEST conference. https://13j276.p3cdn1.secureserver.net/pdfs/QAIriskKeynote2008.pdf
- Kaner, C., Falk, J., & Nguyen, H.Q. (2nd Edition, 2000a). Testing Computer Software. Wiley.
- Neumann, P.G. (undated). The Risks Digest: Forum on Risks to the Public in Computers and Related Systems. http://catless.ncl.ac.uk/risks
- Perrow, C. (1999). Normal Accidents: Living with High-Risk Technologies. Princeton University Press (but read this in conjunction with Robert Hedges’ review of the book on Amazon.com).
- Petroski, H. (1992). To Engineer is Human: The Role of Failure in Successful Design. Vintage.
- Petroski, H. (2004). Small Things Considered: Why There is No Perfect Design. Vintage.
- Petroski, H. (2008). Success Through Failure: The Paradox of Design. Princeton University Press.
- Pettichord, B. (2001). The role of information in risk-based testing. International Conference on Software Testing Analysis & Review (STAR East). http://www.stickyminds.com
- Reason, J. T. (1997). Managing the Risks of Organizational Accident. Ashgate Publishing.
- Schultz, C.P., Bryant, R., & Langdell, T. (2005). Game Testing All in One. Thomson Press (discussion of defect triggers).
- Software Engineering Institute’s collection of papers on project management, with extensive discussion of project risks. https://seir.sei.cmu.edu/seir/
- Weinberg, G. (1993). Quality Software Management. Volume 2: First Order Measurement. Dorset House.
Rounding errors (see Calculations)
Scenario testing (See also Use-case-based testing)
- Anggreeni, I., & van der Voort, M. (2007) Tracing the scenarios in scenario-based product design: A study to support scenario generation. Technical Report TR-CTIT-07-70, Centre for Telematics and Information Technology, University of Twente, Enschede. ISSN 1381-3625. http://eprints.eemcs.utwente.nl/11231/01/TR-CTIT-07-70.pdf
- Alexander, D. (2000). Scenario methodology for teaching principles of emergency management. Disaster Prevention & Management, Vol. 9(2), pp. 89-97.
- Alexander, I., & Maiden, N. (2004). Scenarios, Stories, Use Cases: Through the Systems Development Life-Cycle. Wiley.
- Bolton, M. (2007). Users we don’t like. Developsense.com. http://www.developsense.com/articles/2007-08-UsersWeDontLike.pdf
- Bolton, M. (2007). Why we do scenario testing. Developsense.com. http://www.developsense.com/blog/2010/05/why-we-do-scenario-testing/
- Buwalda, H. (2000a). The three holy grails of test development. presented at EuroSTAR conference.
- Buwalda, H. (2000b). Soap Opera Testing. International Software Quality Week Europe conference, Brussels. http://www.logigear.com/resource-center/software-testing-articles-by-logigear-staff/246-soap-opera-testing.html
- Buwalda, H. (2007a). Key principles of test design. http://www.logigear.com/newsletter-2007/304-key-principles-of-test-design.html
- Buwalda, H. (2007b). The first holy grail of test design. http://www.logigear.com/newsletter-2007/305-the-first-holy-grail-of-test-design.html
- Buwalda, H. (2007c). The second holy grail of test design. http://www.logigear.com/newsletter-2007/306-the-second-holy-grail-of-test-design.html
- Buwalda H. (2007d). The third holy grail of test design. http://www.logigear.com/newsletter-2007/307-the-third-holy-grail-of-test-design.html
- Buwalda, H. (2008). The potential and risks of keyword based testing. http://logigear.com/newsletter-2008/342-the-potential-and-risks-of-keyword-based-testing.html
- Buwalda, H. (undated). Key success factors for keyword-driven testing. http://logigear.com/articles-by-logigear-staff/389–key-success-factors-for-keyword-driven-testing.html
- Buwalda, H., Janssen, D. & Pinkster, I. (2002). Integrated Test Design and Automation: Using the TestFrame Method. Addison-Wesley.
- Carroll, J.M. (ed.) (1995). Scenario-Based Design. Wiley.
- Carroll, J.M. (1995). Development, Scenario-Based Design: Envisioning Work and Technology in System. Wiley.
- Carroll, J.M. (1999). Five reasons for scenario-based design. Proceedings of the 32nd Hawaii International Conference on System Sciences, http://www.massey.ac.nz/~hryu/157.757/Scenario.pdf
- Guckenheimer, S. & Perez, J. (2006). Software Engineering with Microsoft Visual Studio Team System. Addison Wesley.
- Heijden, Kes van der (1996). Scenarios: The Art of Strategic Conversation. Wiley.
- Kahn, H. (1967). The use of scenarios. In Kahn, Herman & Wiener, Anthony (1967). The Year 2000: A Framework for Speculation on the Next Thirty-Three Years, pp. 262-264. http://www.hudson.org/index.cfm?fuseaction=publication_details&id=2214
- Kaner, C. (2003). An introduction to scenario testing. https://13j276.p3cdn1.secureserver.net/pdfs/ScenarioIntroVer4.pdf
- Memon, A.M., Pollack, M.E., & Soffa, M.L. (2000). A planning-based approach to GUI testing. International Software Quality Week, San Francisco. http://www.cs.umd.edu/~atif/papers/MemonSQW2000.pdf; http://www.cs.umd.edu/~atif/presentations/SQW2000.pdf
- Ringland, G. (1998). Scenario Planning: Managing for the Future. Wiley.
- Rippel, M. & Teply, P. (2009). Operational Risk — Scenario Analysis. Working Papers IES 2008/15, Charles University Prague, Faculty of Social Sciences, Institute of Economic Studies, revised Sep 2008. http://ideas.repec.org/p/fau/wpaper/wp2008_15.html
- Rosson, M.B., & Carroll, J.M. (2002). Usability Engineering: Morgan Kaufmann.
- Rothman, J., & Lawrence, B. (1999). Testing in the dark. Software Quality & Design Engineering, 1(2). Pp. 34-39 http://www.jrothman.com/Papers/Pragmaticstrategies.html
- Wack, P. (1985a). Scenarios: Uncharted waters ahead. Harvard Business Review 63(5), 74-89. http://tuvalu.santafe.edu/events/workshops/images/d/d9/Wack.pdf
- Wack, P. (1985b). Scenarios: Shooting the rapids. Harvard Business Review 63(6), 139-150. http://www.scribd.com/doc/4489875/Wack-Shooting-the-rapids
- Walker, W.E. (1994). The use of scenarios and gaming in crisis management planning and training. Presented at the conference, The Use of Scenarios for Crisis Management, Netherlands Ministry of Home Affairs, at the Netherlands Institute for Fire Service & Disaster Mgmt, Arnhem, November,16-18.
- Weber, B. (2008) Information Commerce 1997 – Scenario Mapping Changes Beliefs. http://www.strategykinetics.com/scenario_planning/
Self-verifying data
- Nyman, N. (1999). Self-verifying data: Testing without an oracle. International Conference on Software Testing Analysis & Research (STAR East), Orlando. http://www.stickyminds.com/getfile.asp?ot=XML&id=2918&fn=XDD2918filelistfilename1%2Epdf
- Knaus, R. Aougab, H., & Bentahar, N. (2004). Software Reliability: A Preliminary Handbook. McLean, VA: United States Department of Transportation: Federal Highway Administration (see the discussions of wrapping, especially Chapter 6). http://www.fhwa.dot.gov/publications/research/safety/04080/04080.pdf
- Romero, G. & Gauvin, C. (1998). Self-verifying communications testing. United States Patent US7409618, http://www.patents.com/self-verifying-communications-testing-7409618.html
Specification-based testing (See also active reading; See also ambiguity analysis)
- Bach, J. (1999). Reframing requirements analysis. IEEE Computer, 32(2), 120-122. http://www.satisfice.com/articles/reframing_requirements.pdf
- Bach, J. (2006). Heuristic test strategy model, Version 4.8. http://www.satisfice.com/tools/satisfice-tsm-4p.pdf
- Black, R. (2007). Pragmatic Software Testing: Becoming an Effective and Efficient Test Professional. Wiley.
- Donat, M. R. (1998). A Discipline of Specification-Based Test Derivation, Ph.D. Dissertation (Computer Science). University of British Columbia. http://www.nlc-bnc.ca/obj/s4/f2/dsk2/ftp02/NQ34519.pdf
- Hayes, J.H. (1999). Input Validation Testing: A System-Level, Early Lifecycle Technique. Ph.D. Dissertation (Computer Science), George Mason University.
- Jacky, J., Veanes, M., Campbell, C. & Schulte, W. (2008). Model-Based Software Testing and Analysis with C#. Cambridge University Press.
- Kaner, C. (1998). Liability for product incompatibility. Software QA, 5(4), p. 33ff. https://13j276.p3cdn1.secureserver.net/pdfs/liability.pdf
- Kaner, C. (2003). Liability for defective documentation. Conference of the ACM SIGDOC. https://13j276.p3cdn1.secureserver.net/pdfs/liability_sigdoc.pdf
- Lawrence, B. (undated). http://www.coyotevalley.com/tools.htm
State-model-based testing
- Auer, A.J. (1997). State Testing of Embedded Software. Ph.D. Dissertation (Computer Science). Oulun Yliopisto (Finland).
- Becker, S.A. & Whittaker, J.A. (1997). Cleanroom Software Engineering Practices. IDEA Group Publishing.
- Buwalda, H. (2003). Action figures. Software Testing & Quality Engineering. March/April 42-27. http://www.logigear.com/articles-by-logigear-staff/245-action-figures.html
- El-Far, I. K. (1999), Automated Construction of Software Behavior Models, Masters Thesis, Florida Institute of Technology, 1999.
- El-Far, I. K. & Whittaker, J.A. (2001), Model-based software testing, in Marciniak, J.J. (2001). Encyclopedia of Software Engineering, Wiley. http://testoptimal.com/ref/Model-based Software Testing.pdf
- Jorgensen, A.A. (1999). Software Design Based on Operational Modes. Doctoral Dissertation, Florida Institute of Technology. https://cs.fit.edu/Projects/tech_reports/cs-2002-10.pdf
- Katara, M., Kervinen, A., Maunumaa, M., Paakkonen, T., & Jaaskelainen, A. (2007). Can I have some model-based GUI tests please? Providing a model-based testing service through a web interface. Conference of the Association for Software Testing. http://practise.cs.tut.fi/files/publications/TEMA/cast07-final.pdf
- Mallery, C.J. (2005). On the Feasibility of Using FSM Approaches to Test Large Web Applications. M.Sc. Thesis (EECS). Washington State University.
- Page, A., Johnston, K., & Rollison, B.J. (2009). How We Test Software at Microsoft. Microsoft Press.
- Robinson, H. (1999a). Finite state model-based testing on a shoestring. http://www.stickyminds.com/getfile.asp?ot=XML&id=2156&fn=XDD2156filelistfilename1%2Epdf
- Robinson, H. (1999b). Graph theory techniques in model-based testing. International Conference on Testing Computer Software. http://sqa.fyicenter.com/art/Graph-Theory-Techniques-in-Model-Based-Testing.html
- Robinson, H. Model-Based Testing Home Page. http://www.geocities.com/model_based_testing/
- Rosaria, S., & Robinson, H. (2000). Applying models in your testing process. Information & Software Technology, 42(12), 815-24. http://www.harryrobinson.net/ApplyingModels.pdf
- Schultz, C.P., Bryant, R., & Langdell, T. (2005). Game Testing All in One. Thomson Press.
- Utting, M., & Legeard, B. (2007). Practical Model-Based Testing: A Tools Approach. Morgan Kaufmann.
- Vagoun, T. (1994). State-Based Software Testing. Ph.D. Dissertation (Computer Science). University of Maryland College Park.
- Whittaker, J.A. (1992). Markov Chain Techniques for Software Testing and Reliability Analysis. Ph.D. Dissertation (Computer Science). University of Tennessee.
- Whittaker, J.A. (1997). Stochastic software testing. Annals of Software Engineering, 4, 115-131.
Stress testing
- http://en.wikipedia.org/wiki/Stress_testing
- Beizer, B. (1984). Software System Testing and Quality Assurance. Van Nostrand. See also: http://www.faqs.org/faqs/software-eng/testing-faq/section-15.html
Task analysis (see also Scenario testing and Use-case-based testing)
- Crandall, B., Klein, G., & Hoffman, R.B. (2006). Working Minds: A Practitioner’s Guide to Cognitive Task Analysis. MIT Press.
- Draper, D. & Stanton, N. (2004). The Handbook of Task Analysis for Human-Computer Interaction. Lawrence Erlbaum.
- Ericsson, K.A. & Simon, H.A. (1993). Protocol Analysis: Verbal Reports as Data (Revised Edition). MIT Press.
- Gause, D.C., & Weinberg, G.M. (1989). Exploring Requirements: Quality Before Design. Dorset House.
- Hackos, J.T. & Redish, J.C. (1998). User and Task Analysis for Interface Design. Wiley.
- Jonassen, D.H., Tessmer, M., & Hannum, W.H. (1999). Task Analysis Methods for Instructional Design.
- Robertson, S. & Robertson, J. C. (2006, 2nd Ed.). Mastering the Requirements Process. Addison-Wesley Professional.
- Schraagen, J.M., Chipman, S.F., & Shalin, V.I. (2000). Cognitive Task Analysis. Lawrence Erlbaum.
- Shepard, A. (2001). Hierarchical Task Analysis. Taylor & Francis.
Test design / test techniques (in general)
- Bach, J. (2000). Heuristic Test Planning: Context Model. http://www.satisfice.com/tools/satisfice-cm.pdf
- Bach, J. (2006). Heuristic test strategy model. Version 4.8. http://www.satisfice.com/tools/satisfice-tsm-4p.pdf
- Black, R. (2007). Pragmatic Software Testing: Becoming an Effective and Efficient Test Professional. Wiley.
- Buwalda, H. (2007). Key principles of test design. http://logigear.com/newsletter-2007/304-key-principles-of-test-design.html
- Copeland, L. (2004). A Practitioner’s Guide to Software Test Design. Artech House.
- Collard, R. (2001). Test Design Fundamentals. International Conference on Software Testing Analysis & Review. (STAR West)
- Desikan, S. & Gopalaswamy, R. (2006). Software Testing: Principles and Practices. Pearson Education.
- Edgren, R. (2011). The Little Black Book on Test Design. http://thetesteye.com/blog/2011/09/the-little-black-book-on-test-design/
- Edgren, R. (2010). Review of properties in Kaner’s What is a Good Test Case? http://thetesteye.com/blog/2010/05/review-of-properties-in-kaners-what-is-a-good-test-case/
- Emilsson, H., Jansson, M., Edgren, R. (2010). Software Quality Characteristics 1.0. http://thetesteye.com/posters/TheTestEye_SoftwareQualityCharacteristics.pdf
- Jorgensen, P. (2008, 3rd Ed.). Software Testing: A Craftsman’s Approach. Auerbach Publications.
- Kaner, C. (2003). What is a good test case? https://13j276.p3cdn1.secureserver.net/pdfs/GoodTest.pdf
- Kaner, C. (2004b). The ongoing revolution in software testing. Software Test & Performance conference. https://13j276.p3cdn1.secureserver.net/pdfs/TheOngoingRevolution.pdf
- Kaner, C., Bach, J., & Pettichord, B. (2001). Lessons Learned in Software Testing: Chapter 3: Test Techniques. http://media.techtarget.com/searchSoftwareQuality/downloads/Lessons_Learned_in_SW_testingCh3.pdf
- Test design / test techniques (in general)
- Kelly, M.D. (2007). Specialists and other myths: Because you aren’t a specialist doesn’t mean you can’t do it. Conference of the Association for Software Testing. http://www.michaeldkelly.com/pdfs/CAST2007_SpecialistsAndOtherMyths.pdf
- Kelly, M.D. (2009). Software testing: Assessing risk and scope. http://searchsoftwarequality.techtarget.com/podcast/Software-Testing-Assessing-risk-and-scope
- Loveland, S., Miller, G. Prewitt, R., & Shannon, M. (2005). Software Testing Techniques: Finding the Techniques that Matter. Charles River Media.
- Nguyen, H.Q., Johnson, B., & Hackett, M. (2003). Testing Applications on the Web, 2nd Ed. Wiley.
- Page, A., Johnston, K., & Rollison, B.J. (2009). How We Test Software at Microsoft. Microsoft Press.
- Perry, W.E. (2006). Effective Methods for Software Testing. Wiley.
- Rajani, R., & Oak, P. (2004). Software Testing: Effective Methods, Tools & Techniques. Tata McGraw-Hill.
- Ryber,. T. (2007). Essential Software Test Design. Fearless Consulting.
- Schultz, C.P., Bryant, R., & Langdell, T. (2005). Game Testing All in One. Thomson Press.
- Sutton, M., Greene, A., & Amini, P. (2007). Fuzzing: Brute Force Vulnerability Discovery. Addison Wesley.
- Takanen, A., DeMott, J., & Miller, C. (2008). Fuzzing for Software Security Testing and Quality Assurance. Artech House.
- Whittaker, J.A. (2002). How to Break Software. Addison Wesley.
Test idea catalogs
- Edgren, R. (2009). More and better test ideas. EuroSTAR. http://www.thetesteye.com/papers/redgren_moreandbettertestideas.pdf
- Edgren, R. (2011). The Little Black Book on Test Design. http://thetesteye.com/blog/2011/09/the-little-black-book-on-test-design/
- Hendrickson, E. (2006). Test Heuristics Cheat Sheet. http://testobsessed.com/wp-content/uploads/2011/04/testheuristicscheatsheetv1.pdf
- Hunter, M. J. (2010). You are not done yet. http://www.thebraidytester.com/downloads/YouAreNotDoneYet.pdf
- Kaner, C., Padmanabhan, S., & Hoffman, D. (2012) Domain Testing: A Workbook, in press.
- Marick, B.M. (1994). The Craft of Software Testing: Subsystems Testing Including Object-Based and Object-Oriented Testing. Prentice-Hall. Updated catalog: http://www.exampler.com/testing-com/writings/catalog.pdf
- Marick, B.M. (undated). A short catalog of test ideas for… http://www.exampler.com/testing-com/writings/short-catalog.pdf
- Nguyen, H.Q., Johnson, B., & Hackett, M. (2003, 2nd ed), Testing Applications on the Web. Wiley (Appendices D through H).
- Sabourin, R. (2008). Ten things you might not know about sources of testing ideas. Better Software, April, 46. http://www.amibugshare.com/articles/Article_10_Sources_of_Testing_Ideas.pdf
Testing skill
Many of the references in this collection are about the development of testing skill. However, a few papers stand out, to me, as exemplars of papers that focus on activities or structures designed to help testers improve their day-to-day testing skills. We need more of these.
- Bach, J. (2006). Heuristic test strategy model, Version 4.8. http://www.satisfice.com/tools/satisfice-tsm-4p.pdf
- Gärtner, M. (2011) Testing Dojos: Craftsmanship in Software Testing: Blog at http://www.testingdojo.org/tiki-index.php. Expanded from Gaertner, M. (2010, Winter). Testing dojos: Another way to gain software testing experience. Methods & Tools. http://www.methodsandtools.com/mt/download.php?winter10
- Hendrickson, E. (2006), Test heuristics cheat sheet. http://testobsessed.com/wp-content/uploads/2011/04/testheuristicscheatsheetv1.pdf
- Hunter, M. J. (2010). You are not done yet. http://www.thebraidytester.com/downloads/YouAreNotDoneYet.pdf
Tours
- Bolton, M. (2009). Of testing tours and dashboards. http://www.developsense.com/blog/2009/04/of-testing-tours-and-dashboards
- Craig, R. D., & Jaskiel, S. P. (2002). Systematic Software Testing. Artech House. (see their discussions of inventories)
- Goucher, A. (2009). ‘Exploratory Software Testing’ – a cheat of a book. http://adam.goucher.ca/?p=1225
- Kaner, C. (2011). Testing tours: Research for best practices? https://kaner.com/?p=96
- Kelly, M.D. (2005). Touring Heuristic. http://www.michaeldkelly.com/archives/50
- Kelly, M.D. (2006). Taking a tour through test country. A guide to tours to take on your next test project. Software Test and Performance Magazine, February, 20-25. http://michaeldkelly.com/pdfs/Taking%20a%20Tour%20Through%20Test%20Country.pdf; http://www.softwaretestpro.com/Item/2752/Taking-a-Tour-Through-Test-Country/Test-and-QA-Video-Exploratory-Strategy-Performance-Functional-Software-Testing-Unit-User-Web
- Kohl, J. (2006). Modeling test heuristics. http://www.kohl.ca/blog/archives/000179.html
- Laplante, P. (2009). Exploratory testing for mission critical, real-time, and embedded systems. Part of the IEEE Reliability Society 2009 Annual Technology Report. http://paris.utdallas.edu/IEEE-RS-ATR/document/2009/2009-08.pdf
- Whittaker, J.A. (2009). Exploratory Software Testing: Tips, Tricks, Tours, and Techniques to Guide Test Design. Addison-Wesley.
Usability testing
- Cooper, A. (2004). The Inmates are Running the Asylum: Why High Tech Products Drive Us Crazy and How to Restore the Sanity. Pearson Education.
- Cooper, A., Reimann, R. & Cronin, D. (2007). About Face 3: The Essentials of Interaction Design. Wiley.
- Dumas, J.S. & Loring, B.A. (2008). Moderating Usability Tests: Principles and Practices for Interacting. Morgan Kaufmann.
- Fiedler, R.L., & Kaner, C. (2009). “Putting the context in context-driven testing (an application of Cultural Historical Activity Theory).” Conference of the Association for Software Testing. https://13j276.p3cdn1.secureserver.net/pdfs/FiedlerKanerCast2009.pdf
- Ives, B., Olson, M.H., & Baroudi, J.J. (1983). The measurement of user information systems. Communications of the ACM, 26(10), 785-793. http://portal.acm.org/citation.cfm?id=358430
- Krug, S. (2005, 2nd Ed.). Don’t Make Me Think: A Common Sense Approach to Web Usability. New Riders Press.
- Kuniavsky, M. (2003). Observing the User Experience: A Practitioner’s Guide to User Research. Morgan Kaufmann.
- Lazar, J., Fend, J.H., & Hochheiser, H. (2010). Research Methods in Human-Computer Interaction. Wiley.
- Nielsen, J. (1994). Guerrilla HCI: Using discount usability engineering to penetrate the intimidation barrier. http://www.useit.com/papers/guerrilla_hci.html
- Nielsen, J. (1999). Designing Web Usability. Peachpit Press.
- Nielson, J. & Loranger, H. (2006). Prioritize Web Usability. MIT Press.
- Norman, D.A. (2010). Living with Complexity. MIT Press.
- Norman, D.A. (1994). Things that Make Us Smart: Defending Human Attributes in the Age of the Machine. Basic Books.
- Norman, D.A. & Draper, S.W. (1986). User Centered System Design: New Perspectives on Human-Computer Interaction. CRC Press.
- Patel, M. & Loring, B. (2001). Handling awkward usability testing situations. Proceedings of the Human Factors and Ergonomics Society 45th Annual Meeting. 1772-1776.
- Platt, D.S. (2006). Why Software Sucks. Addison-Wesley.
- Rubin, J., Chisnell, D. & Spool, J. (2008). Handbook of Usability Testing: How to Plan, Design, and Conduct Effective Tests. Wiley.
- Smilowitz, E.D., Darnell, M.J., & Benson, A.E. (1993). Are we overlooking some usability testing methods? A comparison of lab, beta, and forum tests. Proceedings of the Human Factors and Ergonomics Society 37th Annual Meeting, 300-303.
- Stone, D., Jarrett, C., Woodroffe, M. & Minocha, S. (2005). User Interface Design and Evaluation. Morgan Kaufmann.
- Tullis, T. & Albert, W. (2008). Measuring the User Experience: Collecting, Analyzing, and Presenting Usability Metrics (Interactive Technologies). Morgan Kaufmann.
Use-case based testing (see also Scenario testing and Task analysis)
- Adolph, S. & Bramble, P. (2003). Patterns for Effective Use Cases. Addison-Wesley.
- Alexander, Ian & Maiden, Neil. Scenarios, Stories, Use Cases: Through the Systems Development Life-Cycle.
- Alsumait, A. (2004). User Interface Requirements Engineering: A scenario-based framework. Ph.D. dissertation (Computer Science), Concordia University.
- Berger, Bernie (2001) “The dangers of use cases employed as test cases,” STAR West conference, San Jose, CA. http://www.testassured.com/docs/Dangers.htm
- Charles, F.A. (2009). Modeling scenarios using data. STP Magazine. http://www.quality-intelligence.com/articles/Modelling%20Scenarios%20Using%20Data_Paper_Fiona%20Charles_CAST%202009_Final.pdf
- Cockburn, A.(2001). Writing Effective Use Cases. Addison-Wesley.
- Cohn, M. (2004). User Stories Applied: For Agile Software Development. Pearson Education.
- Collard, R. (July/August 1999). Test design: Developing test cases from use cases. Software Testing & Quality Engineering, 31-36.
- Hsia, P., Samuel, J. Gao, J. Kung, D., Toyoshima, Y. & Chen, C. (1994). Formal approach to scenario analysis. IEEE Software, 11(2), 33-41.
- Jacobson, I. (1995). The use-case construct in object-oriented software engineering. In John Carroll (ed.) (1995). Scenario-Based Design. Wiley.
- Jacobson, I., Booch, G. & Rumbaugh, J. (1999). The Unified Software Development Process. Addison-Wesley.
- Jacobson, I. & Bylund, S. (2000) The Road to the Unified Software Development Process. Cambridge University Press.
- Kim, Y. C. (2000). A Use Case Approach to Test Plan Generation During Design. Ph.D. Dissertation (Computer Science). Illinois Institute of Technology.
- Kruchten, P. (2003, 3rd Ed.). The Rational Unified Process: An Introduction. Addison-Wesley.
- Samuel, J. (1994). Scenario analysis in requirements elicitation and software testing. M.Sc. Thesis (Computer Science), University of Texas at Arlington.
- Utting, M., & Legeard, B. (2007). Practical Model-Based Testing: A Tools Approach. Morgan Kaufmann.
- Van der Poll, J.A., Kotze, P., Seffah, A., Radhakrishnan, T., & Alsumait, A. (2003). Combining UCMs and formal methods for representing and checking the validity of scenarios as user requirements. Proceedings of the South African Institute of Computer Scientists and Information Technologists on Enablement Through Technology. http://dl.acm.org/citation.cfm?id=954014.954021
- Zielczynski, P. (2006). Traceability from use cases to test cases. http://www.ibm.com/developerworks/rational/library/04/r-3217/
User interface testing
- Adzic, G. (2007). Effective user interface testing. http://gojko.net/2007/09/25/effective-user-interface-testing/
- Apple Computer (1993). Macintosh Human Interface Guidelines. Apple.
- Apple Computer (2011). Apple Human Interface Guidelines: User Experience. http://developer.apple.com/library/mac/#documentation/UserExperience/Conceptual/AppleHIGuidelines
- Dudziak, T. (2005). How to unit test the user interface of web applications. ApacheCon US. http://floyd.openqa.org/HowToUnitTestTheUserInterfaceOfWebApplications.pdf
- McKay, E.N. (1999). Developing User Interfaces for Microsoft Windows. Microsoft Press.
- Microsoft (2010). Windows User Experience Guidelines for Windows 7 and Windows Vista. http://msdn.microsoft.com/en-us/library/aa511258.aspx
- Nielsen, J. (2001). Coordinating User Interfaces for Consistency. Morgan Kaufmann.
- Olson, D.R. (1998). Developing User Interfaces. Morgan Kaufmann.
- Olson, D.R. (2009). Building Interactive Systems: Principles for Human-Computer Interaction. Course Technology.
- Visual Studio 2010 (undated). Testing the user interface with automated UI tests. http://msdn.microsoft.com/en-us/library/dd286726%28VS.100%29.aspx
User testing (see beta testing)
- Albert, W., Tullis, T. & Tedesco, D. (2010). Beyond the Usability Lab: Conducting Large-Scale Online User Experience Studies. Morgan Kaufmann.
- Wang, E., & Caldwell, B. (2002). An empirical study of usability testing: Heuristic evaluation vs. user testing. Proceedings of the Human Factors and Ergonomics Society 46th Annual Meeting. 774-778.
This post is partially based on work supported by NSF research grant CCLI-0717613 ―Adaptation & Implementation of an Activity-Based Online or Hybrid Course in Software Testing. Any opinions, findings and conclusions or recommendations expressed in this post are those of the author and do not necessarily reflect the views of the National Science Foundation.
Hi Cem,
I’d like to make a suggestion for a book and an accompanying website .
Book
Understanding and Managing Risk Attitude, see http://www.risk-attitude.com/book.html
Website
http://www.risk-attitude.com/
I liked the book because it covers various ways how people respond to uncertainty including cognitive biases and emotional literacy. I think the book is easy to read and contains practical examples.
The accompanying website contains a lot of short articles which cover specific aspects of risk attitude and risk management.
The book and website cover risk from a project management perspective. Besides that, I think that it helps in getting insight in risk.
Kind regards
Thanks, Ruud:
I read the preface and TOC at the book’s website. Interesting stuff.
I also liked your paper on exploratory testing in medicine, http://www.improveqs.nl/files/testingexperience13_03_11_Cox_Duisters_Laar.pdf
Hi Cem,
Excellent work looking forward to taking this course at some point in the future.
David
Hi Cem,
Thank you for all the work you have done, and for putting together the Test Design course.
Under Risk-based testing I would consider including “Managing the Risks of Organizational Accident” by James Reason.
http://www.amazon.com/Managing-Risks-Organizational-Accidents-Reason/dp/1840141050
Griffin
Hi Mr Kaner,
The link doesn’t work: (Quicktests) Hendrickson, E. (2006), Test heuristics cheat sheet. http://testobsessed.com/wp-content/uploads/2007/02/testheuristicscheatsheetv1.pdf
Amazing amount of information.
If I found any ther dead ink, I’ll tell you.
Regards
QualityDave
Thank you. The new link is http://testobsessed.com/wp-content/uploads/2011/04/testheuristicscheatsheetv1.pdf