HND Software Development Unit Handbook Software Testing
Unit Leader Steve Martin
September 2008
List of Contents:
Unit Specification
Unit Outline and Aims
Unit Content
Learning Outcomes and Assessment Criteria
Teaching and Learning Methods
Assessment Strategy
Reference material
Book List
Course Notes, Handouts and OHPS
Teaching and Learning Schedule
Weekly Schedule
Gas Company System
Unit Specification
Unit Outline and Aims
The main aim of this unit is to develop a sound understanding of the main aspects of software testing. Although the title is software testing, it would be inappropriate just to deal with the testing of code. 代写留学生作业Software has to be designed from a specification and the specification has to be obtained from the client requesting the system that is to use the software. A piece of software is of little use if it ‘works’ but does not do what the client requires and equally it is not acceptable if it does things that the client does not actually ask for. This means that a major part of the testing process is to make sure that the software complies with the specification.
When the specification has been agreed with the client, then the design takes place. The design then needs to be tested to ensure that it is both a sound design and that it fulfills the specification. Software engineering is no different from any other engineering discipline in that the design has to be thoroughly checked to ensure that the product being produced will be satisfactory and fit for purpose.
From the design, the code can be written and when this has been done the code can be tested.
For this unit, the learner will work with a medium-sized application and some case studies and from these produce full and detailed testing procedures, effect some testing and document the results. The learner will then be able to evaluate the effectiveness of the applications and the testing procedures employed.
This unit will be taught in conjunction with other units on the course and frequent reference will be made to the work being done for other units.
http://www.1daixie.com/liuxueshengzuoye/This unit is one that has a great deal of practical work and requires the learner to actively participate in both the lecture and tutorial sessions. Although there is an amount of material to be learned, learners will not be required to regurgitate rote learned facts but will be required to put what has been learned into practice.
Unit Content
The unit consists of four main areas of study:
Testing stages and requirements
Testing strategies, test plans and testing techniques
Outcomes
Evaluation
Testing stages and requirements
Stages: user needs (analysis of requirements, expected outcomes ); dry run of design (given data, expected outcomes); implementation (black box or functional testing, white (or glass) box testing; sub-system, integration (whole system, interface); top down, bottom up); maintenance (following changes or reviews, after length of time, stress/overload); user evaluation (analysis of requirements, actual outcomes, acceptance, alpha, beta
Requirements: resources, documentation ( eg system and program specifications, user requirements, plans and logs)
Testing strategies, test plans and testing techniques
Test strategy: timing, justification, functionality, maintainability
Test plan: example data (normal, erroneous. extreme), expected outcomes (valid, invalid,
information gained), priority
Techniques: black box or functional testing (eg control flow, data flow), white (or glass) box testing (eg boundary value, branch condition); validation, verification
Outcomes
Outcomes: actual results (valid information or action, invalid information or action; system- generated messages, program-generated messages)
Modifications: changes to specification, changes to analysis, design, amendments to code written, alterations to test strategy and plan
Evaluation
Evaluation: functionality, accuracy, effectiveness; alterations to tests carried out, possible improvements; program specification and design, self-reflection, management aspects
Maintainability: usefulness to self, usefulness to others
Learning Outcomes and Assessment Criteria
Learning Outcomes Assessment Criteria for pass
To achieve each outcome, a learner must demonstrate the ability to:
1. Demonstrate an understanding of testing stages and requirements
• Identify the testing stages involved in relation to the given specification
• Justify the rationale behind the choice of testing stages
• Describe the requirements involved at each testing stage in relation to the given specification
2. Create a customised test strategy, plan and techniques for a given specification
• Establish a test strategy for the given specification and resultant application
• Develop a full and detailed test plan relating to the associated test strategy
• Discuss the techniques employed in performing the listed tests
3. Undertake the test plan, producing associated outcomes
• Perform the tests identified in the test plan
• Provide a detailed log of all test results
• Identify modifications made to the given specification, the associated application and the test strategy and plan
4. Provide a detailed evaluation of the test plan and its associated outcomes
• Discuss the reasons for all modifications made at each stage of the testing procedure
• Evaluate the effectiveness of the test strategy and the associated test plan
• Evaluate the maintainability of the test procedure
Teaching and Learning Methods
Lectures
Lectures allow the tutor to present essential concepts required to meet the unit learning outcomes. A few of the lectures will be formal presentations while others will be interactive requiring the students to contribute and develop solutions for problems. Most lectures will be accompanied by handouts, overhead projector slides and references as appropriate.
It is essential that you attend all lectures and make your own personal notes. After each lecture you should spend an hour or so consolidating the material and making your own clear written explanations and diagrams that can be referred to latter. If there is anything that you have not understood you should ask the tutor at the beginning of the next lecture session.
Failure to attend lectures and make consolidated personal notes will seriously affect your chances of passing the unit.
Tutorials
Tutorials will allow the students and the tutor to critically discuss the unit material and investigate solutions to a range of problems. Very often the tutor will ask you to read about a particular topic to be discussed the following week. If you do not do this you will be unable to participate in the tutorial process and therefore reduce the effectiveness of the session for your fellow students. In some tutorial sessions you will be asked to undertake individual or group tasks, you must therefore be prepared to take part in a very positive way and not just listen to others. For group exercises it is important that you relate well to other students and are able to integrate within a team environment.
Practical Sessions
Practical sessions will be used for you to carry out testing on sub-programs, programs and whole systems. You will be required to record your work and so a log book will be required for this type of work.
Assessment Strategy
This unit will be assessed by you producing a portfolio of evidence that shows that you have carried out work that helps you demonstrate that you have achieved the learning outcomes for the unit. Your portfolios will be inspected on a weekly basis and written feedback will be provided. As explained earlier, this unit requires you to engage in work which you must document as you do it. It will not be possible for you to write up your portfolio in the last week of the course and achieve a pass in the unit
For each of the four learning outcomes you will be awarded an indicative grade that relates to how well you have met the assessment criteria.
Grades (as defined in the Edexcel, Level 4, BTEC Higher Nationals in Computing specification) are:
Distinction
Merit
Pass
Referred
Submission Dates
The portfolio of material must be submitted for marking at 3.30pm on the Wednesday of week 12 of the course. Late work will not be accepted. Weekly inspections of your portfolio are intended to enable your tutor to give feedback on your progress, obviously if you do not show your portfolios to your tutor you will jeopardise your chances of achieving a satisfactory result for this unit.
The following table describes the expected content of your portfolio.
Learning Outcome Content
1. Demonstrate an understanding of testing stages and requirements
• A report that considers a case study and explains the stages that are required for each and the likely requirements for each identified stage.
Your choice of the stages needed must be clearly explained for the case study.
2. Create a customised test strategy, plan and techniques for a given specification
• A written test strategy for the specification you have been given and the application that is to be produced for the specification.
• A full and detailed test plan for the testing strategy.
• A brief document that discusses the techniques to be used in performing the tests in the test plan.
3. Undertake the test plan, producing associated outcomes
• A log of the testing you have carried out in accordance with the test plan that includes annotated test results.
• Details of any modifications that have to be made to the specification, the application and the testing strategy and test plan.
4. Provide a detailed evaluation of the test plan and its associated outcomes
• A comprehensive review and evaluation that looks at the reasons for the modifications that have been made at each stage of the testing procedure.
• An evaluation of the effectiveness of the testing strategy used and the test plan that has been used.
• A discussion on the ease or otherwise of changing the testing procedures you originally specified as a result of the modifications that have been required.
The portfolio will be inspected and assessed on an on-going basis. It will not be possible to do all the work required in the final few weeks.
Reference Material
Book list
Roger Pressman, Software Engineering 5E, Mc Graw Hill, 2001, ISBN 0-07-365578-3
D Galin, Software Quality Assurance, Addison-Wesley, 2003, ISBN 0-20-170945-7
Course Notes, Handouts and OHPS
See material supplied weekly to support the teaching.
There are many web sites that look at various issues concerning testing techniques and strategies and you are encouraged to investigate some of these and include the material you find, together with a brief note written by you, in your portfolio.
Teaching and Learning Schedule
Students will be expected to allocate the following times for each activity
Lectures 24 hours
Tutorials/practicals 24 hours
Background reading 40 hours
and research
Assignments/prep 40 hours
This plan describes how the unit material will be presented on a week-by-week basis.
week Topic Tutorial/practical Learning
Outcome
1 Outline of the unit and its assessment.
The need for and objectives of testing.
Introduction to the stages of testing. Discussion and development of test data for simple programs.
All
2, 3 & 4 Testing stages in detail and requirements. Discussions on testing requirements for programming task and development of testing ideas. Gas Company system.
1
5 & 6 Testing strategies, test plans and testing techniques. Formulation of testing strategies for case studies (batch run and interactive) and programming task
test plans and testing techniques 2
7 Outcomes. practical testing work 3
8 Thorough review and evaluation of portfolio of evidence. practical testing work
1, 2, 3
9 Modifications and handling changes. Identification of modifications and changes.
3
10 Review and evaluation of testing work done. Work on portfolio
1, 2, 3, 4
11 Final review of portfolio of evidence. Work on portfolio 1, 2, 3, 4
12 Maintainability of testing process. Submission of portfolio and initial feedback 4
Weekly Schedule
Week 1
Details
Comment
Subject • Outline of the unit and its assessment
•代写留学生作业 Introduction to the stages of testing
Aims • To introduce the unit and how it will be assessed
• To introduce the stages of testing
Lecture Content
The material covered by the unit and how a portfolio will be used to gather evidence of competence in testing.
Testing stages in brief outline.
Expected Learning
At the end of this lecture/topic the student will:
• Understand the need for and basics of testing
• List the stages of testing
Reading Required
Unit handbook and handout material
Tutorial/Practical Work
Discussion and development of test data for simple programs.
Produce outline framework for portfolio.
Start work on portfolio
Weeks 2, 3 & 4
Details
Comment
Subject Testing stages in detail and requirements
Aims • To explain the stages that can be involved in the testing of a computerised system and the associated resource requirements and documentation needs.
Lecture Content
Analysis of user requirements and expected outcomes.
Design testing.
Implementation testing using black and white box testing.
Unit and system testing
User evaluation.
Testing after maintenance.
Resource and documentation requirements
Expected Learning
At the end of this lecture/topic the student will:
• Understand the stages of testing and what is involved.
• Be able to identify the resource and documentation needs for a specified system that is to be tested.
Reading Required
Pressman, Chapter 8 and 10
Handout material
Related web sites
Tutorial/Practical Work
Case study material for Gas bills system
Identification of units and unit testing needs.
Material for LO 1 produced for portfolio
Weeks 5 & 6
Details
Comment
Subject Test strategies, test plans and testing techniques
Aims • To look at various testing strategies and see how these can be used in a test plan
• To investigate various testing techniques and see how these are related to the test plan
Lecture Content
Strategy: timing, justification and maintainability
Test plan: what is being tested and when, test data needs, expected outcomes
Testing techniques: black and white box testing, validation and verification.
Expected Learning
At the end of this lecture/topic the student will:
• Understand the various aspects of a testing strategy
• Be able to produce a test plan
• Be able to select and justify suitable testing techniques
• Be aware of the need for and application of validation and verification
Reading Required
Pressman chapters 17 and 18
Hand-out material
Tutorial/Practical Work
http://www.1daixie.com/liuxueshengzuoye/Practical testing work recorded for port folio evidence Produce material for LO 2 & 3 for portfolio
Week 7
Details
Comment
Subject Outcomes
Aims • To investigate the results of testing in terms of outcomes.
Lecture Content
Actual results:
valid output / operation
invalid output / operation
application generated fault reporting
system generated fault reporting
Expected Learning
At the end of this lecture/topic the student will:
• Understand the importance of applications being able to provide suitable output under both correct use and incorrect use.
• Be able to test the fault tolerance provisions that are built into an application
• Be able to utilise system generated messages as part of the testing process.
Reading Required
Pressman chapters 17 and 18
Hand-out material
Related web sites
Tutorial/Practical Work
Practical testing work recorded for port folio evidence Generate records of testing activity for portfolio LO3
Week 8
Details
Comment
Subject Preparation of portfolio of evidence
Aims • To receive directed guidance regarding the production of portfolios
Lecture Content
Individual help with portfolios
Expected Learning
• At the end of this lecture/topic the student will have identified any deficiencies in the portfolio in its current state and prepared a work plan for addressing the deficiencies
Reading Required
All handouts to date and the research material gathered from web sources
Identified chapters from Pressman
Tutorial/Practical Work Work on portfolio Generate records of testing activity for portfolio LO3
Week 9
Details
Comment
Subject Modifications
Aims • To emphasise the importance of making changes under strict control and with due consideration to the impact on previous and future testing
Lecture Content
Changes to specification, changes to analysis, changes to application design, changes to coding, alterations to test strategy and the test plan.
Expected Learning
At the end of this lecture/topic the student will:
• Understand the need for strict control and justification for any changes that are made either to correct errors or to react to changes introduced by the system specifier
• Be aware of the importance of version control especially where systems are being developed by a large team
• Be aware of the need to review the test plan, the testing strategy and testing techniques in the event of changes being made to the system
Reading Required
Research material gathered from web sources
Identified chapters from Pressman
Handout material
Tutorial/Practical Work
Review of programming design and implementation work being carried out and identification of any changes that are or need to be made. Produce suitable documentation
Generate records of testing activity for portfolio LO3
Week 10
Details
Comment
Subject Review and evaluation
Aims • To review and evaluate the testing work that has been done to date and to examine the documentation of this work.
• To investigate the impact that the testing activity might have on the management of a software project.
Lecture Content
Design and code walkthroughs.
Functionality evaluation in terms of accuracy, efficiency and effectiveness.
Testing strategy and testing validity.
Possible improvements.
Project management issues.
Expected Learning
At the end of this lecture/topic the student will:
• Understand and participate in design and code walkthroughs
• Be able to evaluate the functionality that has been provided in an application
• Be able to evaluate the appropriateness of the testing strategy used for a system and be able to determine the validity of the testing that has been done.
• Be able to identify and justify any improvements that could have been used in the testing activity that has been carried out
• Be able to appreciate the likely impact that testing as a whole can have on the management of a software project.
Reading Required Research material gathered from web sources
Identified chapters from Pressman
Handout material
Tutorial/Practical Work Work on portfolio Add work for LO4 to portfolio
Week 11
Details
Comment
Subject Review of portfolio
Aims • To answer any questions and fill any gaps
• To review the reading and research material that has been gathered
• To determine the completeness of the portfolio and identify any areas of weakness that need attention
Lecture Content
General discussions on the material covered.
The need for and material to be included in user documentation for a computer system.
Expected Learning
At the end of this lecture/topic the student will:
• Have reviewed and evaluated their portfolio and identified any areas where extra work has to be done
• Have consolidated their knowledge of software testing
Reading Required
All material used to date
Tutorial/Practical Work
Work on portfolio of evidence Material for all LOs
Week 12
Details
Comment
Subject Submission of portfolio and initial feedback
Aims • To get students to determine the grade that they think their work is worth
Lecture Content
Review and discuss portfolio content with individual students.
Expected Learning
At the end of this session the student will:
Be able to understand the role of testing in the production of software that is of a high quality and conforms to the requirements of the client.
Reading Required
Read through entire portfolio prior to submission for marking.
Tutorial/Practical Work
Completion and submission of portfolio of evidence.
Case Study: Gas Bill System
Tutorial task for week 2
A new system is required to produce gas bills.
Gas meter readings are to be gathered by meter readers who have a handheld that will have customer name and address with meter numbers pre-programmed into it for a days work. The meter reader will enter the reading/s for the meter/s.
At the end of the day, the meter reader will connect his handheld to a laptop via a USB cable and the day’s readings are to be downloaded to the laptop.
The laptop is to be connected to a telephone line using a dial-up connection that connects to the gas company’s main computer and the readings for the day are to be transferred to the main computer. The next day’s set of customer names and addresses and meter numbers are then downloaded to the laptop, which are then transferred to the meter reader’s handheld.
The system at the main computer is to be as follows:
Details of processes
Process A
The meter readings are checked to make sure that for every meter number there is a meter reading. Where a meter reading is missing the reading field is set to –999. The files, up to 10, are then merged into one file in customer number order.
Process B
Each record in the file produced by process A is checked for validity against the customer master file. Any errors are reported on a printed error report. Valid records are written to a valid record file.
Process C
Gas bills are calculated using the meter readings just obtained and the previous meter readings recorded in the customer master file. The customer master file is then updated and bill details are written to a print file.
Process D
The print file details are used to produce a printed gas bill ready for sending to the customer.
Process E
The customer master file is used to produce a file for each meter reader for their next day’s work based on the date of the previous billing date. Bills are produced every 3 months.
Tasks
1. This is the description of the new system that is required. Is it sufficient for a specification from which the new system can be built?
I代写留学生作业f it is not sufficient, determined by you carrying out a formal review, develop a suitable specification from which a design can be produced.
2. Carry out a formal review of the new specification and record the findings in
the form of an issues list.