ISRO Scientist/Engineer SC (Computer Science) study materials
ISRO Scientist/Engineer SC (Computer Science) study resources

ISRO Scientist/Engineer SC (Computer Science): Software Engineering

ISRO Scientist/Engineer SC (Computer Science) · Work through your exam, one topic at a time.

All guide sections

Software Engineering

Software engineering tests process models, requirements, design, testing, metrics, estimation, risk, and quality management. Expect definition-based questions plus small calculations such as cyclomatic complexity or effort estimation.

Core rules and concepts

  • Waterfall is sequential; incremental and iterative models deliver slices; spiral is risk-driven; agile emphasizes working software and short feedback cycles.
  • Verification asks whether the product is being built right; validation asks whether the right product is being built.
  • Black-box testing uses specifications; white-box testing uses code structure. Statement, branch, and path coverage increase in strength but not monotonically in fault detection.
  • Coupling measures interdependence between modules (aim low); cohesion measures relatedness within a module (aim high).
  • Cyclomatic complexity for a connected control-flow graph is E−N+2P, where E is edges, N is nodes, and P is connected components.

Worked example

A control-flow graph has 9 edges, 7 nodes, and 1 connected component. Cyclomatic complexity = 9−7+2=4. This equals the number of independent paths and also the number of binary decisions plus one for a structured graph. A test set must exercise four independent paths to achieve basis-path coverage, though that does not guarantee all data-dependent faults are found.

Traps that cost marks

Equating alpha testing with developer testing and beta with customer testing without checking the definition; treating unit testing as integration testing; assuming 100% statement coverage implies 100% branch coverage; and mixing effort with schedule in COCOMO-style estimates. In design, low cohesion and high coupling are both undesirable.