1/49
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai |
|---|
No analytics yet
Send a link to your students to track their progress
What is the primary definition of software quality according to IEEE?
The degree to which a system meets specified requirements and customer needs.
Which of the following is NOT one of the nine causes of software errors?
Poor database performance.
In testing terminology, what is a 'fault'?
The mechanical or algorithmic cause of an error (bug).
What are the three main testing levels discussed in the lectures?
Unit, integration, system.
Which testing approach requires knowledge of the internal code structure?
White-box testing.
What is the main goal of unit testing?
To confirm individual components are correctly coded and functional.
In integration testing, what is a 'stub'?
A temporary replacement for a called module returning fake values.
Which integration testing strategy needs drivers but not stubs?
Bottom-up integration testing.
Which development model treats construction as a strictly sequential phase after design and requirements?
Waterfall.
What is a key characteristic of Test-Driven Development (TDD)?
Write tests first, then minimal code to pass them.
Which methodology uses sprints, daily stand‑ups, and a product backlog?
Scrum.
In the V‑Model, each development phase is paired with:
A corresponding testing/verification phase.
Which of the following is a Lean principle?
Eliminate waste.
What is the main goal of Extreme Programming (XP)?
Improve quality and respond quickly to changing requirements.
Minimizing complexity in construction mainly emphasizes:
Simple, readable code and modular design.
'Constructing for verification' means:
Building software so faults can be easily found by engineers and testers.
Construction standards directly influence:
Communication, coding conventions, platform interfaces, and tools.
Construction planning defines, among other things:
The order components are built and integrated, and integration strategy.
In SCM terminology, what is a 'version'?
An instance of a system functionally distinct from other instances.
What is a baseline?
A formally reviewed product/spec that becomes the basis for further development and changes only via change control.
Configuration management planning defines:
What documents/items are managed, naming schemes, responsibilities, policies, and records.
Change management in SCM is mainly concerned with:
Tracking change requests and ensuring cost‑effective implementation.
Why is Continuous Integration important?
It detects defects early by integrating and building whenever code changes.
A 'broad build' in CI typically includes:
Compile, run tests, inspect code, maybe deploy to a test environment.
Which tool is commonly used as a CI server?
Jenkins.
In Continuous Delivery, the deployment pipeline aims to:
Automate tests and deployment steps to make release nearly a 'one-click' operation.
Proper CI practice suggests developers should integrate their work:
At least daily.
Code tuning focuses on:
Small‑scale changes to improve performance of already correct code.
Moving a conditional from inside a loop to outside it is called:
Unswitching.
'Jamming' (loop fusion) is:
Combining two loops over the same range into one to reduce loop overhead.
Loop unrolling mainly reduces:
The number of loop control operations per element.
Replacing multiplications by repeated additions in a loop is an example of:
Strength reduction.
Refactoring is defined as:
Improving internal structure without changing externally observable behavior.
Which of the following is NOT a good practice when refactoring?
Skipping tests to save time.
'Code smell' refers to:
A surface symptom that suggests a deeper design problem.
A major risk of refactoring is:
Introducing regressions into previously working functionality.
JUnit is:
A unit testing framework for Java.
Which annotation marks a test method in JUnit?
@Test.
The @Before annotation in JUnit means:
Run before each test method.
Which JUnit assertion checks equality of expected and actual values?
assertEquals.
A main advantage of automated tests is:
They can run quickly and repeatedly with precise, programmable checks.
'Coupling' measures:
Interconnectedness/dependence between modules.
'Cohesion' measures:
How related responsibilities inside a module are.
The design goal regarding coupling and cohesion is:
Low coupling, high cohesion.
The Law of Demeter restricts:
How deep a method’s call chain should go (only talk to friends, not strangers).
In CMM Level 2 (Repeatable), which type of processes become established?
Basic project management processes (planning, tracking, requirements management).
Using a lookup table instead of a long if‑else chain primarily trades:
Memory for speed.
'Lazy evaluation' in code tuning means:
Deferring computation until the value is actually needed.
A CI process that compiles, tests, inspects, and deploys provides:
Automated, cheap quality gates with fast feedback.
The purpose of a stub in integration testing is to:
Simulate a dependent module so the caller can be tested before the real dependency exists.