====== Resources ====== Slides and additional references will be posted here. Some of the references are papers from the ACM/IEEE portal. You can access them without charge either within the campus network or via proxy (e.g., EZProxy) if you are outside. ====== Course Slides and Readings ====== * 0 [[http://www.cse.yorku.ca/~zmjiang/teaching/eecs4313/slides/EECS4313_00_IntroductionAdmin.pdf|Introduction and Admin]] * 1 [[http://www.cse.yorku.ca/~zmjiang/teaching/eecs4313/slides/EECS4313_01_TestingOverview.pdf|Limits and Objectives of Software Testing]] * Readings: [Jorgensen] Chapter 1, 2 (for background), Chapter 5, Section 23.3 * 2 [[http://www.cse.yorku.ca/~zmjiang/teaching/eecs4313/slides/EECS4313_02_ReportingAndAnalyzingTesting.pdf|Reporting and analyzing bugs]] * 3 [[http://www.cse.yorku.ca/~zmjiang/teaching/eecs4313/slides/EECS4313_03_TestAutomation_JUnit.pdf|Test Automation/JUnit]] ([[http://www.cse.yorku.ca/~zmjiang/teaching/eecs4313/slides/Currency.java|Currency.java]]) * [[http://www.vogella.com/tutorials/JUnit/article.html|Unit Testing with JUnit by Lars Vogel]] * 4 [[http://www.cse.yorku.ca/~zmjiang/teaching/eecs4313/slides/EECS4313_04_BoundaryValueTesting.pdf|Boundary Value Testing]] * Readings: [Jorgensen] Chapter 5 * 5 [[http://www.cse.yorku.ca/~zmjiang/teaching/eecs4313/slides/EECS4313_05_EquivalenceClassTesting.pdf|Equivalence Class Testing]] * Readings: [Jorgensen] Chapter 6 * 6 [[http://www.cse.yorku.ca/~zmjiang/teaching/eecs4313/slides/EECS4313_06_DecisionTableBasedTesting.pdf|Decision Table-based Testing]] * Readings: [Jorgensen] Chapter 7 * 7 [[http://www.cse.yorku.ca/~zmjiang/teaching/eecs4313/slides/EECS4313_07_PathTestingAndTestCoverage.pdf|Path Testing and Test Coverage]] * Readings: [Jorgensen] Chapter 8 * 8 [[http://www.cse.yorku.ca/~zmjiang/teaching/eecs4313/slides/EECS4313_08_TestCodePatterns.pdf|Test Code Patterns]] * [[http://www.cse.yorku.ca/~zmjiang/teaching/eecs4313/slides/MockitoExample.zip|Mockito Class Example]], Mockito resources: [[https://dzone.com/articles/getting-started-mocking-java|Link1]], [[http://examples.javacodegeeks.com/core-java/mockito/junit-mockito-example/|Link2]] * 9 [[http://www.cse.yorku.ca/~zmjiang/teaching/eecs4313/slides/EECS4313_09_DataFlowTesting.pdf|Data flow testing]] * Readings: [Jorgensen] Chapter 9 * [[http://www.cse.yorku.ca/~zmjiang/teaching/eecs4313/slides/findbugsDemoCode.zip|FindBugs Demo code]] * 10 [[http://www.cse.yorku.ca/~zmjiang/teaching/eecs4313/slides/EECS4313_10_SliceBasedTesting.pdf|Sliced-based testing]] * Readings: [Jorgensen] Chapter 9 * [[http://www0.cs.ucl.ac.uk/staff/mharman/sf.html|An Overview of Program Slicing by M. Harman and R. Hierons]] * 11 [[http://www.cse.yorku.ca/~zmjiang/teaching/eecs4313/slides/EECS4313_11_MutationTesting.pdf|Mutation Testing]] * Readings: [Jorgensen] Chapter 21 * [[http://www.cse.yorku.ca/~zmjiang/teaching/eecs4313/slides/MutationTestingDemoCode.zip|Mutation Testing Demo code]] * 12 [[http://www.cse.yorku.ca/~zmjiang/teaching/eecs4313/slides/EECS4313_12_WebsiteTesting.pdf|Website Testing]] * 13 [[http://www.cse.yorku.ca/~zmjiang/teaching/eecs4313/slides/EECS4313_13_LoadTesting.pdf|Load Testing]] (Lectured by Ruoyu Gao) * [[http://www.cse.yorku.ca/~zmjiang/teaching/eecs4313/slides/LoadTestingDS2Demo.zip|Load Testing Demo]] * [[http://jmeter.apache.org/|JMeter]] * 14 [[http://www.cse.yorku.ca/~zmjiang/teaching/eecs4313/slides/EECS4313_14_EmpiricalStudies.pdf|Empirical Studies in Software Testing]] * [[http://dl.acm.org/citation.cfm?id=2568271|Inozemtseva and Holmes. Coverage is not strongly correlated with test suite effectiveness. ICSE 2014.]] * 15 [[http://www.cse.yorku.ca/~zmjiang/teaching/eecs4313/slides/EECS4313_15_DefectPrediction.pdf|Software Defect Prediction]] * [[https://www.st.cs.uni-saarland.de/softevo/bug-data/eclipse/|Zimmermann, Premraj and Zeller. Predicting Defects for Eclipse. PROMISE 2007.]] * 16 [[http://www.cse.yorku.ca/~zmjiang/teaching/eecs4313/slides/EECS4313_FinalExamReview.pdf|Final Exam Review]] ====== Additional References ====== * [[https://vimeo.com/47959189|How Google Tests Software]] * How We Test Software at Microsoft ([[https://www.youtube.com/watch?v=ushDnjJTLi0|overview]], [[https://www.youtube.com/watch?v=PussKcpJrik|chapter 1]], [[https://www.youtube.com/watch?v=nYI59ZQCLNM|chapter 2]], [[https://www.youtube.com/watch?v=a8ezCo5kQjo|chapter 3]]) * [[https://www.youtube.com/watch?v=KH2_sB1A6lA|Tools for Continuous Integration at Google Scale]] * [[http://releng.polymtl.ca/RELENG2014/html/program.html|More videos on CI]] * [[http://www.opensourcetesting.org/|Open Source Software Testing Tools]] * [[http://www.vogella.com/tutorials/JUnit/article.html|JUnit Tutorial from L. Vogel]] ====== York University ====== * [[http://www.cse.yorku.ca|Department of CSE Home Page]] * [[https://w2prod.sis.yorku.ca/Apps/WebObjects/cdm.woa/wa/curexam|York Exam Schedule]]