munotes®

System Testing and Acceptance

Get access to whole semester resourcesSemester Pass

Chapter Fifty-Four

Syllabus topic Module 2, "Integration & System Testing", its last level: the whole system against the SRS, and acceptance by its users.

Pages 373 to 377 of 499

In one line

System testing asks whether the whole thing, deployed as it will be used, does what the SRS says, requirement by requirement, including the ones no unit test can reach: how it looks on a phone, whether a person can use it, and whether it works in the browsers people have; acceptance testing then puts it in front of the people who asked for it.

In the wording to use when asked: system testing evaluates the complete, integrated system against the specified requirements, functional and non-functional, in an environment as close to the operational one as possible; user acceptance testing is conducted by or on behalf of the users to determine whether the system satisfies their needs and is fit for its purpose, and its outcome is a decision to accept, accept with conditions, or reject.

What is left to test

By this point the suite covers every rule, every route and every refusal. Four things remain, and every one of them is a requirement:

RequirementWhy the suite cannot answer it
NFR-7: usable at 320 CSS pixels, an order in 4 taps, a single tap at the counterit is about a rendered page, not a response
NFR-8: labels, contrast, target size, keyboardthe same, and partly about what a person perceives
NFR-9: current Chrome, Firefox, Safari, Edge, and the appit is about other browsers
NFR-12: installs on Windows, macOS and Linuxit is about other machines

And one more thing no test of any kind can answer: will the canteen use it?

Testing the whole system against the SRS

System testing walks the SRS from FR-1 to FR-17 and NFR-1 to NFR-12 on the deployed system, doing each thing the way its user will. The worked team did it on the lab desktop between 6 and 12 October, from a written list of cases (Chapter 55), and recorded a result against every requirement, which becomes the last column of the traceability matrix.

Two habits make it worth the days it takes:

  • Use the system as its user does, on the device they will use: the counter's tests on the counter's tablet, the student's on a phone.
  • Do the whole job, not the step. "Place an order, then collect it" crosses four requirements, two roles and a status change, and that is where the seams are.

It was this, and not the 117 automated tests, that found the defect of Chapter 56: a refusal that read "Only 2 Chicken Biryani left. 3 2", because nothing until then had looked at a sentence a student reads.

Measuring NFR-7 and NFR-8

These two are requirements with numbers in them, so they are measured, not judged. Every page was opened in a browser at 320 and 390 CSS pixels wide, signed in as the person who uses it, and measured:

munotes.in373

System Testing and Acceptance

PageSideways scroll at 320Fields with a labelSmallest text contrastSmallest target
Sign innone5 of 57.31 to 145 px
Menunone1 of 16.93 to 124 px
My ordersnonenone on the page6.78 to 118 px, see below
Counternone1 of 17.31 to 124 px
Ownernone49 of 496.78 to 113 px, see below
  • Reflow (SC 1.4.10). At 320 pixels every page's content is exactly 320 wide: nothing has to be scrolled sideways, on any page, at either width.
  • Labels (SC 3.3.2). Every field on every page has one, the owner's 49 included: those are the price, stock and availability controls of each menu item, built by the page's script, which is exactly where a label is easiest to forget.
  • Contrast (SC 1.4.3). The lowest anywhere is 6.78 to 1, half as much again as the 4.5 the requirement asks for. It is the grey hint text, which is the text an author is most tempted to make too light.
  • Taps (NFR-7). From the menu page, a one-item order is two taps, the item's plus button and Place order, because the first open slot is already chosen; choosing another slot makes four. The limit is four.
  • The counter's single tap (NFR-7). Every action on the counter's screen is one button: Start preparing, Mark ready, Collected and paid, Not collected. Nothing there is typed.

The two targets under 24 pixels

A measurement that flags something is not a failure until the standard says so. SC 2.5.8 asks for 24 by 24 CSS pixels except in five cases, two of which apply here:

  • "See the menu", 100 by 18 pixels, on the orders page. It is a link inside the sentence "No orders today yet. See the menu.", whose line height is 24 pixels. The criterion's Inline exception covers a target "in a sentence or its size is otherwise constrained by the line-height of non-target text".
  • The owner's checkboxes, 13 by 13 pixels. The stylesheet deliberately leaves checkboxes as the browser draws them, which is the User Agent Control exception, "the size of the target is determined by the user agent and is not modified by the author". And in practice the target is larger anyway: each box sits inside a label measuring 92 by 44 pixels, and tapping the label toggles the box.

The honest way to record this is not to ignore the two numbers, and not to change the design to chase them, but to write both in the test report with the exception each relies on, so that a reader can check the reasoning. The rest of the page's targets have room to spare: the stepper's plus and minus are 44 by 44, Place order is 324 by 45, and the header's links are exactly 24 tall.

munotes.in374

System Testing and Acceptance

The keyboard (SC 2.1.1)

Every action must work from a keyboard, which for a page built this way means: every clickable thing is a real button or a real link. The pages' scripts attach every click handler to a button element, and nothing sets a tabindex. So the Tab key reaches every control in the order they appear, Enter and Space activate them, and the focus ring of Chapter 40's stylesheet shows where you are.

Testing the browsers (NFR-9)

