31
20152016

2015 2016 - Herefordshire and Ludlow Collegewiki.computing.hct.ac.uk/_media/computing/hnd/hndu19_lecture09.pdf · User Help For assignment 3 you will need to design and implement

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 2015 2016 - Herefordshire and Ludlow Collegewiki.computing.hct.ac.uk/_media/computing/hnd/hndu19_lecture09.pdf · User Help For assignment 3 you will need to design and implement

2015‐2016

Page 2: 2015 2016 - Herefordshire and Ludlow Collegewiki.computing.hct.ac.uk/_media/computing/hnd/hndu19_lecture09.pdf · User Help For assignment 3 you will need to design and implement

Phil Smith 

Page 3: 2015 2016 - Herefordshire and Ludlow Collegewiki.computing.hct.ac.uk/_media/computing/hnd/hndu19_lecture09.pdf · User Help For assignment 3 you will need to design and implement

Today Learning outcomes – LO4 Testing procedures: test plans; test models eg white box, black 

box; test documentation; 

4.1 critically review and test an object oriented programming solution.4.2 analyse actual test results against expected results to identify discrepancies.4.3 evaluate independent feedback on a developed oop solution and make recommendations for improvements.4.4 create onscreen help to assist the users of a computer program.4.4 create documentation to support the implementation and maintenance of an OOP program.

Most of this you have done previously (unit 18)

So in brief

Page 4: 2015 2016 - Herefordshire and Ludlow Collegewiki.computing.hct.ac.uk/_media/computing/hnd/hndu19_lecture09.pdf · User Help For assignment 3 you will need to design and implement

Testing

The testing activity results in the actual, expected and difference between their results. In simple words testing is executing a system in order to identify any gaps, errors or missing requirements in contrary to the actual desire or requirements.

Page 5: 2015 2016 - Herefordshire and Ludlow Collegewiki.computing.hct.ac.uk/_media/computing/hnd/hndu19_lecture09.pdf · User Help For assignment 3 you will need to design and implement

Testing ANSI/IEEE 1059 According to ANSI/IEEE 1059 standard, testing can be defined as ‐

“A process of analysing a software item to detect the differences between existing and required conditions (that is defects/errors/bugs) and to evaluate the features of the software item”.

Yes there is an ANSI standard.

Page 6: 2015 2016 - Herefordshire and Ludlow Collegewiki.computing.hct.ac.uk/_media/computing/hnd/hndu19_lecture09.pdf · User Help For assignment 3 you will need to design and implement

TestingAn early start to testing reduces the cost, time to rework and produces error free software that is delivered to the client.

However in Software Development Life Cycle (SDLC) testing can be started from the requirements gathering phase and lasts until the deployment of the software.

Page 7: 2015 2016 - Herefordshire and Ludlow Collegewiki.computing.hct.ac.uk/_media/computing/hnd/hndu19_lecture09.pdf · User Help For assignment 3 you will need to design and implement

TestingBasically there are two categories of test that are of interest to us.

These are test models.

1. White box (I liken this to Quantitative testing)

2. Black box  (I liken this to Qualitative testing)

Page 8: 2015 2016 - Herefordshire and Ludlow Collegewiki.computing.hct.ac.uk/_media/computing/hnd/hndu19_lecture09.pdf · User Help For assignment 3 you will need to design and implement

TestingWhite box

Unit test. Tests the internals.

Trace paths through code Check variables initialised Check error conditions detected and handled

Black box: System test Assume you know nothing about the internals (cannot see the code).

Test to the described functions in the design specification, the onscreen instructions and the user expectations.

Page 9: 2015 2016 - Herefordshire and Ludlow Collegewiki.computing.hct.ac.uk/_media/computing/hnd/hndu19_lecture09.pdf · User Help For assignment 3 you will need to design and implement

Documenting testsBlack boxTest planTest scriptsProblem logsRelease to customer when complete.

White boxProgrammer’s notes or progress logRelease to component or system test when complete.

Page 10: 2015 2016 - Herefordshire and Ludlow Collegewiki.computing.hct.ac.uk/_media/computing/hnd/hndu19_lecture09.pdf · User Help For assignment 3 you will need to design and implement

Quantitative TestingQuantitative tests can be measured or assigned an actual value. This is sometimes called Usability engineering in the HCI world.

So how long (in seconds) does it take to login in or how many clicks of the mouse are needed to enter data into a page etc. Do calculations produce the correct results etc.

