IVI Test Engineer Interview Prep
Chapter 4 · Foundations

Testing basics (the ISTQB part)

The theory every tester is expected to know. ISTQB is the international testing certificate; the interviewer asked about it first. Everything here is explained with car examples.

BeginnerReading time: 50 minOften asked: ISTQB, STLC, test types, V-model
In very simple words
  • Testing = checking the product to find problems before the customer does.
  • A person makes an error → it becomes a defect in the code → you see a failure.
  • You can't test everything, so you test the most risky things first.
  • Testing has fixed steps: plan → design → run → report.

See it as a picture: Error → defect → failure · Testing process

What testing is, and why we do it

Simple idea

Testing means checking whether software does what it should, and finding problems before customers do. It also gives the team information to decide: "Is this software good enough to release?"

  • Testing finds defects so they can be fixed.
  • Testing builds confidence in the quality.
  • Testing gives information for decisions (release or not).
  • Testing prevents defects when done early (reviewing requirements before code exists).
  • In cars, testing also helps meet legal and safety standards (ISO 26262, UN regulations).

Error, defect, failure, root cause

ISTQB uses these four words very precisely. This is a favourite basic question.

  1. Error (mistake)A human does something wrong. The developer writes "≤ 5" instead of "< 5".
  2. Defect (bug, fault)The mistake stays in the code (or in a document).
  3. FailureWhen the code runs, you see the wrong behaviour: the snowflake appears at exactly 5.0 °C.
  4. Root causeThe deeper reason the error happened: the requirement was ambiguous, or the developer misread it.
Say this

"A person makes an error, which puts a defect in the code; when that code runs, we observe a failure. Testers observe failures and report them; developers find and fix the defect; and root cause analysis tries to stop the same error happening again."

The 7 testing principles (with car examples)

#PrincipleSimple meaningCar example
1Testing shows the presence of defects, not their absenceTests can prove bugs exist; they can never prove there are none1,000 passed tests don't mean the head unit has zero bugs
2Exhaustive testing is impossibleYou can't test every combination, so you choose smartlyEvery temperature × every language × every phone = impossible. Use BVA and risk
3Early testing saves time and moneyA bug found in the requirement is cheap; found after SOP it is very expensiveAsking "is 5.0 °C included?" during review costs 5 minutes
4Defects cluster togetherMost bugs are in a few areasIf Bluetooth had 40 bugs last release, test it harder in regression
5Tests wear out (pesticide paradox)Running the same tests again finds no new bugs; update themAdd new test data and new scenarios to the regression suite
6Testing is context dependentTest differently for different products and risksA brake warning is tested far more strictly than a wallpaper setting
7Absence-of-defects fallacyBug-free but useless software is still a failureA perfectly working menu that drivers can't find or use while driving
Say this: "How did ISTQB help you concretely?"

"It gave me structure and a common language. For example, I use boundary value analysis to pick a few strong test values instead of many random ones, I use risk and 'defects cluster together' to decide what goes into regression, and when I talk about 'confirmation testing' or 'severity' with colleagues in other countries, we mean exactly the same thing."

Verification vs validation

VerificationValidation
Question"Did we build the product right?""Did we build the right product?"
Checks againstThe specification / requirementsThe real user need
ExampleSnowflake appears below 5 °C exactly as the requirement saysDrivers actually notice the snowflake and understand it warns of ice

How software is developed: V-model and Agile

The V-model (very common in automotive)

Each design step on the left is checked by a test level on the right Customer requirements System requirements Architecture design Detailed design Coding Unit / component test Integration test System test (you!) Acceptance test checked by
Left side = building (design). Right side = testing. Your HMI testing against system requirements is mostly "system test".

Automotive projects also follow ASPICE (Automotive SPICE), a process standard based on this V shape. In simple words, ASPICE demands: every requirement has tests, every test traces back to a requirement, results are recorded, and work products are reviewed.

Agile and Scrum

Many teams now combine the V-model with Agile: small pieces delivered often. The most common Agile method is Scrum:

Scrum wordMeaning
SprintA fixed work cycle, usually 2 weeks
Product backlogThe ordered list of all work still to do
Sprint planningMeeting at the start: what will we do this sprint?
Daily stand-up15 minutes each day: yesterday, today, blockers
Sprint reviewShow what was built at the end of the sprint
RetrospectiveDiscuss how to work better next sprint
User storyA small feature: "As a driver, I want … so that …", with acceptance criteria
Definition of DoneChecklist a story must meet to count as finished (e.g. tested, no open critical bugs)

