Skip to main content
Institute of Advanced Technological and Commercial Studies

Resources

Software quality and testing

An automated test turns an intention into a permanent guarantee. It fixes the expected behaviour, checks it on every change, and makes it possible to revisit code written six months earlier with confidence.

What a test makes possible

Writing a test before the fix turns a symptom into a verifiable fact: the test fails, the cause is identified, the fix makes it pass, and the guarantee stays acquired for good. That is what lets a rotating team pick up code without its author. Version control keeps the history of every decision, code review circulates knowledge, and continuous integration replays the whole suite on every change.

  • A test that fails first: it proves the cause is really that one
  • One unit test per business rule, fast and isolated
  • One integration test per complete user journey
  • One code review per change, before merging
  • Continuous integration replaying everything, on every push

The four practices that reinforce each other

Version control

Every change carries its intent and its author. Finding out why a line exists becomes a one-minute question.

Code review

A second pair of eyes before merging. It spreads conventions far more effectively than a rulebook.

Design patterns

Named solutions to recurring problems. The shared name shortens the architecture conversation.

Layered architecture

Business logic separated from infrastructure. Changing database then stops being a whole project.

The programme that carries these practices

Software engineering and deployment occupy whole blocks, each with its own hour count. The table gives the real weight of every subject in the programme.

Teaching blockYearHoursCredits
Web foundations1200 h20
JavaScript and TypeScript1220 h22
Programming interfaces and data1160 h16
React applications and mobile development2240 h24
Deployment2140 h14
Cross-curricular base1-2120 h12
Project and placement2120 h12

Questions about testing

How many tests should I write?

As many as there are business rules, plus one per complete user journey. The right measure is this: after a change, the test suite is enough to decide whether the software ships.

Do tests slow development down?

They move the time: a few minutes when writing, against hours of diagnosis avoided at every revisit. On software maintained longer than three months, the balance reads very quickly in favour of testing.

What place does code review hold in assessment?

It is an assessed skill in its own right: you review a peer's work with the official grid, and the quality of your review counts towards validating the block. Reviewing teaches as much as producing.

Software quality and testing — Resources | IHETC — IHETC