Professional Documents
Culture Documents
Coding
Inexperienced programmer/Programmers without
proper domain knowledge
Software Complexity
Programmers are not following standards
Schedule Pressure or plain dumb mistake
QA is the process of managing for quality. QC is used to verify the quality of the output.
They measure the process, identify the They measure the product, identify the
deficiencies/weakness and suggest deficiencies/weakness and suggest
improvements. improvements.
SQA is a set of activities for ensuring quality in SQC is a set of activities for ensuring quality in
software engineering processes (that ultimately software products. The activities focus on
result in quality in software products). The activities identifying defects in the actual products produc
establish and evaluate the processes
that produce products.
Activities of QA are Process Definition and Activities of QC are Reviews and Testing
Implementation, Audits and Training
It includes Prevention oriented activities. It includes detection-oriented activities.
1. Validation is a dynamic
1. Verification is a static practice of verifying
mechanism of validating and
documents, design, code and program.
testing the actual product.
5. Validation is to check
5. Verification is to check whether the software whether software meets the
conforms to specifications. customer expectations and
requirements.
Testing is done without executing the program Testing is done by executing the program
This testing does verification process Dynamic testing does validation process
Static testing gives assessment of code and Dynamic testing finds bugs in the software
documentation application
Static testing involves checklist and process to be Dynamic testing involves test cases for execution.
followed.
It is performed in the early stage of the software It is performed at the later stage of the software
development. development.
8.Explain walkthrough.
Aim :To review code or documents and to find defects in order to improve quality of the
product.
• More formal method than peer review.
• Presenter :Presented by author .
• Review artifacts: Requirement specification, architectural documents, diagrams or
piece of code.
• Participants: Author, programmers or testers, senior programmer etc. .
1. Reviewer receives copy of documents in advance .
2. Pre –meeting preparation is necessary.
3. Author guide the participants through the document according to his or her thought
process to achieve a common understanding and to gather feedback.
4. Author presents code/documents.
5. Reviewers listens and questions if any thing looks suspicious.
6. After the review presenter write a report.
Advantages:
• Saves time and money as defects are found and rectified very early in the life cycle.
• Provides value added comments from reviewers with different technical background
and experience.
• It gives progress of the development to project management team.
• Problems can get recorded and suggestions can be received from the team for
improving the work product further.
Disadvantages:
• Availability of people can be an issue when teams are large. Multi-locations and
distributed teams are major challenges in walkthrough.
• Team members may not be experts in giving comments and may need some training
and basic knowledge about the project, artifact under walkthrough and so on.
• Time can be a constraint where schedules are very tight.
Expected
Sr. No Equivalence partitions Type of input Test data
output
Interest Rate=
1 Age below 35 Valid 20 ,30
8%
Interest Rate=
2 Age 35 to 59 Valid 40, 50
9%
Interest Rate=
3 Age above 60 Valid 65, 72
11%
4 Negative Age Invalid -10 Warning
message
Invalid input
Warning
5 Age is zero Invalid 0 message-
Invalid input
Integration
Testing
Non
Incremental
Incremental
approaches
approaches
Sandwich
Big Bang Top Down Bottom Up
Integration
Approaches Approach Approach
Approach
This is one area where verification does not work to that much extents and one
needs to test it by actually performing the operation on the system
Load Testing
• It helps to identify the maximum operating capacity of an application as well as any
bottlenecks and determine which element is causing degradation.
• Example : If the software operates on peripherals such as printer, or communication
ports, connect as many as you can.
• Example: If you are testing an internet server that can handle thousands of
simultaneous connections, do it.
• Scenario like, most software it is important for it to run over long periods.
• Some software‘s should be able to run forever without being restarted.
Stress Testing
It is a type of non-functional testing.
Stress testing is testing the software under less than ideal conditions.
So subject your software to low memory, low disk space, slow CPU, and slow
modems and so on.
Look at your software and determine what external resources and dependencies it
has.
Stress testing is simply limiting them to bare minimum. With stress testing you starve
the software.
The goals of such tests may be to ensure the software does not crash in conditions of
insufficient computational resources (such as memory or disk space).
Security Testing
Verifies that protection mechanisms built into a system will, in fact, protect it from
improper access.
As the communication is through virtual network, security becomes an important
issue.
Application may use communication protocols, coding and decoding mechanism and
schemes to maintain security of system.
System must be tested for possible weak areas called vulnerabilities and possible
intruders trying to attack the system.
Testing is done by end user at Testing is done by end user at end user site.
developer site.
Alpha testing is not effective as it Beta test is more effective as end user do
is done in controlled not have any restriction of testing software.
environment.
End user may have to test Beta testing is live application testing, not
software under influence of done in influence of developer.
developer.