Professional Documents
Culture Documents
L8 - Software Testing
L8 - Software Testing
• There can be inputs that causes errors in the system with invalid
outputs
• In testing, we give an input to the system and check if the system gives
an output.
○ Through the outputs we can detect the presence of defects
○ A bad programming sample will have the system closing down or
shutting down when receiving faulty inputs
• A unit is like use case of some inputs (a subset of all possible inputs)
• Unit testing is the start of the testing process
○ We check for each small components and a subset of inputs
possible
• Here we check for the functionality
• Even though the individual objects are tested correctly, we have to test
for all components together
• Here we test the interfaces between the multiple components
○ We test the emerging properties between the multiple objects
together
○ Also known as the non-functional requirements
○ We call them emerging since they only appear when combining
different objects and not for the individual object testing
• Most of the errors come at the boundaries due to loop checking and
indexing issues
• In equivalent classes the input space can be reduced
• We start with the smallest subset of components to integrate and
check
○ And then we add more to integrate and test
○ If we start with the largest one and then go to smallest one then it
will be redundant
• We don't go to the individual component level of testing and now we
check for the whole system
• The testing process is finished with user acceptance test
• Developing the test cases we can generate using the customer input at
the start of the development
○ Something about giving the test cases we wish to see happening at
the start and then we develop to be able to answer it eventually in
the end
• Made in the mid of releasing the product and then testing through it
• But some cases of tests may not be identified
• Alpha testing is done together with developers and users to figure out
the testing
• Beta testing is done by the users alone without help of the developers
• Once the version is signed off, then further changes that are needed to
make can be considered as "change requests"
• There are tool frameworks that can done for the testing