0% found this document useful (0 votes)
92 views12 pages

Manual

Software testing is a process used to evaluate software and determine if it meets requirements and is bug-free. The document discusses types of software testing like functional and non-functional testing. It also discusses testing tools, defect logging tools, automation testing tools, test cases, test plans, test scripts, test beds, test scenarios, defects, bugs, errors, failures, and regression testing. The last section discusses prototypes and the differences between verification and validation in software testing.

Uploaded by

Karthi Keyan
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
Download as docx, pdf, or txt
0% found this document useful (0 votes)
92 views12 pages

Manual

Software testing is a process used to evaluate software and determine if it meets requirements and is bug-free. The document discusses types of software testing like functional and non-functional testing. It also discusses testing tools, defect logging tools, automation testing tools, test cases, test plans, test scripts, test beds, test scenarios, defects, bugs, errors, failures, and regression testing. The last section discusses prototypes and the differences between verification and validation in software testing.

Uploaded by

Karthi Keyan
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1/ 12

1) What is Software Testing?

Software testingis a process, to evaluate the functionality of a


software application with an intent to find whether the developed
software met the specified requirements or not and to identify the
defects to ensure that the product is defect free in order to produce
the quality product.

Performance Testing Tools:


 WebLOAD
 LoadNinja
 LoadView
 Apache JMeter
 LoadRunner
 Appvance
 NeoLoad
 LoadComplete
 WAPT
 Loadster
 LoadImpact
 Rational Performance Tester
 Testing Anywhere

DEFECT LOGGING TOOL:

 Trac
 Redmine
 OTRS
 Mantis BT
 BugZilla
 WebIssues
 Fossil

AUTOMATION TESTING TOOL:

1. Robotium
2. sahi
3. WinRunner
4. UFT(unified functional testing)
5. Selenium
6. CodedUI
7. QTP(quality test perfomance)

2) Different Types of Software Testing


Given below is the list of some common types of Software Testing:

 Functional testing -
Functional testing involves validating the
functional specifications of the system.
 Non Functional testing - Non functional testing is a type of testing that
involves testing of non-functional requirements of the system such as
performance, scalability, security, endurance, portability etc.

Functional testing types include:


 Unit testing
 Integration testing
 System testing
 Sanity testing
 Smoke testing
 Interface testing
 Regression testing
 Beta/Acceptance testing
Non-functional testing types include:
 Performance Testing
 Load testing
 Stress testing
 Volume testing
 Security testing
 Compatibility testing
 Install testing
 Recovery testing
 Reliability testing
 Usability testing
 Compliance testing
 Localization testing

3) What is a Test Case?

A Test Case is defined as a set of actions executed to verify a particular


feature or functionality of the software application. A test case is an
indispensable component of the Software Testing LifeCycle that helps validate
the AUT (Application Under Test).

4) WHAT IS TEST PLAN?

A test plan is a document describing the scope, approach, objectives, resources, and schedule of
a software testing effort. It identifies the items to be tested, items not be tested, who will do the
testing, the test approach followed, what will be the pass/fail criteria, training needs for team, the
testing schedule etc.
5) What is a test script?
A test script is an automated test case written in any programming or scripting
language. These are basically a set of instructions to evaluate the functioning of an
application.

6) When do we convert test case into test script?

Once the application is stable after few cycles of manual testing, now the old test
cases are converted into test scripts.

7) What is a test bed?


A test bed is a test environment used for testing an application. A test bed
configuration can consist of the hardware and software requirement of the
application under test including - operating system, hardware configurations,
software configurations, tomcat, database etc.

8) What is a test scenario?


A test scenario is derived from a use case. It is used for end to end testing of a
feature of an application. A single test scenario can cater multiple test cases. The
scenario testing is particularly useful when there is time constraint while testing.

9) What is a defect?

The variation between the actual results and expected results is


known as defect.

If a developer finds an issue and corrects it by himself in the


development phase then it’s called a defect.

What is a bug?

If testers find any mismatch in the application/system in testing


phase then they call it as Bug.

As I mentioned earlier, there is a contradiction in the usage of Bug


and Defect. People widely say the bug is an informal name for the
defect.
What is an error?