Test levels: who tests what, when

LevelWhat is testedUsually byCar example
Component (unit) testingOne small piece of code aloneDevelopersThe function that compares temperature with 5 °C
Component integration testingPieces of code working togetherDevelopers / integratorsTemperature module + icon module
System testingThe whole system against its requirementsTesters (you)The complete cluster on a HIL bench
System integration testingThe system together with other systemsIntegration testersHead unit + cluster + phone + other ECUs
Acceptance testingIs it acceptable for the customer / user?Customer, proxy teamThe OEM's acceptance tests before delivery

Test types: what kind of testing

TypeMeaning in one lineExample
FunctionalWhat the system doesPressing "next" plays the next song
Non-functionalHow well it does it (speed, stability, usability, security)Boot time < 10 s; no crash in 24 h
Black-boxTest from outside, based on requirements, without looking at codeAll your HMI tests
White-boxTest based on the code structureDeveloper checks every "if" branch is executed
Confirmation (retest)Check a fixed bug is really fixedRerun TC-03 on the fix build
RegressionCheck changes didn't break anything elseRerun temperature tests after the fix
SmokeQuick check that a new build is testable at allBoots, main screens open, no crash
SanityQuick narrow check of a specific changeJust the fixed Bluetooth reconnect
ExploratoryLearn and test at the same time, guided by experience30 min session "break the media player"
Ad-hocInformal testing without planningRandom clicking to see what happens
Positive / negativeValid inputs / invalid inputs and error conditionsCorrect PIN / wrong PIN
End-to-endA full user journey across systemsGet in car → phone connects → navigate home with music
PerformanceSpeed and timingCamera within 2 s
Endurance / soakLong run to find slow problems24 h music playback, memory leak
UsabilityEasy to understand and useDriver finds the setting within 3 taps
LocalisationCorrect for each language and countryGerman texts fit, date formats
CompatibilityWorks with different external devices20 phone models for Bluetooth
Smoke vs sanity (commonly confused)

Smoke: wide and shallow — "is the whole new build basically alive?" Done on every new build before other testing. Sanity: narrow and focused — "does this particular fix or change work?"

Static vs dynamic testing, and reviews

  • Dynamic testing: running the software and checking the behaviour (most of your work).
  • Static testing: checking without running anything — reviewing requirements, designs, test cases, code. Finds problems earliest and cheapest.

Review types, from informal to formal: informal review (a colleague has a look) → walkthrough (the author explains it to others) → technical review (experts discuss and decide) → inspection (formal, with roles, checklists and metrics).

Real example: reviewing a requirement

Requirement: "The snowflake shall appear below 5 °C and disappear above 4 °C." Review findings: (1) contradiction between 4 and 5 °C; (2) no reaction time given; (3) no behaviour defined for a sensor failure; (4) °F not mentioned. You raise these as review comments or questions before testing. This is static testing.

The test life cycle (STLC), step by step

This is the answer to "What is your process from requirement to delivery?" Learn the order.

PhaseWhat you doInputOutput
1. Requirement analysisRead and review requirements; ask questions; check testability in your environmentRequirements, specsQuestions list, testability notes
2. Test planningDecide scope, approach, resources, benches, schedule, risks, entry/exit criteriaRequirements, project planTest plan
3. Test analysis & designDecide what to test (test conditions) and design test cases using techniques; link to requirementsRequirements, test planTest cases, traceability, test data
4. Test implementation / environment setupPrepare bench, flash build, simulation config, test data, automation; smoke testBuild, test casesReady environment, test suites
5. Test executionRun tests, record results, raise defects, retest, regressionEverything aboveResults, defect tickets, logs
6. Test monitoring & reportingTrack progress and report status regularlyResultsStatus reports
7. Test completion (closure)Final report, lessons learned, archiveAll resultsTest summary report, release recommendation

What goes into a test plan

  • Scope: what will be tested and what will not (e.g. "HUD not in scope").
  • Test approach / strategy: manual vs automated, test levels, techniques, risk-based focus.
  • Test items: which software versions and hardware samples.
  • Environment: benches, tools, phones, licences.
  • Schedule and milestones, resources and roles.
  • Entry and exit criteria.
  • Risks and what to do about them.
  • Deliverables: test cases, results, reports.
  • Defect management: tools, severity definitions, workflow.

Entry and exit criteria

Entry criteria (when can testing start?)

