Project Requirement and Document (PRD)
1. Project Requirement and Document (PRD): A Project Requirement and Document (PRD)
is a document written by a company that defines a product they are making, or the requirements
for one or more new features for an existing product.
2. Wireframe: A wireframe is the primitive skeleton of your website. It’s not glamorous or
cutting edge, but it holds everything together. Without that skeletal structure even the bestlooking website is nothing more than a blob of cyber-goo, impossible to navigate through.
The wireframing stage generally focuses on
Wireframe= Content + Structure
Figure: Wireframe Example
A mock-up is a model of a design, used to acquire feedback from users.
A mockup is a prototype if it provides at least part of the functionality and
Mockup= color + graphics
Testing is required to find the gap between Project Requirement and Document (PRD) and
implemented software that ensures software quality.
Testing is the process of evaluating a system or its component(s) with the intent to find that
whether it satisfies the specified requirements or not. This activity results in the actual, expected
and difference between their results. In simple words testing is executing a system in order to
identify any gaps, errors or missing requirements in contrary to the actual desire or requirements.
What is Software Testing?
Software testing is a process of executing a program or application with the intent of finding the
What is Defect or bugs or faults in software testing?
A defect is an error or a bug, in the application which is created. A programmer while designing
and building the software can make mistakes or error. These mistakes or errors mean that there
are flaws in the software. These are called defects.
Hence, any deviation from the specification mentioned in the product functional specification
document is a defect.
Why is testing necessary?
Testing is necessary because we all make mistakes. Some of those mistakes are unimportant, but
some of them are expensive or dangerous. We need to check everything and anything we
produce because things can always go wrong – humans make mistakes all the time.
Since we assume that our work may have mistakes, hence we all need to check our own work.
However some mistakes come from bad assumptions and blind spots, so we might make the
same mistakes when we check our own work as we made when we did it. So we may not notice
the flaws in what we have done.
Ideally, we should get someone else to check our work because another person is more likely to
spot the flaws.
Types of Software testing:
Regression testing is the process of testing changes to computer programs to make sure that the
older programming still works with the new changes. Regression testing is a normal part of the
program development process and, in larger companies, is done by code testing specialists. Test
department coders develop code test scenarios and exercises that will test new units of code after
they have been written. These test cases form what becomes the test bucket. Before a new
version of a software product is released, the old test cases are run against the new version to
make sure that all the old capabilities still work. The reason they might not work is because
changing or adding new code to a program can easily introduce errors into code that is not
intended to be changed.
Adhoc testing is an informal testing type with an aim to break the system.
This testing is usually an unplanned activity.
It does not follow any test design techniques to create test cases. In fact is does not create
test cases altogether!
It is primarily performed if the knowledge of testers in the system under test is very high.
Testers randomly test the application without any test cases or any business requirement
Adhoc testing can be achieved with the testing technique called Error Guessing.
Error guessing can be done by the people having enough experience on the system to
“geuss” the most likely source of errors.
Confirmation testing is also known as re-testing.
Confirmation Testing is done to make sure that the tests cases which failed in last execution are
passing after the defects against those failures are fixed.
Suppose you were testing some software application and you found defects in some component.
You log a defect in bug tracking tool.
Developer will fix that defect and provide you with the official testable build.
You need to re-run the failed test cases to make sure that the previous failures are gone.
This is known as confirmation Testing or Re-testing
Causes of Software Defect:
Poorly documented Code
Software development tools
Rules of order:
Questions are encouraged
Response from the trainee are welcome
Open and silence discussion is required.
Testing improves quality:
Finding defect and measuring quality