CSE4431 System validation and verification, quality and standard - Semester 1 , 2007 unit guide

Semester 1, 2007

Chief Examiner

Dr Sita Ramakrishnan

Lecturers

Clayton : Dr Sita Ramakrishnan

Outline

This subject covers the products, processes, techniques and tools for system validation & verifications including acceptance tests. Commercial Testing Tools from Rational, Mercury Interactive and others will be used to apply in practice knowledge learnt about software testing from a theoritical perspective. Inspection and testing methodologies, analysis of artifacts, robustness, performance analysis configuration management, quality assurance plan and standards including ISO9000/AS39000, compliance, assessment, certification issues are covered. It shows how to predict, analyse and control defects in complex software systems. It introduces verification methods such as inductive methods for safety properties. It covers operational semantics for sequential and concurrent programs based on Hoare logic - assertion mechanisms - precondition, postcondition and invariants with a view to systematic test planning and validation.

Objectives

Knowledge and Understanding

Understand the role of validation & verification methods in the system life cycle.

Attitudes, Values and Beliefs

Gain experience in using commercial validation tools such as TestStudio from Rational and TestDIrector from Mercury Interactive, and other similar products to help detect software system defects. Also gain experience in Performance and Load Testing with testing tools from these vendors

  • Appreciate how assertion mechanisms impact reasoning.
  • Be able to analyse and control defects in complex systems.
  • Have an understanding of inspection & testing methods, configuration management, performance, and quality standards issues.

 

Prerequisites

Before attempting this unit you must have satisfactorily completed CSE2201, CSE2304, CSE2305, CSE3308, BUS2176 and CSE2391, CSE3391, CSE2395 or CSE3395, or equivalent. You should have completed or be studying CSE4213 concurrently.