Build delivered with release notes · smoke test passed · bench ready and correct build flashed · test cases reviewed · requirements baselined.

Exit criteria (when is testing finished?)

All planned tests executed · e.g. ≥ 95% pass · no open blocker/critical defects · majors have agreed workarounds · 100% coverage of safety requirements · test report delivered.

Writing a good test case

FieldExample
IDTC-TEMP-003
TitleSnowflake not shown at exactly 5.0 °C (boundary)
RequirementREQ-HMI-TEMP-012
PriorityHigh
PreconditionsBuild flashed; ignition ON; units °C; language English; outside temp 6.0 °C for 3 s
Steps1. In CANoe set Outside_Temp = 5.0 °C
2. Wait 2 s
3. Observe the cluster
Expected resultNo snowflake shown; temperature shows "5.0 °C"
Actual result / statusFilled during execution: Pass / Fail + evidence

Bad test case

"Check the snowflake works." — No values, no steps, no expected result. Two testers would test different things.

Good test case

Exact values, exact steps, one clear expected result, linked to a requirement. Anyone gets the same result.

Tips: one test case = one purpose; expected result must be measurable; write for someone who has never seen the feature; include the requirement ID.

Traceability (RTM)

Simple idea

Traceability = links between requirements, test cases, results and bugs. A Requirements Traceability Matrix (RTM) is a table showing these links. It answers: "Is every requirement tested?" and "Which tests must I rerun if this requirement changes?"

RequirementTest casesLast result (build 24.3.1)Defects
REQ-HMI-TEMP-012 (snowflake)TC-01, TC-02, TC-03, TC-04, TC-053 pass, 2 failIVI-1433
REQ-HMI-TEMP-013 (°F display)TC-06, TC-072 pass–
REQ-HMI-TEMP-014 (sensor fault)–not covered!–

The last row shows a coverage gap: a requirement with no test. Traceability tools (Polarion, DOORS, Jira Xray, Codebeamer) find these automatically.

Risk-based testing

Because you can't test everything (principle 2), you test the riskiest things first and most. Risk = likelihood that it breaks × impact if it breaks.

FeatureLikelihoodImpactRiskTesting effort
Speed displayLowVery high (legal, safety)HighAlways, thoroughly
Bluetooth reconnect (just rewritten)HighHigh (customers notice)HighThoroughly
Wallpaper selectionLowLowLowQuick check

Test metrics (numbers you report)

  • Execution progress: executed / planned (e.g. 180 / 200 = 90%).
  • Pass rate: passed / executed.
  • Defects by severity and status: e.g. 0 blocker, 2 critical open.
  • Requirement coverage: requirements with at least one test / all requirements.
  • Defect density: defects per feature or per size of code.
  • Defect leakage: bugs found later (by the customer) that testing missed.
  • Blocked tests and their reasons.

About the ISTQB Foundation certificate

  • Name: ISTQB Certified Tester Foundation Level (CTFL). Current syllabus: version 4.0 (2023).
  • Exam: 40 multiple-choice questions, 60 minutes, pass mark 65% (26 correct).
  • Topics: fundamentals, testing in the development life cycle, static testing, test techniques, test management, tools.
  • There is also an automotive extension: ISTQB Automotive Software Tester (CTFL-AuT) — nice to mention if you have or plan it.
If you don't have the certificate yet

"I haven't taken the exam yet, but I've studied the Foundation syllabus and I apply it: the test process, BVA and equivalence partitioning, risk-based prioritisation. I plan to take the exam by [month]."

Quick answers for the interview

What is the difference between a test plan and a test strategy?

A test strategy is the general approach for the organisation or project, like "risk-based, 60% automated, these test levels". A test plan is specific: for this project or release, what we test, how, with which people and benches, by when, and with which risks and exit criteria.

What is the difference between verification and validation?

Verification checks we built the product right, against the specification. Validation checks we built the right product for the user's real need.

What is the STLC?

The Software Testing Life Cycle: requirement analysis, test planning, test analysis and design, environment setup and implementation, execution with defect reporting, and test closure with the final report. Monitoring and reporting runs throughout.

What is the difference between smoke and sanity testing?

Smoke testing is a quick, broad check that a new build is stable enough to test at all. Sanity testing is a quick, narrow check that one specific fix or change works.

What are entry and exit criteria?

Conditions to start and finish a test activity. Entry: e.g. build with release notes delivered, smoke test passed, bench ready. Exit: e.g. all planned tests run, no open critical defects, required coverage reached, report delivered.