Testing Basics Flashcards
software engineering
systematic development of software
5 stages of development
Specifications, Design, Implementation, Testing & Maintenance
Management Process
to Utilize resources, time and money
What are management processes
Planning, Review and Monitoring
To deliver high quality product
Software Engineering Principle
Time to Market
Software Engineering Principle
Increasing the Productivity of People
Software Engineering Principle
It is the testing engineers..
who can contribute significantly to the software quality
Many projects result in cost overrun or
time overrun or both
The software must meet all the quality requirements
Criteria for the success of a project
The software must be development within the time frame
Criteria for the success of a project
The software must be developed within the budget
Criteria for the success of a project
The relationship among the team members
Criteria for the success of a project
The most important requirement of a software product is that
it should meet the requirements of a customer
Characteristics of a software product can be divided into
Operational Characteristics, Transition Characteristics and Revision Characteristics
What are operational characteristics?
Correctness, Usability, Reliability, Safety and Security
What are transition characteristics?
Portability, Reusability and Interoperability
What are Revision characteristics?
Extensibility, Scalability and Maintainability
Test engineer needs to understand the..
quality requirement of the software to be tested
What are quality attributes of a software
Operational, Transitional and Revisional characteristics of a software
Time
To deliver a product within the time frame without compromising on quality
A software project is considered a success when
software meets the quality standards within time and budget and the execution goes smoothly without affecting the human relations
Test engineers should offer constructive criticism by suggesting how the software can be improved rather than just doing fault finding
Managing the relation between development and testing teams
Defines the various steps to be followed to convert the raw material into the finished product
PROCESS
Take the problem definition as an input and produces the software product
Software Process
Divided into various phases and in each phase a set of activities is carried out to arrive at the end product
Process of software development
Each phase in software development will have a
defined input and a defined output
Whether the solution considered to accomplish the requirements is practical and workable
feasibility study
Requirements of the client are obtained, analyzed, documented and validated
Requirements Engineering/Requirements Gathering phase
Inputs and Outputs of Requirements Engineering Phase
Problem Definition and SRS document
Input and Output of an implementation process
design document and source code
Metrics is also called
quantitative measures
SQA
Software Quality Assurance - ensures process definitions are followed strictly by the development teams
The effort for execution of a project is measured in
person month
72 PM
6 people work on a project for 1 year
Different CMMI Maturity Levels
Initial, Managed, Defined, Quantitatively Managed, Optimzing
What is the method to attain continuous improvement
Plan your work, Track your Work and Analyze your work
Testing the process to prove that the software doesn’t work correctly
Psychology of Testing
To ensure that the software meets the requirements of a customer
Validation
To ensure that the software conforms to specifications
Verification
Are we building the product right
Verification
Are we building the right product
Validation
Objective of testing
is to uncover as many bugs as possible
Three components of cost of quality
Failure Cost, Appraisal Cost and Prevention Cost
When is testing complete
When you run out of time, run out of money or when you meet the exit criteria
Constructive criticism
Test engineers need to provide constructive criticism to improve the quality of the software rather than finding fault with the developers
In this testing, the structure of the program is not considered at all
Black box testing
Statement coverage, path coverage, branch coverage is considered in
White box testing
Testing that decides whether the client approve of the product or not
Acceptance testing
A set of input parameters for which the software will be tested
test cases