Posts

Showing posts from June, 2016

What is Acceptance testing

Image
After the system test has corrected all or most defects, the system will be delivered to the user or customer for acceptance testing. Acceptance testing is basically done by the user or customer although other stakeholders may be involved as well. The goal of acceptance testing is to establish confidence in the system. Acceptance testing is most often focused on a validation type testing. Acceptance testing may occur at more than just a single level, for example: A Commercial Off the shelf (COTS) software product may be acceptance tested when it is installed or integrated. Acceptance testing of the usability of the component may be done during component testing. Acceptance testing of a new functional enhancement may come before system testing. The Acceptance test plan has the following attributes: Introduction Acceptance Test Category operation Environment Test case ID Test Title Test Objective Test Procedure Test Schedule Resources

What is System testing

Image
System testing of software or hardware is testing conducted on a complete, integrated system to evaluate the system's compliance with its specified requirements. In system testing the behavior of whole system/product is tested as defined by the scope of the development project or product. It may include tests based on risks and/or requirement specifications, business process, use cases, or other high level descriptions of system behavior, interactions with the operating systems, and system resources. System testing is most often the final test to verify that the system to be delivered meets the specification and its purpose. System testing is carried out by specialists testers or independent testers. System testing should investigate both functional and non-functional requirements of the testing. Types of System Testing Usability Testing -     Usability testing mainly focuses on the user's ease to use the application, flexibility in han

What is Performance testing in software?

Image
It is  a type of non-functional testing. Performance testing is testing that is performed, to determine how fast some aspect of a system performs under a particular workload. It can serve different purposes like it can demonstrate that the system meets performance criteria. It can compare two systems to find which performs better. Or it can measure what part of the system or workload causes the system to perform badly. Load testing : Load testing is a type of  non-functional testing . A load test is type of  software testing  which is conducted to understand the behavior of the application under a specific expected load. Load testing is performed to determine a system’s behavior under both normal and at peak conditions. It helps to identify the maximum operating capacity of an application as well as any bottlenecks and determine which element is causing degradation. E.g. If the number of users are increased then how much CPU, memory will be consumed, what is the net

What is Integration testing?

Image
Integration testing tests integration or interfaces between components, interactions to different parts of the system such as an operating system, file system and hardware or interfaces between systems. Approches in Integration Testing Top-down integration testing:   Testing takes place from top to bottom, following the control flow or architectural structure (e.g. starting from the GUI or main menu). Components or systems are substituted by stubs. Below is the diagram of  ‘Top down Approach': Advantages of Top-Down approach: The tested product is very consistent because the integration testing is basically performed in an environment that almost similar to that of reality Stubs can be written with lesser time because when compared to the drivers then Stubs are simpler to author. Disadvantages of Top-Down approach: Basic functionality is tested at the end of cycle   Bottom-up integration testing   Testing takes place from the bottom

What is Non-functional testing??

In non-functional testing the quality characteristics of the component or system is tested. Non-functional refers to aspects of the software that may not be related to a specific function or user action such as scalability or security.  Non-functional testing includes: Reliability testing Usability testing Efficiency testing Maintainability testing Portability testing Baseline testing Compliance testing Documentation testing Endurance testing Load testing Performance testing Compatibility testing Security testing Scalability testing Volume testing Stress testing Recovery testing Internationalization testing and Localization testing

What are Software Test Types?

Functional testing Non-functional testing Structural testing                                                                                                                                                                                                                                                                          What is Functional testing (Testing of functions) in software?           In functional testing basically the testing of the functions of component or system is done. It refers to activities that verify a specific action or function of the code. The techniques used for functional testing are often specification-based. Testing functionality can be done from two perspective: Requirement-based testing:  In this type of testing the requirements are prioritized depending on the risk criteria and accordingly the tests are prioritized. This will ensure that the most important and most critical tests are included in the testing effort. Business-process-based testin

What is Unit testing?

Image
A unit is the smallest testable part of an application like functions, classes, procedures, interfaces. Unit testing is a method by which individual units of source code are tested to determine if they are fit for use. Unit tests are basically written and executed by software developers  to make sure that code meets its design and requirements and behaves as expected. The goal of unit testing is to segregate each part of the program and test that the individual parts are working correctly. This means that for any function or procedure when a set of inputs are given then it should return the proper values. It should handle the failures gracefully during the course of execution when any invalid input is given. A unit test provides a written contract that the piece of code must assure. Hence it has several benefits. Unit testing is basically done before integration as shown in the image below. Advantages of Unit testing: 3. Since the bugs are found early in unit testing hence