Different kinds of tests correct answers Unit, Regression, Integration, System, End to End
Unit tests correct answers Tests on the smallest possible components of the system (fast to execute and isolate)
Regression tests correct answers run every time a modification is made to the system to m...
CPSC 310 Final Exam || Already Passed.
Different kinds of tests correct answers Unit, Regression, Integration, System, End to End
Unit tests correct answers Tests on the smallest possible components of the system (fast to
execute and isolate)
Regression tests correct answers run every time a modification is made to the system to make
sure things run as expected
Integration tests correct answers tests on modules of software that interact with each other
System tests correct answers tests on the entire system
End-to-end correct answers validate an entire customer flow to see if system behaves correctly
Black box testing correct answers - tester does not have any knowledge about the
implementation details for the SUT
- devised based on the specs of the SUT
Glass box testing correct answers - tester has knowledge of the system internals
- meant to verify the completeness of test suite
Problem with glass box testing correct answers suffer from confirmation bias as we already
know implementation details and may fail to notice edge cases
How do version tests eventually become regression tests correct answers - As system evolves,
current version of tests become older version and they are added to regression suite
- We still want to make sure these tests work
Test formation steps correct answers Setup: initial setup required before tests are run
Call: actual call to function being tested and manipulating SUT
Check: using assertions to check that system state is equivalent to what we expect
Why is line coverage inefficient correct answers Only tells us what lines in the code under test
are covered by written test suite
- Also need to know what paths and branches are being covered
What are Mock Objects correct answers - Allow us to mimic effects of client or server that we
may not have access or implementation details for
- Mock can simulate behavior of parts of system that are slow or not yet developed
Mutation testing correct answers - Pick random mutants that may be inserted into our code
- If we detect faults with these mutants, then we know we can detect many more faults
, What are the kinds of testability correct answers Observability, Controllability, Isolateability,
Automatability
Observability correct answers the extent to which the response of a SUT can be verified
- Can we actually observe system behaviour? Do we need methods to improve visibility?
Controllability correct answers the extent to which the SUT can be made to perform various
actions of interest
- If it is difficult to satisfy the requirements to invoke a function then we have low controllability
Isolateability correct answers the degree to which the element under test can be validated on its
own
- How well can we evaluate a specific piece of a system independent of the rest of the system?
Automatability correct answers the extent to which the test suite can execute programmatically
- If I make a change, will this change trigger deployment to run my test suite?
Why does TDD afford testability correct answers By writing tests first our system becomes more
testable
Four phase test correct answers - Set up test environment
- Execute code under test
- Evaluate the behaviour of the code under test
- Tear down test environment and clean up
Given-when-then correct answers - Tests should have human readable specifications and should
use plain language
- Simple sentences to help keep test methods focused and understandable
Fuzz testing correct answers Given program P, assume input I
- Generate inputs that can expose bugs or any unintended behaviour
- Random inputs can be generated to stress test a SUT
Random fuzzing correct answers simplest form, generate completely random inputs to a system
using no feed back to generate new inputs
Generator-based fuzzing correct answers write code that provides random inputs but still ensures
that requirements of SUT are met to some degree
Mutational fuzzing correct answers take an input we know works and perform mutations on that
input using external tools
Waterfall development correct answers - Each project phase flows into the next with explicit
stakeholder sign-off before phase begins
Stuvia customers have reviewed more than 700,000 summaries. This how you know that you are buying the best documents.
Quick and easy check-out
You can quickly pay through credit card or Stuvia-credit for the summaries. There is no membership needed.
Focus on what matters
Your fellow students write the study notes themselves, which is why the documents are always reliable and up-to-date. This ensures you quickly get to the core!
Frequently asked questions
What do I get when I buy this document?
You get a PDF, available immediately after your purchase. The purchased document is accessible anytime, anywhere and indefinitely through your profile.
Satisfaction guarantee: how does it work?
Our satisfaction guarantee ensures that you always find a study document that suits you well. You fill out a form, and our customer service team takes care of the rest.
Who am I buying these notes from?
Stuvia is a marketplace, so you are not buying this document from us, but from seller FullyFocus. Stuvia facilitates payment to the seller.
Will I be stuck with a subscription?
No, you only buy these notes for $11.99. You're not tied to anything after your purchase.