We can’t compile or run a program due to coding mistake in a


program. If a developer unable to successfully compile or run a
program then they call it as an error.

What is a failure?

Once the product is deployed and customers find any issues then
they call the product as a failure product. After release, if an end
user finds an issue then that particular issue is called as failure

8) What is Regression Testing?


Regression testing is a testing that is done to verify that a code change in the software does
not impact the existing functionality of the product.
This testing makes sure that the product works fine as previously with the newly added
functionality or any change in the existing feature or once the bug fix is done. Previously
executed test cases are re-executed in order to verify the impact of change.

9) REGRESSION DEFECT AND LATENT DEFECT?

A regression bug is the that is brought up as a result of a bug fix on some existing issue.

E.g.-So you know that an application is having an issue on say login page, you create a
fix to that and deploy in production. Now your login page is working fine, but the signup
page may have faced another issue which earlier didn’t existed. The reason the bug
existed now is due to the latest fix you brought in.

- Latent bug is an existing uncovered or unidentified bug in a system for a period of


time. The bug may have one or more versions of the software and might be identified
after its release.

E.g. February has 28 days. The system could have not considered the leap year which
results in a latent defect

10)PROTOTYPE MODEL?

The Prototyping Model is one of the most popularly used Software Development Life
Cycle Models (SDLC models).This model is used when the customers do not know the
exact project requirements beforehand. In this model, a prototype of the end product is
first developed, tested and refined as per customer feedback repeatedly till a final
acceptable prototype is achieved which forms the basis for developing the final product.
Advantages –
 The customers get to see the partial product early in the life cycle. This ensures a
greater level of customer satisfaction and comfort.
 New requirements can be easily accommodated as there is scope for refinement.
 Missing functionalities can be easily figured out.
 Errors can be detected much earlier thereby saving a lot of effort and cost, besides
enhancing the quality of the software.
 The developed prototype can be reused by the developer for more complicated
projects in the future.
 Flexibility in design.
Disadvantages –
 Costly w.r.t time as well as money.
 There may be too much variation in requirements each time the prototype is
evaluated by the customer.
 Poor Documentation due to continuously changing customer requirements.
 It is very difficult for the developers to accommodate all the changes demanded by
the customer.
 There is uncertainty in determining the number of iterations that would be required
before the prototype is finally accepted by the customer.
 After seeing an early prototype, the customers sometimes demand the actual
product to be delivered soon.
 Developers in a hurry to build prototypes may end up with sub-optimal solutions.
 The customer might lose interest in the product if he/she is not satisfied with the
initial prototype.
Use –
The Prototyping Model should be used when the requirements of the product are not
clearly understood or are unstable. It can also be used if requirements are changing
quickly. This model can be successfully used for developing user interfaces, high
technology software-intensive systems, and systems with complex algorithms and
interfaces. It is also a very good choice to demonstrate the technical feasibility of the
product.

Verification and Validation ?

Verification: Any activities that happens before the execution of coding or


before the execution of test cases.

Validation: Any activities that happens after the execution of coding or


after the execution of test cases.

Verification Validation

 The verifying process includes checking It is a dynamic mechanism of testing and validating the
documents, design, code, and program actual product

 It does not involve executing the code It always involves executing the code

 Verification uses methods like reviews, It uses methods like Black Box Testing, White Box Testing,
walkthroughs, inspections, and desk-
checking etc. and non-functional testing

 Whether the software conforms to It checks whether the software meets the requirements
specification is checked
and expectations of a customer

 It finds bugs early in the development It can find bugs that the verification process can not catch
cycle

 Target is application and software Target is an actual product


architecture, specification, complete
design, high level, and database design
etc.

 QA team does verification and make sure With the involvement of testing team validation is
that the software is as per the requirement
in the SRS document. executed on software code.

 It comes before validation It comes after verification

1. Both Verification and Validation are essential and balancing to each other.
2. Different error filters are provided by each of them.
3. Both are used to finds a defect in different way, Verification is used to identify the errors in
requirement specifications & validation is used to find the defects in the implemented
Software application.
What is Static Testing?
Under Static Testing, code is not executed. Rather it manually checks the code,
requirement documents, and design documents to find errors. Hence, the name
"static". The main objective of this testing is to improve the quality of software
products by finding errors in the early stages of the development cycle. This testing is
also called a Non-execution technique or verification testing.

