Gg Flashcards
difference between testing and debugging
Testing can trigger failures in dynamic testing /static testing ., then debugging deals with it
debugging involves (3)
Reproduction of a failure • Diagnosis (finding the root cause) • Fixing the cause
Subsequent confirmation testing checks…
the fixes resolved the problem
Subsequent regression testing
to check whether the fixes are causing failures in other parts
When static testing identifies a defect, debugging….
concerned with removing I, no need to reproduce
when dynam testing triggers a failure debugging has to
has to find the cause, analyze and eleminate
Testing is a form of quality control (QC). QC is…
product oriented, supporting the achievement of appropriate levels of quality
QA is
a process-oriented,preventive approach,improvement of processes
how QC uses test results…
used to fix defects
how QA uses test results…
provide feedback
errors and defects are cause of …
failures
A root cause is a…
reason for the occurrence of a problem
Root causes are identified through..
root cause analysis
when root cause analysis is performed?(2)
when a failure occurs defect is identified.
testing principles(7)
1 testing shows presence of defects 2 testing everything impossible (exhaustive testing) 3early testing saves time and money 4Defects cluster together. 5. Tests wear out 6Testing is context dependent. 7Absence-of-defects misconception
to overcome the wear out of tests…
existing tests and test data may need to be modified, and new tests may need to be written
testing activities(7)
1planning 2monitoring/control 3analysis 4design 5implementation 6execution 7completion
Testware is created as
output work products from the test activities
to implement effective test monitoring and control
establish and maintain traceability
test management role takes overall responsibility for
test process,
test management role is mainly focused on the activities of
test planning, test monitoring and control and test completion
testing role takes overall responsibility for the
engineering (technical) aspect of testing.
testing role is mainly focused on the activities of
test analysis, test design, test implementation and test execution
whole-team approach
any team member with the necessary knowledge and skills can perform any task, and everyone is responsible for quality.
In sequential development testers
participate in requirement reviews, test analysis, and test design.
in iterative and incremental development models testing
each iteration both static and dynamic testing
manual testing tends to be done using
experience-based test techniques that dont require prior test analysis and design.
good practices in any SDLC (4)
1.For every software development activity-corresponding test activity 2.Different test levels - different test objectives, 3.Test analysis and design in early testing 4.Testers are involved in draft documentation
TDD
Directs the coding through test cases, tests written first
ATDD
Derives tests from acceptance criteria, Tests are written before the part of the application
BDD
test cases written in natural language first
DevOps promotes
CI / CD
Although DevOps comes with a high level of automated testing, manual testing…
will still be needed.
shift left?
early testing in SDLC
Retrospectives?
end of a project or an iteration meetings
Results after retrospective…
part of the test completion report
test levels-
groups of test activities that are organized and managed together.
Each test level is
instance of the test process
sequential SDLC models, the test levels
defined such that the exit criteria of one level are part of the entry criteria for the next level.
Test types are
groups of test activities related to specific quality characteristics
test levels (5)
componenet component integration system system integration acceptance
component Testing level
tesing components in isolation
component integration testing level
testing interfaces and interactions between components
System Testing level
overall behavior and capabilities of an entire system
system integration Testing level
testing the interfaces of the system under test and other systems and external services
acceptance Testing level
demonstrating readiness for deployment,
system testing level includes (2)
1.functional testing of end-to-end tasks 2.the non-functional testing of quality characteristics
acceptance testing level forms(5)
- UAT testing 2. operational 3. regulatory 4.alpha 5.beta
Test levels are distinguished by attributes (5)
test obejct test objective basis defects approach/responsibilities
test types (4)
functional non functional black box white box
f. Testing type
evaluates the functions that a component or system should perform ‘what’ object should do
n.f.testing type
non-functional software quality characteristics.“how well the system behaves”
black box Testing type
specification-based
white box Testing Type
structure-based
confirmation tesing
original defect has been successfully fixed
how to do confirmation test (2)
1.executing all test cases that previously have failed 2.adding new tests to cover any changes
after maintenance regression testing makes sure that…
no adverse consequences have been caused by a change. including a fix that has already been confirmation tested.
before regression test
perform impact analysis
maintenance involve what realeases?
planned releases and unplanned(hotfix)
before maintenance change is made need to do
impact analysis
testing the changes to a system in prod includes(2)
1evaluating success of implement of change 2checking for regression in parts that didnt change
scope of maintenance depends on (3)
1degree of risk 2size of system 3size of change
triggers for maintenance (3)
1modifications 2upgrades/migrations 3retirement of sys
after retirment/archiving the sys, testing of ….needed
restore and retrieval procedures
work products are evaluated through…
manual examination (reviews)
static t. objectives
improving quality, assessing characteristics like readability, completeness,
static t, can be applied to v…and v…
verification and validation
the Definition of Ready Review techniques
to ensure user stories are complete and understandable and include testable acceptance criteria.
Static analysis can identify problems prior to
dynamic test.
during static analysis we use
no test cases are required, and tool are typically used.
Almost any work product can be examined using
static t
work pr testing with static t. needs to
work products need a structure against which they can be checked
Work products that are not appropriate for static testing
that are difficult to interpret by human beings and that should not be analyzed by tools ( legal reasons).
value of static t.
detect defects early and defects which cannot be detected by dynamic testing
difference between static and dynamic(5)
- both detect defects but of diff types can be found by either 2. static finds defects directly while dynamic causes failures 3.static find decets that lay on paths through the code that are rarely executed 4. static to non executable work products 5.static measure quality characteristics that are not dependant on executing code
defects that are easier to find through static testing(7)
req def design def coding def deviations of stand security vulnerab gaps in test coverage
ISO/IEC 20246 standard defines a
review process
activities in the review process(5)
planning review initiation individual review communication and analysis fixing and reporting