Page 11: 2015 2016 - Herefordshire and Ludlow Collegewiki.computing.hct.ac.uk/_media/computing/hnd/hndu19_lecture09.pdf · User Help For assignment 3 you will need to design and implement

Quantitative TestingUsually there are usability specifications given which provide a measuring concept and method.

For any assignment you will have to create your own measures and methods.

Page 12: 2015 2016 - Herefordshire and Ludlow Collegewiki.computing.hct.ac.uk/_media/computing/hnd/hndu19_lecture09.pdf · User Help For assignment 3 you will need to design and implement

Qualitative TestingHere the measures are subjective, they are measures where no values can be given.Here we need to measure –1.Effectiveness2.Efficiency3.Satisfaction.4.Meet the business need. (fulfil/exceed the specification)5.Is there a return on investment (ROI), is it based upon need and not nice to have?

Page 13: 2015 2016 - Herefordshire and Ludlow Collegewiki.computing.hct.ac.uk/_media/computing/hnd/hndu19_lecture09.pdf · User Help For assignment 3 you will need to design and implement

Qualitative TestingThis is usually best achieved using surveys or questionnaires (feedback forms).

For any assignment you will need to create a feedback form for colleagues to complete using your interface as the source.

Note: Avoid closed questions e.g. Yes/no answers etc.

Page 14: 2015 2016 - Herefordshire and Ludlow Collegewiki.computing.hct.ac.uk/_media/computing/hnd/hndu19_lecture09.pdf · User Help For assignment 3 you will need to design and implement

TestingFor any programming solution you will need to test your builds – against original specification,  working on build developer tests(working 

within a closed systems, quantitative)  user testing (working in wider system, 

qualitative) and to record your tests with evidence, (user feedback form).

Page 15: 2015 2016 - Herefordshire and Ludlow Collegewiki.computing.hct.ac.uk/_media/computing/hnd/hndu19_lecture09.pdf · User Help For assignment 3 you will need to design and implement

TestingTest plans, here is a sample of a test plan.

This is part of your test documentation.

Date Test Number

What is being tested

Expected outcome

Actual outcome

Pass or Fail

Evidence

screen

Shots?

Thumb nail screen 

shots

Page 16: 2015 2016 - Herefordshire and Ludlow Collegewiki.computing.hct.ac.uk/_media/computing/hnd/hndu19_lecture09.pdf · User Help For assignment 3 you will need to design and implement

Problem LogsAs well as creating test plans, you also need to manage any errors that may arise from the tests.

Any failing tests should be documented into a problem log so that the developer can find and apply relevant fixes.

The original test must then be tested again to ensure is passes,

This process continues until all tests have been passed.

Page 17: 2015 2016 - Herefordshire and Ludlow Collegewiki.computing.hct.ac.uk/_media/computing/hnd/hndu19_lecture09.pdf · User Help For assignment 3 you will need to design and implement

ProblemLogsHere is a sample of a problem log.

This is part of your test documentation.

Problem number

Date Test Number

Whatwas being tested

Detailsof failure

Fix applied

Evidence

screen

Shots?

Thumb nail screen 

shots

Page 18: 2015 2016 - Herefordshire and Ludlow Collegewiki.computing.hct.ac.uk/_media/computing/hnd/hndu19_lecture09.pdf · User Help For assignment 3 you will need to design and implement

Problem LogsSometimes problem logs are call issue logs.

Testing is usually managed using specialist software.

Hint: for assignment 3 you will need to include a problem log!

Page 19: 2015 2016 - Herefordshire and Ludlow Collegewiki.computing.hct.ac.uk/_media/computing/hnd/hndu19_lecture09.pdf · User Help For assignment 3 you will need to design and implement

TestingYou will need to write a critical review of tests performed and how they relate to business requirements along with expected against actual outcomes for each test.

Do not forget to test any validation rules used.

What to test? Pretty much everything you have implemented.

Page 20: 2015 2016 - Herefordshire and Ludlow Collegewiki.computing.hct.ac.uk/_media/computing/hnd/hndu19_lecture09.pdf · User Help For assignment 3 you will need to design and implement

Other factors for testing1. There may also be organisational requirements –2. Development standards.3. User documentation

1. User manual (see next)2. Built in Help (Other units – Unit 18)3. Use of pop‐ups (tool tips etc.)

Page 21: 2015 2016 - Herefordshire and Ludlow Collegewiki.computing.hct.ac.uk/_media/computing/hnd/hndu19_lecture09.pdf · User Help For assignment 3 you will need to design and implement

