software testing
DESCRIPTION
brifly explaination on software testing,,TRANSCRIPT
Software Testing Mody Univercity,Laxmanghr
Submitted By:-
Bhagyashree pathak
110077
CS-C
ContentsIntroduction Necessity of testingGoals of testingTesting methodsTesting levels Testing approachTesting typesUpdates Regarding ST Conclusion
Introduction Testing is the process of executing a program
with the intention of finding errors.
Testing can show the presence of bugs but never their absence.
Testing is quality control activity.
Necessity of Testing To check the reliability of the software.
To be ensured that the software does not contain any bug which can become a reason for failure.
To check the software was made according to its specification.
To check that users are capable of using the software.
To check software works with other software and hardware it needs to work with.
Goals of Testing
Detect faults. Establish confidence in software.
Evaluate properties of software. -Reliability
-Performance -Memory Usage -Security -Usability
Testing Methods
Static vs. Dynamic Testing
The Box approach - White-box testing
- Black-box testing
Static vs. Dynamic Testing
Reviews, walkthroughs, or inspections are referred to as Static testing, whereas actually executing programmed code with a given set of test cases is referred to as dynamic testing.
Static testing can be omitted, and unfortunately in practice often is. Dynamic testing takes place when the program itself is used.
White box testing
Testing based on an analysis of the internal structure of the component orsystem.
White box testing uses specific knowledge of programming code to examine outputs.
White box testing is used to test areas that cannot be reached from a black box level.
AdvantagesAs the tester has knowledge of the
source code, it becomes very easy to find out which type of data can help in testing the application effectively.
It helps in optimizing the code.
Extra lines of code can be removed which can bring in hidden defects.
Disadvantages
Due to the fact that a skilled tester is needed to perform white box testing, the costs are increased.
Sometimes it is impossible to look into every nook and corner to find out hidden errors that may create problems as many paths will go untested.
Black box testing It is a software testing method in which the
internal structure/design/implementation of the item being tested is not known to the tester.
These tests can be functional or non- functional, though usually functional.
Advantages Tester can be non-technical.
Used to verify contradictions in actual system and the specifications.
Disadvantages
The test inputs needs to be from large sample space.
It is difficult to identify all possible inputs in limited testing time. So writing test cases is slow and difficult.
Testing levels
Unit testing
- Exercises specific paths in a component's control structure to ensure complete coverage and maximum error detection.
- Components are then assembled and integrated.
Integration testing
- Focuses on inputs and outputs, and how well the components fit together and work together
Validation testing
-Provides final assurance that the software meets all functional, behavioral, and performance requirements.
System testing
-Verifies that all system elements (software, hardware, people, databases) mesh properly and that overall system function and performance is achieved.
Testing Approach
Bottom-up testing- It is an approach to integrated testing where the lowest
level components– modules, procedures or functions– are tested 1st,then integrated and used to facilitate the testing of higher level components.
- This method also helps to determine the levels of software
developed and makes it easier to report testing progress in the form of a percentage.
Top-down testing- It is an approach to integrated testing where the top
integrated modules are tested and the branch of the module is tested step by step until the end of the related module.
Testing Types
Alpha Testing
Beta Testing
Functional and Non-functional Testing
Alpha Testing This test is the first stage of testing and will be
performed amongst the teams (developer and QA teams).
Unit testing, integration testing and system testing when combined are known as alpha testing.
The following will be tested in the application.
- spelling mistakes
- broken links
- cloudy directions
Beta Testing The aim of beta testing is to cover unexpected errors.
Testing when development and testing are essentially completed and final bugs and problems need to be found before release.
These are released to a limited audience outside of
the programming team.
The software is released to groups of people so that
further testing can ensure the product has few faults or bugs.
Examples of well known beta tests
Microsoft -one of the most well
known in beta tests in
memory was the beta
for microsoft’s windows 7
operating system and
before that windows vista.
Functional Testing Functional testing refers to activities that verify a
specific action or function of the code.
The application is tested by providing input and then the results are examined that need to confirm to the functionality it was intended for.
Functional tests tend to answer the question of “can the user do this” or “does this particular feature work”.
Non-functional Testing
This section is based upon the testing of the application from its non-functional attributes.
Non-functional testing of Software involves testing the Software for the requirements which are non-functional in nature.
It deals with features such as performance, security, user interface etc.
Updates Regarding ST Beta testing of web sites
Facebook timeline was launched on beta testing.
Gaana.com for online music still on beta testing..
Conclusion Software testing is an art.Testing is more than just debugging.Testing is expensive.Complete testing is infeasible.
-complete testing is not achievable, and the amount that we have estimated for production of any software product is less then the required amount.