You should have knowledge of :

  • Programming in C, C++ and Java
  • OOSE, Analysis, Design & Programming
  • OO Method - UML notation, method and SE process
  • Project Management
  • Unix, Perl
  • Unit relationships

    CSE4431 is a core unit in the Bachelor of Software Engineering degree program. CSE4431 may be taken as an elective by Masters students.

    You should have completed or be studying CSE4213 concurrently. Check with your course leader if you are a Masters student. You should have knowledge of :

    • Programming in C, C++ and Java
    • OOSE, Analysis, Design & Programming
    • OO Method - UML notation, method and SE process
    • Project Management
    • Unix, Perl

    Texts and software

    Required text(s)

     There is no one set text for the unit. However students are expected to read widely from the recommended reading list. Recommended books are available in the Hargrave Library and may also be int he bookshop should you wish to purchase your own copies.

    • Apt, K.R and Olderog, E.R (1991) Verification of Sequential and Concurrent Programs, Springer-Verlag.
    • Dahl, O-J (1992) Verifiable Programming, Prentice Hall.
    • Deutsch, M.S (1982) Software Verification and Validation, Prentice Hall
    • Dorfman, M and Thayer, R.H (eds) (1990) Standards, Guidelines and Examples on Systems and Software Requirement Engineering, IEEE Computer Soc. Press
    • Ferdinand A.E (1993) Systems, Software, and Quality Engineering, Van Nostrand Reinhold. IEEE Standard for Software Quality Metrics Methodology, IEEE Publ. 1993
    • Lewis, R.O (1992) Independent Verification and Validation - A Life Cycle Engineering Process for Quality Software, John Wiley & Sons
    • Mazz, C.Et al. (1994) Software Engineering Standards, Prentice Hall
    • J F Peters and W Pedrycz (2000) Software Engineering: An Engineering Approach, J Wiley Publ
    • Robert V. Binder (1999) Testing Object-Oriented Systems: Models, Patterns, and Tools, Addison-Wesley
    • David A Sykes John D McGregor (2001) Practical Guide to Testing Object - Oriented Software, Addison-Wesley
    • Paul Jorgensen (Ed.) (2002), Software Testing: A Craftsman's Approach, Second Edition +Daniel J.Mosley, Bruce A. Posey (2002) Just Enough SOftware Test Automation, Addison-Wesley

    Relevant journals and conference proceedings are used as reference material.

    Textbook availability

    • Hargrave library has copies of these books.

    The Bookshop may have copies as well.

    Software requirements

    MUSE Lab in Bldg 26/G13 is the lab used for this unit. Has all the software in the standard student labs plus is equipped with

    • standard image as in other stduent labs PLUS
    • open source Eclipse from http://www.eclipse.org/downloads/djunit from http://works.dgic.co.jp/djunit/
    • IBM's Websphere, Rational Architect, RationalTester from IBM under Uni agreement
    • additional software may be installed in a particular year based on the assignment requirement - such as AspectJ in 2007

     

     

    Software may be:

    • downloaded from http://www.eclipse.org/downloads/; http://works.dgic.co.jp/djunit/;http://www-306.ibm.com/software/awdtools/tester/functional/;http://www.eclipse.org/aspectj/

    Hardware requirements

    Bachelor of Software Engineering is offered only for On-campus students. You may use the facilities available in the computing labs. Information about computer use for students is available from the ITS Student Resource Guide in the Monash University Handbook. You will need to allocate up to 4hours per week for use of a computer in the lab for doing assignments.

    Recommended reading

     

  • Apt, K.R and Olderog, E.R (1991) Verification of Sequential and Concurrent Programs, Springer-Verlag.
  • Dahl, O-J (1992) Verifiable Programming, Prentice Hall.
  • Deutsch, M.S (1982) Software Verification and Validation, Prentice Hall
  • Dorfman, M and Thayer, R.H (eds) (1990) Standards, Guidelines and Examples on Systems and Software Requirement Engineering, IEEE Computer Soc. Press
  • Ferdinand A.E (1993) Systems, Software, and Quality Engineering, Van Nostrand Reinhold. IEEE Standard for Software Quality Metrics Methodology, IEEE Publ. 1993
  • Lewis, R.O (1992) Independent Verification and Validation - A Life Cycle Engineering Process for Quality Software, John Wiley & Sons
  • Mazz, C.Et al. (1994) Software Engineering Standards, Prentice Hall
  • J F Peters and W Pedrycz (2000) Software Engineering: An Engineering Approach, J Wiley Publ
  • Robert V. Binder (1999) Testing Object-Oriented Systems: Models, Patterns, and Tools, Addison-Wesley
  • David A Sykes John D McGregor (2001) Practical Guide to Testing Object - Oriented Software, Addison-Wesley
  • Paul Jorgensen (Ed.) (2002), Software Testing: A Craftsman's Approach, Second Edition +Daniel J.Mosley, Bruce A. Posey (2002) Just Enough SOftware Test Automation, Addison-Wesley
  •  

    Library access

    You may need to access the Monash library either personally to be able to satisfactorily complete the subject.  Be sure to obtain a copy of the Library Guide, and if necessary, the instructions for remote access from the library website.

    Study resources

    Study resources for CSE4431 are:

    Use MUSO site for more information for units including CSE4431

    at http://muso.monash.edu.au/

    Unit website

    http://muso.monash.edu.au/

    Structure and organisation

    Week Topics Key Dates
    1 Basic Testing, Concepts, IEEE definition, Role of V& V in SDLC, Challenges in Testing Sem 1 commences 26th feb, 1st class for CSE4431 - wed 10-12 noon 28th feb Bldg 11/H7
    2 Faults, Failures and Errors, Test Oracle problem, Taxonomy of software testing fri 9th march - last day to add a unit to sem 1 enrolment
    3 Automated testing: JUnit testing, Automating JUnit, Run tests from Ant, Bugzilla, Rational tools, V Model
    4 Testing Techniques, Documenting tests, Test Adequacy and Test Coverage
    5 Testing Techniques: Data-flow testing, Category-Partition method; Test levels; Testing & Certification last day to discontinue sem 1 unit & receive fee refund of tuition fees
    6 Test case Generation (contd): Data-flow Testing; OO test methods; automated GUI testing; Web testing fri 6th apr Easter holiday includes 6th-13th apr 2007
    Non teaching week
    7 Test Oracles; Test Maturity Model; Software Standards Ass.1 40%
    8 Test Selection: Usage-based testing techniques; Code instrumentation; Effective test prioritization; Regression Testing
    9 Model Based and Model Driven Testing; Quality; Aspect Testing Ass.2 20%
    10 Mutation Testing
    11 Component Testing
    12 Experimental SE and Software Testing Ass.3 40%
    13 Revision/Presentations exam period after this week - 7th -27th june 2007

    Timetable

    The timetable for on-campus classes for this unit can be viewed in Allocate+

    Assessment

    Assessment weighting

    Assessment for the unit consists of 3 assignments:

    Assignment 1, 40 %, Due Date: Week 7
    Assignment 2,
    20%, Due Date: Week 9
    Assignment 3,40%, Due Dates: Week 12

    Assessment Policy

    To pass this unit you must:

    Students are required to pass each of the assignments to be assigned a Pass in the unit. There is no formal examination for this unit.

    Your score for the unit will be calculated by:

    Assignment 1, 40 %, Due Date: Week 7
    Assignment 2,
    20%, Due Date: Week 9
    Assignment 3,40%, Due Dates: Week 12

    Assessment Requirements

    Assessment Due Date Weighting
    1 week 7 40%
    2 week 9 20 %
    3 week 12 40 %

    Assignment specifications will be made available on the unit webpage.

    Assignment Submission

    Assignment 1- electronic submission through MUSO and interviews with the lecturer in the lab.

    Assignment 2 - demonstration of the work in the lab

    Assignment 3 - electronic submission through MUSO and individual presentation to class from a selection of students.

    Extensions and late submissions

    Late submission of assignments

    Assignments received later than one week after the due date will not normally be accepted.

    This policy is strict because comments or guidance will be given on assignments as they are returned, and sample solutions may also be published and distributed, after assignment marking or with the returned assignment. 

    Extensions

    It is your responsibility to structure your study program around assignment deadlines, family, work and other commitments. Factors such as normal work pressures, vacations, etc. are seldom regarded as appropriate reasons for granting extensions. 

    Requests for extensions must be made with an email to the unit lecturer at least two days before the due date. You will be asked to forward original medical certificates in cases of illness, and may be asked to provide other forms of documentation where necessary. A copy of the email or other written communication of an extension must be attached to the assignment submission. This is forwarded to the admin office in the faculty for safe keeping and for consideration with similar requests of other lecturers by the student in case of illness or accidents.

    Grading of assessment

    Assignments, and the unit, will be marked and allocated a grade according to the following scale:

    Grade Percentage/description
    HD High Distinction - very high levels of achievement, demonstrated knowledge and understanding, skills in application and high standards of work encompassing all aspects of the tasks.
    In the 80+% range of marks for the assignment.
    D Distinction - high levels of achievement, but not of the same standards. May have a weakness in one particular aspect, or overall standards may not be quite as high.
    In the 70-79% range.
    C Credit - sound pass displaying good knowledge or application skills, but some weaknesses in the quality, range or demonstration of understanding.
    In the 60-69% range.
    P Pass acceptable standard, showing an adequate basic knowledge, understanding or skills, but with definite limitations on the extent of such understanding or application. Some parts may be incomplete.
    In the 50-59% range.
    N Not satisfactory failure to meet the basic requirements of the assessment.
    Below 50%.

    Assignment return

    We will aim to have assignment results made available to you within two weeks after assignment receipt.

    Feedback

    Feedback to you

    You will receive feedback on your work and progress in this unit. This feedback may be provided through your participation in tutorials and class discussions, as well as through your assignment submissions. It may come in the form of individual advice, marks and comments, or it may be provided as comment or reflection targeted at the group. It may be provided through personal interactions, such as interviews and on-line forums, or through other mechanisms such as on-line self-tests and publication of grade distributions.

    Feedback from you

    You will be asked to provide feedback to the Faculty through a Unit Evaluation survey at the end of the semester. You may also be asked to complete surveys to help teaching staff improve the unit and unit delivery. Your input to such surveys is very important to the faculty and the teaching staff in maintaining relevant and high quality learning experiences for our students.

    And if you are having problems

    It is essential that you take action immediately if you realise that you have a problem with your study. The semester is short, so we can help you best if you let us know as soon as problems arise. Regardless of whether the problem is related directly to your progress in the unit, if it is likely to interfere with your progress you should discuss it with your lecturer or a Community Service counsellor as soon as possible.

    Plagiarism and cheating

    Plagiarism and cheating are regarded as very serious offences. In cases where cheating  has been confirmed, students have been severely penalised, from losing all marks for an assignment, to facing disciplinary action at the Faculty level. While we would wish that all our students adhere to sound ethical conduct and honesty, I will ask you to acquaint yourself with Student Rights and Responsibilities and the Faculty regulations that apply to students detected cheating as these will be applied in all detected cases.

    In this University, cheating means seeking to obtain an unfair advantage in any examination or any other written or practical work to be submitted or completed by a student for assessment. It includes the use, or attempted use, of any means to gain an unfair advantage for any assessable work in the unit, where the means is contrary to the instructions for such work. 

    When you submit an individual assessment item, such as a program, a report, an essay, assignment or other piece of work, under your name you are understood to be stating that this is your own work. If a submission is identical with, or similar to, someone else's work, an assumption of cheating may arise. If you are planning on working with another student, it is acceptable to undertake research together, and discuss problems, but it is not acceptable to jointly develop or share solutions unless this is specified by your lecturer. 

    Intentionally providing students with your solutions to assignments is classified as "assisting to cheat" and students who do this may be subject to disciplinary action. You should take reasonable care that your solution is not accidentally or deliberately obtained by other students. For example, do not leave copies of your work in progress on the hard drives of shared computers, and do not show your work to other students. If you believe this may have happened, please be sure to contact your lecturer as soon as possible.

    Cheating also includes taking into an examination any material contrary to the regulations, including any bilingual dictionary, whether or not with the intention of using it to obtain an advantage.

    Plagiarism involves the false representation of another person's ideas, or findings, as your own by either copying material or paraphrasing without citing sources. It is both professional and ethical to reference clearly the ideas and information that you have used from another writer. If the source is not identified, then you have plagiarised work of the other author. Plagiarism is a form of dishonesty that is insulting to the reader and grossly unfair to your student colleagues.

    Communication

    Communication methods

    At the end of lectures or in the final year Monash University Software Engineering (MUSE) studio lab or in the lecturer's office for individual or group feedback & discussions.

    Notices

    Notices related to the unit during the semester will be placed on the Notices section of the web page in the Unit Website. Check this regularly. Failure to read the Notices is not regarded as grounds for special consideration.

    Consultation Times

    The lecture is on wed from 10-12 noon in sem 1 2007. It has always been on

    wednesdays in the past.

    Consultation time is 1-2pm wed and on tuesdays 1-2 pm

    If direct communication with your unit adviser/lecturer or tutor outside of consultation periods is needed you may contact the lecturer and/or tutors at:

    Ms Sita Ramakrishnan
    Senior Lecturer
    Phone +61 3 990 58689
    Fax +61 3 99031777

    All email communication to you from your lecturer will occur through your Monash student email address. Please ensure that you read it regularly, or forward your email to your main address. Also check that your contact information registered with the University is up to date in My.Monash.

    Last updated: Feb 19, 2007