=========== Literature =========== The recommended book for this course is: .. _uttinglegeard: * M. Utting and B. Legeard, Practical Model-Based Testing. Elsevier - Morgan Kaufmann Publishers, 2007. (An electronic version is available at http://bit.ly/wGlT94 - note that you must be logged in at Chalmers' network to get access to it.) Note that the first part of the course does not follow any concrete book so it is difficult to point to specific parts of a book deadling with the content. However, as a suggestion you might want to take a look at the following books: .. _jorgensensommerville: * P.C. Jorgensen. Software Testing: A Craftsman's Approach. Auerbach Publications, 3rd edition, 2008. (Mainly chapters 1 and 12.) * Ian Sommerville. Software Engineering (8th edition), Addison-Wesley, 2007. (Chapters 22 and 23.) The lecture on "Graph Theory Techniques in MBT" will be based on the following paper (its reading is highly recommended): .. _robinson: * Harry Robinson. `Graph Theory Techniques in Model-Based Testing.`_ Presented at the 1999 International Conference on Testing Computer Software. .. _Graph Theory Techniques in Model-Based Testing.: http://www.harryrobinson.net/GraphTheoryInMBT.pdf .. Beginning of comment For the QuickCheck lectures, this is the recommended literature: .. _quickcheckpapers: * `QuickCheck 2.4.2 Cheat Sheet`_. * Bryan O'Sullivan, Don Stewart, and John Goerzen. Real World Haskell (`Chapter 11: Testing and quality assurance`_.) * Koen Claessen, John Hughes. QuickCheck: a lightweight tool for random testing of Haskell programs. ICFP'00: 268-279, 2000. * Thomas Arts, Laura M. Castro, John Hughes. Testing Erlang data types with quviq quickcheck. In Erlang Workshop'08: 1-8, 2008. ACM. * Laura M. Castro and Thomas Arts. Testing Data Consistency of Data-Intensive Applications Using QuickCheck. In Electronic Notes in Theoretical Computer Science, vol. 271: 41-62 (2011). * Thomas Arts, Simon J. Thompson. From test cases to FSMs: augmented test-driven development and property inference. Erlang Workshop 2010: 1-12, 2010. * Koen Claessen, Michal Palka, Nicholas Smallbone, John Hughes, Hans Svensson, Thomas Arts, Ulf T. Wiger. Finding race conditions in Erlang with QuickCheck and PULSE. In ICFP'09: 149-160, 2009. .. End of comment You will find below a list of other books and papers on testing. Their reading is not required for the course; the list is given only as a suggestion for further reading for those of you interested in the topic. More on testing: 1. P\. Ammann and J. Offutt. Introduction to Software Testing. Cambridge, 2008. 2. C\. Kaner, J. Bach, B. Pettichord. Lessons Learned in Software Testing. Wiley (1st edition), 2001. ISBN: 978-0471081128 3. R\. Patton. Software Testing. Sams (2 edition), 2005. ISBN: 978-0672327988 About Finite State Machines: * F\. Wagner, R. Schmuki, T. Wagner and P. Wolstenholm. Modeling Software with Finite State Machines: A Practical Approach. Auerbach Publications, 2006. ISBN: 978-0849380860 * J\. Hopcroft. R. Motwani and J.D. Ullman. Introduction to Automata Theory, Languages, and Computation. Pearson Education, 2006. ISBN: 9780321514486 (Mainly Chapter 2) Surveys and other articles in journal/conference proceedings * L\. Baresi and M. Pezzè. An Introduction to Software Testing. In ENTCS vol. 148, pp. 89-111, 2006. Elsevier. * A\. Bertolino. Software testing research: achievement, challenges, dreams. In FOSE'07, pp. 85-103, 2007. IEEE Computer Society (Survey on testing and research roadmap) * M\.J. Rehman, F. Jabeen, A. Bertolino, and A. Pollini. Testing software components for integration: a survey of issues and techniques. In Softw. Test, Verif. Reliab. 17(2), pp. 95-133, 2007. (Survey on component integration testing) * I\.K. El-Far and J.A. Whittaker. Model-Based Software Testing. In Encyclopedia on Software Engineering, Wiley, 2001 (Survey on model-based testing) * M\. Blackburn, R. Busser, A. Nauman. Why Model-Based Test Automation is Different and What You Should Know to Get Started. Software Productivity Consortium, 2004 (Survey on automation of model-based testing) .. Beginning of comment Functional Programming: If you need background on functional programming you can take a look at the following online tutorial (also, check bibliography of different courses on the topic offered at Chalmers): * `Learn You a Haskell for Great Good!`_ .. _Learn You a Haskell for Great Good!: http://learnyouahaskell.com/chapters .. _`Chapter 11: Testing and quality assurance`: http://book.realworldhaskell.org/read/testing-and-quality-assurance.html .. _Graph Theory Techniques in Model-Based Testing.: http://www.ecs.csun.edu/~rlingard/COMP595VAV/GraphTheory%20Techniques%20In%20Model-Based%20Testing.pdf .. _QuickCheck 2.4.2 Cheat Sheet: http://www.cse.chalmers.se/edu/year/2015/course/DAT260/files/QuickCheck-CS.pdf .. End of comment