Helping our userscreate onscreen help to assist the

users of a computer program (L04 – 4.4)

We have already done this in unit 18!

But our interface will be different even though the concepts remain the same.

Page 22: 2015 2016 - Herefordshire and Ludlow Collegewiki.computing.hct.ac.uk/_media/computing/hnd/hndu19_lecture09.pdf · User Help For assignment 3 you will need to design and implement

User Help There are many types of user who may be using our programs.

1. Novice user2. Intermediate user3. Expert user4. Casual user5. etc

We need to cater for these different users in different ways based upon their expectations of your software etc.

Page 23: 2015 2016 - Herefordshire and Ludlow Collegewiki.computing.hct.ac.uk/_media/computing/hnd/hndu19_lecture09.pdf · User Help For assignment 3 you will need to design and implement

User Help So we have distinct groups of users –

If we provide comprehensive help in the main program interface then our experienced users will not be happy.

If there is little help then our inexperienced users will struggle to use our interface.

So we shall need to find a balance for the help we provide to satisfy most of our users.

Page 24: 2015 2016 - Herefordshire and Ludlow Collegewiki.computing.hct.ac.uk/_media/computing/hnd/hndu19_lecture09.pdf · User Help For assignment 3 you will need to design and implement

Type of help We can provide help information in several ways. This can be give the user everything about usage of the controls on the form in one big pdf document?

Any good?

Better is to produce some form of context sensitive help. So when a user needs help for a specific control/function/option they can get specific help just on that aspect.

Better?

Page 25: 2015 2016 - Herefordshire and Ludlow Collegewiki.computing.hct.ac.uk/_media/computing/hnd/hndu19_lecture09.pdf · User Help For assignment 3 you will need to design and implement

Type of help Help provided for our Gui application is going to be implemented differently than our console based application in unit 18.

Because the interface is different.

For a GUI based application the user can be more selective with the help they need.

Page 26: 2015 2016 - Herefordshire and Ludlow Collegewiki.computing.hct.ac.uk/_media/computing/hnd/hndu19_lecture09.pdf · User Help For assignment 3 you will need to design and implement

User Help For assignment 3 you will need to design and implement a 

simple help system into your existing (Zimbuye) solution.

You will need to provide general and context sensitive help.

We can do this using different techniques – i.e.

1. Via a tool bar providing help options the user can select.2. By making use of tool tips when a user hovers over a control.3. By providing help buttons the user can click on.4. Or an combination of the above.5. You could write a complete help system but this would take more 

time than we have available.6. etc

Page 27: 2015 2016 - Herefordshire and Ludlow Collegewiki.computing.hct.ac.uk/_media/computing/hnd/hndu19_lecture09.pdf · User Help For assignment 3 you will need to design and implement

User Help Task –

Design and implement a help system in your simulation software.

You can hard code the help text or load it in from files or what ever you think would enhance the quality of your software package.

Make sure you design the solution.

You may want to try proof of concept updates to a copy of your software.

Page 28: 2015 2016 - Herefordshire and Ludlow Collegewiki.computing.hct.ac.uk/_media/computing/hnd/hndu19_lecture09.pdf · User Help For assignment 3 you will need to design and implement

Technical Manual The technical manual must contain enough detail to inform another programmer with what they need to know to take your program further.

They need to know – the code. The data. The variables. The control structures.

The current version number with date must be included. Any external program requirements must also be documented e.g. files and the data format.

Page 29: 2015 2016 - Herefordshire and Ludlow Collegewiki.computing.hct.ac.uk/_media/computing/hnd/hndu19_lecture09.pdf · User Help For assignment 3 you will need to design and implement

Technical Manual The technical manual is in addition to the program code.

A table of contents is required. Code snippets from the program must be included as screen shots where needed. (and captioned).

The manual is written for a programmer to read.

Page 30: 2015 2016 - Herefordshire and Ludlow Collegewiki.computing.hct.ac.uk/_media/computing/hnd/hndu19_lecture09.pdf · User Help For assignment 3 you will need to design and implement

FinallyThat’s it, no more teaching for this unit.

Just assignment 3 to do.

Page 31: 2015 2016 - Herefordshire and Ludlow Collegewiki.computing.hct.ac.uk/_media/computing/hnd/hndu19_lecture09.pdf · User Help For assignment 3 you will need to design and implement

Summary

What have we learnt today?