====== Software Engineering II ====== ---- ===== News ===== * **March 4th, 2015**: In the results section, you can find the results for February 25th exam. Next Monday March 9th I will discuss the solution at 11.30am in Turing Lab. At the same time I'll give back the written paper to students. * **March 4th, 2015**: I heard that some student is facing huge difficulties in setting the environment for carrying on the course project. Therefore I decided to modify the rule for the exam leaving to students the possibility to choose how to complete the exam. In particular students can now choose if they want to have an oral presentation or if they prefer to deliver a relation on the assigned project. In both cases students should contact the teacher to fix an appointment to discuss the project or to make the oral paper. With respect to the assigned project students can contact Daniele Fanì if they are not able to appropriately set the environment to successively run the tests. * **February 12th, 2015**: Tomorrow at 12 noon (Turing Lab) I will illustrate possible solutions for exercises in the written paper of February 4th. Students will have the opportunity to have their paper and to make questions. * **February 12th, 2015**: Below, in the results section, you can find the results for February 4th exam * **January 30th, 2015**: Please note that the written paper for the Exam will be held on February 4th in the Boole Lab starting at 9am. * **January 26th, 2015**: Tomorrow morning I cannot be in Camerino. Therefore I need to cancel the lesson. The plan is to have next lesson on Wednesday morning, as already planned, but also in the afternoon in place of the compilers course. I apologize for the inconvenience. * **January 25th, 2015**: I would like to inform the students that the lesson of next Thursday is anticipated to next Wednesday at the same time. * **January 14th, 2015**: I would like to inform the students that tomorrow lesson (January 15th) will start with around 30 minutes delay. * **December 17th, 2014**: I apologize but due to some delayed administrative duties, that I have to close by tomorrow and related to tomorrow defenses, I have to cancel tomorrow lesson. Next lesson will be on January 13th. I wish to all students a nice Christmas period. * **December 15th, 2014**: I apologize but tomorrow morning lesson (Tuesday 16th) is cancelled due to a EU project related engagement * **December 10th, 2014**: Tomorrow lesson will be held in Aula Nobili * **December 8th, 2014**: In the first hour of tomorrow lesson Daniele Fanì will introduce JUnit and will help you in setting the environment for the project. * **November 7th, 2014**: In the next lesson it will be illustrated how to set up the eclipse IDE with MAVEN, and then how to download and set the environment for the project. Please come with your laptop. * **November 5th, 2014**: Dear students the course this year seems unlucky. I've got the flu and I'll not be able to come to Camerino tomorrow. * **October 28th, 2014**: due to previous engagements I cannot be in Camerino on October 30th. Next class will be on Tuesday - November 4th. * **October 17th, 2014**: the course web site is now on-line ---- ===== General Info ===== **Teacher**: * [[http://www.cs.unicam.it/polini|Andrea Polini]] **Lessons schedule**: * Tuesday, from 11am to 1pm - room "Aula Nobili" * Thursday, from 11am to 1pm - room "Aula Nobili" **Students reception hour**: * Thursday from 2pm to 3pm ---- ===== Course Presentation and Objectives ===== The course intends to provide to the students the basic knowledge and competences for testing complex software systems. The following topics will be covered: * Software Testing generalities * Software Testing phases * Test derivation strategies * Test adequacy assessment The various conceptual aspects will be illustrated using examples and competences will be assessed with a course project that will require the usage of professional tools. ---- ===== Course Contents ===== * **General Information** [Mat - Ch.1] * Basic of software testing * Software quality dimensions * Testing and debugging * Testing and other verification activities * Type of testing * **Test Generation Strategies from Requirements** [Mat - Ch.2] * Equivalence partitioning * Boundary analysis * The Category Partition method * Cause-Effect graphs * Test generation from predicates * BOR,BRO, BRE adequate test sets * **Test Generation from Finite-State Models** [Mat - Ch.3] * Finite State Machines (FSM) * Conformance testing * The W-Method * The partial W-Method * **Test Generation from Combinatorial Design** [Mat - Ch.4] * **Test Adequacy Assessment Using Control Flow and Data Flow** [Mat - Ch.6] * Control-Flow criteria * Data-Flow criteria ---- ===== Study material ===== **Course Slides** * {{:didattica:choiceexams:softengii:01_st.pdf|Introduction to the course}} (October 16th) * {{:didattica:choiceexams:softengii:02_st.pdf|Software Testing - Generalities}} (October 21st) * {{:didattica:choiceexams:softengii:02_2_st.pdf|Software Testing - Generalities II}} (October 28th) * {{:didattica:choiceexams:softengii:03_1_st.pdf|Test Generation Strategies from Requirements I}} (October 28th) * {{:didattica:choiceexams:softengii:03_2_st.pdf|Test Generation Strategies from Requirements II}} (November 4th) * {{:didattica:choiceexams:softengii:03_3_st.pdf|Test Generation Strategies from Requirements III}} (November 6th) * {{:didattica:choiceexams:softengii:maven.pdf|Setting the system for the project}} (November 11th) * {{:didattica:choiceexams:softengii:03_4_st.pdf|Test Generation Strategies from Requirements IV}} (November 13th) * {{:didattica:choiceexams:softengii:03_5_st.pdf|Test Generation Strategies from Requirements V}} (December 2nd) * {{:didattica:choiceexams:softengii:04_01_st.pdf|Model Based Testing I}} (December 4th) * {{:didattica:choiceexams:softengii:04_02_st.pdf|Model Based Testing II}} (December 9th-11th) * {{:didattica:choiceexams:softengii:04_03_st.pdf|Model Based Testing III}} (January 13th) * {{:didattica:choiceexams:softengii:05_01_st.pdf|Combinatorial Approaches I}} (January 15th) * {{:didattica:choiceexams:softengii:05_02_st.pdf|Combinatorial Approaches II}} (January 20th) * {{:didattica:choiceexams:softengii:06_01_st.pdf|Adequacy Criteria for Control Flow and Data Flow I}} (January 22nd) * {{:didattica:choiceexams:softengii:06_02_st.pdf|Adequacy Criteria for Control Flow and Data Flow II}} (January 27th) * Exercises (January 28th) Warning: //slides are provided here to help the students in their study. In no way they intend to substitute recommended text books. The deep study of books instead constitute the most wise approach to pass the exam.// **Reference books** * [Mat] Aditya P. Mathur, //[[http://www.amazon.com/Foundations-Software-Testing-2nd-Edition/dp/8131794768/ref=cm_cr_pr_sims_t|Foundations of Software Testing]]//, Pearson Education, 2nd Edition, 2013\\ (the [[http://www.amazon.com/Foundations-Software-Testing-Aditya-Mathur/dp/8131716600/ref=pd_sim_sbs_b_1?ie=UTF8&refRID=1A1SKM2JF1T019EDAN3V|1st edition]] can be used as well) ---- ===== Exams ===== **Exam Dates A.Y. 2014/2015** * February 4th, 2015 - from 9am to 11am - Boole Lab * February 25th, 2015 - from 11am to 1pm - Boole Lab * June 10th, 2015 - from 11am to 1pm * July 8th, 2015 - from 11am to 1pm * September 9th, 2015 - from 11am to 1pm * September 30th, 2015 - from 11am to 1pm * February 3rd, 2016 - from 11am to 1pm * February 24th, 2016 - from 11am to 1pm **Exam rules**: To pass the exam the students have to deliver a software project in which they describe the testing strategies and approaches they selected to test a software component identified by the teacher. Software projects will get a mark in the range of 10-15. Students that have successfully delivered the software project can participate to the written paper held in the dates indicated above. The written paper will get a mark in the range of 8-15. The sum of the two marks constitutes the final vote for the student. In case the sum is 30 the teacher will consider the possibility to award the student with additional "Lode". In case students would like to increase the final mark they got, they can ask for an oral paper to be held the same day that each time will be defined for the write paper discussions and exam registrations. ** Exam Results ** * {{:didattica:choiceexams:softengii:seii_20150204.pdf|February 4th, 2015}} * {{:didattica:choiceexams:softengii:risultati_25_022015.pdf|February 25th, 2015}}