What is Dynamic Testing?


Under Dynamic Testing, a code is executed. It checks for functional behavior of
software system, memory/cpu usage and overall performance of the system. Hence
the name "Dynamic". The main objective of this testing is to confirm that the
software product works in conformance with the business requirements. This testing is
also called an Execution technique or validation testing.

Static Testing Dynamic Testing

Testing was done without executing the program Testing is done by executing the program

This testing does the verification process Dynamic testing does the validation process

Static testing is about prevention of defects Dynamic testing is about finding and fixing the defects

Static testing gives an assessment of code and Dynamic testing gives bugs/bottlenecks in the
documentation software system.

Static testing involves a checklist and process to be Dynamic testing involves test cases for execution
followed

This testing can be performed before compilation Dynamic testing is performed after compilation

Static testing covers the structural and statement Dynamic testing covers the executable file of the code
coverage testing

Cost of finding defects and fixing is less Cost of finding and fixing defects is high

Return on investment will be high as this process Return on investment will be low as this process
involved at an early stage involves after the development phase

More reviews comments are highly recommended More defects are highly recommended for good quality.
for good quality
Requires loads of meetings Comparatively requires lesser meetings

Static Testing Techniques:


 Informal Reviews: This is one of the type of review which doesn't follow any
process to find errors in the document. Under this technique, you just review
the document and give informal comments on it.
 Technical Reviews: A team consisting of your peers, review the technical
specification of the software product and checks whether it is suitable for the
project. They try to find any discrepancies in the specifications and standards
followed. This review concentrates mainly on the technical documentation
related to the software such as Test Strategy, Test Plan and requirement
specification documents.
 Walkthrough: The author of the work product explains the product to his
team. Participants can ask questions if any. A meeting is led by the
author. Scribe makes note of review comments
 Inspection: The main purpose is to find defects and meeting is led by a trained
moderator. This review is a formal type of review where it follows a strict
process to find the defects. Reviewers have a checklist to review the work
products.They record the defect and inform the participants to rectify those
errors.
 Static code Review: This is a systematic review of the software source code
without executing the code. It checks the syntax of the code, coding standards,
code optimization, etc. This is also termed as white box testing.This review can
be done at any point during development.

Dynamic Testing Techniques:

 Unit Testing: Under Unit Testing, individual units or modules are tested by the
developers. It involves testing of source code by developers.
 Integration Testing: Individual modules are grouped together and tested by
the developers. The purpose is to determine what modules are working as
expected once they are integrated.
 System Testing: System Testing is performed on the whole system by
checking whether the system or application meets the requirement specification
document.

Also, Non-functional testing like performance, Security Testing fall under the
category of dynamic testing.

11) Formal Review Vs Informal Review:

Formal Review:
A type of peer review, "formal review" follows a formal process and has a
specific formal agenda. It has a well structured and regulated process, which is
usually implemented at the end of each life cycle. During this process, a formal
review panel or board considers the necessary steps for the next life cycle.
Features of Formal Review:

 This evaluates conformance to specification and various standards.

 Conducted by a group of 3 or more individuals.

 The review team petitions the management of technical leadership to act


on the suggested recommendations.

 Here, the leader verifies that the action documents are verified and
incorporated into external processes.

 Formal review consists of six important steps, which are:

o Planning.
o Kick-off.

o Preparation.

o Review meeting.

o Rework.

o Follow up.

Informal Review:
Unlike Formal Reviews, Informal reviews are applied multiple times during
the early stages of software development process. The major difference
between the formal and informal reviews is that the former follows a
formal agenda, whereas the latter is conducted as per the need of the team and
follows an informal agenda. Though time saving, this process is not
documented and does not require any entry criteria or large group of
members.
Features of Informal Review:

 Conducted by a group of 2-7 members, which includes the designer an


any other interested party.

 Here the team identifies errors & issues as well as examine alternatives.

 It is a forum for learning.

 All the changes are made by the software designer.

 These changes are verified by other project controls.


 The role of informal review is to keep the author informed and to
improve the quality of the product.

You might also like