General Questions Flashcards
- What is software?
o Collection of computer programs, procedure, rules, associated documentation and data
o Describe various views of a system for various stakeholder
- Whom is it developed for?
o General – general market to be sold to multiple customers
o Customized – single customer according to their specifications
- Commonly accepted challenges in large software systems
o Complexity – software represents knowledge
o Non-functional requirements – work and documentation distribution
o Team development – work and documentation distribution
o Long-lived – reusable documentation
o Lay-users – they are not CS
- Goal Software Testing
o Increase quality of the software by o Match requirements o Few Faults o Reliable o Usable
- Role of Thumb cost of defect
o Specification 1x
o Implementation 10x
o Test 100x
o Production 1.000x
- Test requirements
o Specific things that must be satisfied or covered during testing
o Every statement might be a test requirement and must cover every functional requirement
- Test criterion
o Collection of rules and Processes that define test requirements over every statement and cover every functional requirement
- Validation
o Process of evaluating software at the end of software development to ensure compliance with intended usage
- Verification
o The process of determining whether the products of a given phase of the software development process fulfil the requirements established during the previous phase
- What is software testing
o Process of executing a software system to determine whether it matches its specification and executes in its intended environment
- Types of Testing
o Acceptance testing
Fulfil users and customers expectations
o Reliability testing
Tests reflect frequency of user input and reliability estimation
o Usability testing
Checks usability point of view
o Defect testing
Tests designed to discover system defects
o Compatibility testing
Application works with different configurated systems
o Performance testing
Evaluate and understand application scalability
o Stress testing
Test system beyond maximum designed load
- Testing levels
o Component (unit) testing
Testing individual program components
o Integration testing
Testing groups of components integrated to create a system or subsystem
o System testing
Testing the entire software in its expected environment
- Approaches to integration testing
o Top-Down testing
Start with high level system and replace individual components by stubs
o Bottom-up testing
Integrate individual components in levels until complete system is created
- Software fault:
o A static defect in the software
- Software error:
o An incorrect internal state that is the manifestation of some fault