Four browsers, and the Android app, each doing the same short list: sign in, order, see the order, and the counter's screen moving it on. What differs between browsers is rarely the logic; it is layout, dates, and whichever CSS feature is newest. The worked team ran the list on Chrome and Firefox on Windows, Safari on the MacBook, Edge on a lab machine, and the APK on two phones (Chapter 59), and recorded each as a line in the report.

Acceptance testing

Everything above is the team testing its own work. Acceptance testing is the users deciding, and it is a different thing: not "does it do what the SRS says" but "will we use this".

The worked team's session, at the canteen after the break on Friday 9 October, with Lata Pawar and Ganesh More, and the head cook watching:

WhatWhoResult
A1Set the day's stock for every itemthe ownerdone in four minutes, no help
A2Take twelve real pre-orders from students in the queuestudentsall twelve placed; one student ordered on the Android app
A3Work the counter through a whole slotGaneshall twelve moved to collected; the list refreshed itself
A4The kitchen list for the 12:40 slotthe head cookmatched what the counter had told him by voice
A5Read the day's reportthe ownertotals matched the cash in the drawer

What it found, which is what acceptance testing is for:

  • Ganesh asked for the order number to be bigger on the counter's list: at arm's length on a tablet, he was reading it twice. It was changed the same afternoon, and now draws at 24 pixels against the student name's 18.
  • The owner wanted the stock page to open on today's items only, which it already did; she had been looking at the menu page. A wording change, not a code change: "Menu and today's stock" became the heading.
  • The head cook asked whether he could have the kitchen list on paper. Out of scope, recorded in the report's limitations as the first thing a next version should do (Chapter 73).
munotes.in375

System Testing and Acceptance

The result: accepted. The owner agreed to run it for the rest of the term, which is the sentence that matters, and it goes in the report.

Two rules for a session like this. Watch, do not help: the moment you reach over and tap it for them, you have learned nothing. And write down what they say in their words, not your summary of it: "I have to read the number twice" is a finding, "minor UI issue" is not.

Do this for your project

  1. Walk your SRS, requirement by requirement, on the deployed system, doing each thing as its user would.
  2. Measure the requirements that have numbers, and write the numbers down.
  3. When a measurement flags something, read the standard before you call it a defect or change your design.
  4. Test the browsers and devices your users have, not only yours.
  5. Put the system in front of its real users, let them use it unaided, and watch.
  6. Record every finding in the user's own words, and what you did about it.
  7. Get the acceptance in writing, even if it is one line in an email.

Mistakes that cost marks

System testing by the person who wrote the code, on their own laptop, in the browser they develop in.

"It works on my phone", with no width, no browser and no number.

Ignoring a measurement that fails, or changing the design to chase a number without reading the criterion's exceptions.

Acceptance testing with the team driving, so the users watch a demonstration and agree to a system nobody tried.

No record of what the users said, so the report's "the client was satisfied" is the team's word for it.

Finding out on the examination day that the college's Edge draws one page differently.

Quick revision

  • System testing: the whole thing, deployed, against every requirement, as its user would.
  • What only it can reach: NFR-7 (320 px, taps), NFR-8 (labels, contrast, targets, keyboard), NFR-9 (browsers), NFR-12 (machines).
  • Measure, then read the standard: SC 2.5.8 has five exceptions, of which Inline and User Agent Control applied here.
  • Measured: no sideways scroll at 320; every field labelled; lowest contrast 6.78 to 1; an order in 2 taps; the counter's actions one tap each.
  • Acceptance testing is the users deciding: watch, do not help; record their words; get the acceptance written down.

Questions you must be able to answer

1. What does system testing add to unit and integration testing? It tests the whole system, deployed as it will be used, against every requirement, including the ones no automated test can reach: how the pages behave at a phone's width, whether a person can operate them, whether they work in other browsers, and whether the system installs elsewhere.

munotes.in376

System Testing and Acceptance

2. How were NFR-7 and NFR-8 measured rather than judged? Each page was opened in a browser at 320 and 390 CSS pixels, signed in as its user, and the page's own measurements were read: the width of its content against the window, whether every field has a label, the contrast of each text colour against its background by WCAG's formula, and the size of every target.

3. Two targets measured less than 24 by 24 pixels. Why is neither a failure? Because SC 2.5.8 lists exceptions. The link measuring 100 by 18 is inside a sentence, which the Inline exception covers. The 13 by 13 checkbox is drawn by the browser and not styled by the author, which the User Agent Control exception covers; and its label, which also toggles it, measures 92 by 44.

4. What is the difference between system testing and acceptance testing? System testing is the team checking the system against the specification. Acceptance testing is the users deciding whether they will use it, doing their own work with it, and its outcome is a decision rather than a pass or fail against a document.

5. Why should the team not help during an acceptance session? Because the thing being tested is whether the users can use the system without the team. Every time a developer reaches over and taps, a finding is lost, and the same difficulty will appear when nobody is there to help.

6. What did acceptance testing find in the worked project that no test had? That the order number on the counter's list was too small to read at arm's length on a tablet during service, and that a heading misled the owner about where to set the stock. Both came from watching real people do their own work.

munotes.in377

The rest of this subject

These notes are cut from the University's printed syllabus. Open the syllabus itself for the same subject.

Issue
Done!