Summary : Software & Quality Assurance

How to make a Quality Software

Pisit J.
Sum up As A Service
3 min readAug 22, 2020

--

Software Development Life Cycle

link

1. Requirements & Specifications

2. Design

All good things are well-design.

Good design is hard.

Bad design will collapse quickly.

link

Bad design cannot be rescued by Implementation.

Coupling

Measure of dependence of data & functionality on each other.

Low Cohesion = Independent to each other.

High Cohesion = Dependent to each other.

Cohesion

Measure of interdependence of data & functionality on each other.

High Cohesion = Related functions are in the same place.

Low Cohesion = Related functions are NOT in the same place.

Coupling & Cohesion

Low Coupling & High Cohesion = Good.

High Coupling & Low Cohesion = Bad.

3. Development

Coding Style

Consistency is Key.

When alternative exists, select one and enforce it !

In-code Documentation

Self-documenting code get updated dynamically.

Comments provide context that is not in code.

Both form of document are necessary.

4. Testing

Test Selection

Test Adequacy

Test-Driven Development (TDD)

By writing the tests first, you avoid some developer bias and give you a check when your code are done.

link

5. Deployment & Maintenance

CI/CD

link

--

--