Defination:
Software testing is a process used to identify the correctness, completeness and quality of developed computer software.
A set of activities conducted with the intent of finding errors in software.
Example :coffe vendor machine
Check if
Correct Labels are present for the appropriate dispenser (Coffee, Tea, Milk, Hot water, etc).
The selected option has an indicator. (E.g. glowing light)
Correct content is dispensed when we press the corresponding option.
There is an indicator to indicate the decrease in water level.
Display of relevant messages.
Why testing?
To verify that all requirements are implemented correctly (both for positive and negative conditions)
To identify defects before software deployment
To help improve quality and reliability.
To make software predictable in behavior.
To reduce incompatibility and interoperability issues.
To help marketability and retention of customers.
QA
QA (Quality Assurance) involves all activities from design, development, production, installation, servicing, documentation, Verification and validation. They are also involved in internal audits and walkthroughs. It is Process Oriented.
Quality Assurance is assuring the quality of the product that is to be finally developed.Quality of a product can be achieved by meeting all the standards that were assured prior to the development.
Assurance is always done prior to the process that is to be followed for the development.
So Quality Assurance is the surity of following a “Quality Process” which will finally result in a “Quality Product”.
SDLC VS STLC
V-MODEL
STLC
Requirements Capture
ACTIVITIES
Interview stakeholders.
Elicit Business objectives and constraints.
Study Software requirements and existing Test process
Deliverables
Test Requirements Documen
ANALYSIS
Requirements testability review
Test effort estimation
Test Strategy & Approach planning (Including consideration for test phases, location, environment, Automation etc.)
Deliverables
System Requirement Specification
User Acceptance Plan
System Test Plan
Planning& Design
Create detail Test plans for each type of testing.
Create Test Traceability Matrix.
Document Test scenarios and dependencies (including data).
Define various project metrics (Quality and Testing).
Deliverables
Integrated Test Plan
Unit Test Plan
Test Case Development
Create test cases, scripts, review and approval by client
Automate scripts, if required
Modify existing test data, or create data.
Setup test environment
Baseline test cases and scripts
Deliverables
Test cases.
Scripts.
Data.
Environment
Execution
Test the environment and connectivity
Perform smoke test on the build
Execute tests as per plan
Update test plans, if necessary
Document test results, and log defects for failed case.
Deliverables
defect report
Test Cycle Closure
Evaluate cycle completion criteria based on test coverage
Time
Cost
Software Quality
Critical Business Objectives
Test cycle completion report
Deliverables
Test Closure report
Basic Forms
static -Verification .
Dynamic -Validation.
Black Box Testing is testing without knowledge of the internal workings of the
item being tested. For example, when black box testing is applied to software
engineering, the tester would only know the “legal” inputs and what the expected
outputs should be, but not how the program actually arrives at those outputs. It is
because of this that black box testing can be considered testing with respect to the
specifications, no other knowledge of the program is necessary. For this reason,
the tester and the programmer can be independent of one another, avoiding
programmer bias toward his own work. For this testing, test groups are often used,
“Test groups are sometimes called professional idiots…people who are good at
designing incorrect data.” 1 Also, do to the nature of black box testing, the test
planning can begin as soon as the specifications are written. The opposite of this
would be glass box testing, where test data are derived from direct examination of
the code to be tested. For glass box testing, the test cases cannot be determined
until the code has actually been written. Both of these testing techniques have
advantages and disadvantages, but when combined, they help to ensure thorough
testing of the product.
Advantages of Black Box Testing
more effective on larger units of code than glass box testing
tester needs no knowledge of implementation, including specific programming
languages
tester and programmer are independent of each other
tests are done from a user’s point of view
will help to expose any ambiguities or inconsistencies in the specifications
test cases can be designed as soon as the specifications are complete
DISADVANTAGE
cannot be directed toward specific segments of code which may be very complex
(and therefore more error prone)
most testing related research has been directed toward glass box testing
What is the difference between client-server testing and web based testing and what are things that we need to test in such applications?
Ans:
Projects are broadly divided into two types of:
* 2 tier applications
* 3 tier applications