The Baseline Testing runs on the set of tests to determine the performance, while Benchmark testing compares the application performance with the industry standards. The Baseline testing aims to improve the performance with the help of collected information and the benchmark testing helps to improve performance by matching it with the benchmarks.
The Selenium Grid can be used in executing the different test or same scripts on various platforms and browsers concurrently for achieving distributed test execution. Also,testing under various environments and saving the execution time remarkably.
It is suggested to perform a regression testing and run tests for all the other modules as well. Finally, the QA should also carry out a system testing.
If the required specifications are not available for a product, then a test plan can be created based on the assumptions made about the product. But we should get all assumptions well-documented in the test plan.
Positive Testing: It is to determine what system supposed to do. It helps to check whether the application is justifying the requirements or not.
Negative Testing: It is to determine what system not supposed to do. It helps to find the defects from the software.
Grey box is the combination of both White Box and Black Box Testing. The tester who works on this type of testing needs to have access to design documents. This helps to create better test cases in this process.
The QA plays the major role in the project Development. Some of the highlights are mentioned below,
1. Reduce the errors and defects.
2. Prevents the defects from occurring.
3. Maintains the quality of the system as per the requirements.
4. Test the projects on a failure parameter to check the fault tolerance.
White Box Testing is also called as Glass Box, Clear Box, and Structural Testing. It is based on applications internal code structure. In white-box testing, an internal perspective of the system, as well as programming skills, are used to design test cases. This testing usually was done at the unit level.
A Silk Test is the tool that is used for performing regression and the functionalities of the testing application. This tool is primarily used while we test the applications based on Java, Windows, Web, or the traditional server/client. The Silk Test helps in making the test plan and managing those test plans for providing direct access to the database and the field validation.
Here are the two principal reasons that make it impossible to test a program entirely.
* Software specifications can be subjective and can lead to different interpretations.
* A software program may require too many inputs, outputs, and path combinations.
When a bug occurs, we can follow the below steps.
>> We can run more tests to make sure that the problem has a clear description.
>> We can also run a few more tests to ensure that the same problem doesn’t exist with different inputs.
>> Once we are certain of the full scope of the bug, we can add details and report it.
End-to-end testing is a testing strategy to execute tests that cover every possible flow of an application from its start to finish. The objective of performing end-to-end tests is to discover software dependencies and to assert that the correct input is getting passed between various software modules and sub-systems.
It is one of the white-box testing techniques.
Data flow testing emphasizes for designing test cases that cover control flow paths around variable definitions and their uses in the modules. It expects test cases to have the following attributes:
1. The input to the module
2. The control flow path for testing
3. A pair of an appropriate variable definition and its use
4. The expected outcome of the test case
Agile testing is a software testing process that evaluates software from the customers’ point of view. It is favorable as it does not require the development team to complete coding for starting QA. Instead, both coding and testing go hand in hand. However, it may require continuous customer interaction.
No. System testing should start only if all modules are in place and they work correctly. However, it should be performed before UAT (user acceptance testing).
Test coverage is a quality metric to represent the amount (in percentage) of testing completed for a product. It is relevant for both functional and non-functional testing activities. This metric is used to add missing test cases.
This is also a product-oriented approach. It is performed to qualify the product that is under development and it meets the original software specifications. Quality Control results in changes to the products. For instance, if there are any bugs in the system or if any deviation takes place during the implementation, this uses the program or codes for identifying the defects on the software applications.
In web testing, Usability testing plays an important role. It is well known that usability testing is the means to determine the ease with which an end-user can easily access the application with or without having any programming language knowledge.
Client-server application is the one where the application itself gets loaded or installed on a server whereas the application EXE file is loaded on all client machines. This environment is usually used in Intranet networks.
Following tests are performed on a Client-server application:
* GUI testing on both client and server systems.
* Client-server interaction.
* The functionality of an application.
* Load and performance testing.
* Compatibility testing.
All the test cases and test scenarios used in client-server application testing is derived from the tester’s experience and requirement specifications.
Server-side validation occurs where the validation and processing of user requests require the response from the server. To understand it more clearly, the user’s input is being sent to the server and validation is done using server-side scripting languages such as PHP, Asp.NET, etc.
After the validation process, feedback is sent back to the client in the form of a dynamically generated web page.
When compared to the Client-Side validation process, the Server-side validation process is more secure because here application is protected against malicious attacks and users can easily bypass client-side scripting language.
Cookie is said to be a personalized user’s identity or information that is required to communicate between different web pages as well as track user’s navigation through the website pages. Whenever we access any website on any web browser, their respective cookie is written on the hard disk.
Cookies are used to track user sessions, displays ads, remember user’s choice while accessing any website, remember and retrieve the user’s shopping cart, track the unique number of visitors, etc.
Suppose an e-commerce site is accessible in many countries like the US, Canada, Australia, and their testing is done in India. In that case, while testing the e-commerce site for different countries in India, at first respective countries cookies is set so that actual data like time zone, etc., are accessed of that particular country.
Intranet application is a kind of private application that is deployed and run on a local LAN server and can only be accessed by the people within the organization. It uses a local network to share information.
For Example, Organization usually has an application that stores information about your attendance, holidays, upcoming celebrations within the organization or some important event or information that needs to be circulated within the organization.
Every bug has to be noted and analyzed – whether it is encountered at onsite or offshore, whether repeatable or not. A real value-add to a tester’s job is when we involve ourselves in the Root Cause Analysis process for a bug rather than simply reporting it.
Some of the ways we can handle this situation are:
* All the onsite and offshore team members should follow a guideline that screenshots had to be taken for every error that we encounter – repeatable or not.
* If there are logs, system files or anything like that, that might help us find any evidence of the issue- we should try to find it.
* Despite all these steps, if we still can’t tell why and when the problem occurs- we should report it to the developer all the same – with as much information as we can.
The onsite coordinator is a point of contact for the offshore team and to the client for any information regarding the testing engagement.
This job includes:
* KT from and to offshore and clients
* Getting the environment to test all ready
* Sanity testing, smoke testing
* Testing – the key functionality.
* Bug review – found by the offshore team
* Bug assigning to the respective dev
* Presenting metrics
* Providing sign off
Yes, even an onsite coordinator has to test.
The key is to make sure that all the testers know about all the modules and that there is no knowledge concentration in one place. Involving everyone in test script peer reviews, defect meetings, and KT sessions are going to ensure that everyone is aware of the application to the best extent possible.
Also, by encouraging the concept of teamwork we can have the team members collaborate, help and aid each other for better productivity.
Regular follow up meetings also help the process very much.
Validation is the process, whether we are building the right product i.e., to validate the product which we have developed is right or not. Activities involved in this is Testing the software application.
erification is the process, to ensure that whether we are building the product right i.e., to verify the requirements which we have and to verify whether we are developing the product accordingly or not. Activities involved here are Inspections, Reviews, Walk-throughs.
The document which shows the relationship between the test cases and requirements is known as trace-ability matrix.
To identifying and executing the functional requirement of the application from the start to the end “use case”is used. The techniques that are used to performing this is called as “Use Case Testing”.
Quality Assurance involves in process-oriented activities. It ensures the prevention of defects in the process used to make Software Applications. So the defects don’t arise when the Software Application is being developed.
Quality Control involves in product-oriented activities. It executes the program or code to identify the defects in the Software Application.
If the software is so buggy, the first thing we need to do is to report the bugs and categories them based on Severity. If the bugs are critical bugs then it severely affects schedules and indicates deeper problems in the software development process. So you need to let the manager know about the bugs with proper documentation as evidence.
Some of the popular configuration management tools are Ansible, Chef, Puppet, Terraform, Saltstack, etc.
In white box testing following steps are verified.
1. Verify the security holes in the code
2. Verify the incomplete or broken paths in the code
3. Verify the flow of structure according to the document specification
4. Verify the expected outputs
5. Verify all conditional loops in the code to check the complete functionality of the application
6. Verify the line by line coding and cover 100% testing
White box testing technique involves selection of test cases based on an analysis of the internal structure (Code coverage, branches coverage, paths coverage, condition coverage, etc.) of a component or system. It is also known as Code-Based testing or Structural testing. Different types of white box testing are
1. Statement Coverage
2. Decision Coverage
Equivalence partitioning testing is a software testing technique which divides the application input test data into each partition at least once of equivalent data from which test cases can be derived. By this testing method, it reduces the time required for software testing.
The relationship between test cases and requirements is shown with the help of a document. This document is known as a traceability matrix.
SDLC deals with development/coding of the software while STLC deales with validation and verification of the software.
The parameter used in software testing to describe the extent to which the source code is tested is known as coverage. There are three basic types of coverage techniques and they are:
1. Statement coverage: It ensures that each line of source code has been executed and tested.
2. Decision coverage: It assures that every decision (true/false) in the source code has been executed and tested.
3. Path coverage: Here we ensure that every possible route through a given part of the code is executed and tested.
Basically, the acceptance document is prepared using the following inputs.
* Requirement document: It specifies what exactly is needed in the project from the customers perspective.
* Input from the customer: This can be discussions, informal talks, emails, etc.
* Project plan: The project plan prepared by the project manager also serves as good input to finalize your acceptance test.
There are three main categories of defects as shown in the below figure:
1. Wrong: It implies that requirements have been implemented incorrectly. It is a variance from the given specification.
2. Missing: This is a variance from the specifications, an indication that a specification was not implemented, or a requirement of the customer was not noted properly.
3. Extra: It is a requirement incorporated into the product that was not given by the end customer. It is always a variance from the specification but may be an attribute desired by the user of the product.
It is a testing methodology where the end customer is asked to use the software to see if the product is easy to use, to see the customer’s perception and task time. An accurate way to finalize the customer point of view for usability is by using prototype or mock-up software during the initial stages.
Verification: It is a static analysis technique. Here, testing is done without executing the code. Examples include – Reviews, Inspection, and walkthrough.
Validation: It is a dynamic analysis technique where testing is done by executing the code. Examples include functional and non-functional testing techniques.
In the V model, the development and QA activities are done simultaneously. There is no discrete phase called Testing, rather testing starts right from the requirement phase. The verification and validation activities go hand in hand.
In order to identify and execute the functional requirement of an application from start to finish “use case” is used and the techniques used to do this is known as “Use Case Testing.”
Exploratory testing is a hands-on approach in which testers are involved in minimum planning and maximum test execution. The planning involves the creation of a test charter, a short declaration of the scope of a short (1 to 2 hour) time-boxed test effort, the objectives and possible approaches to be used. The test design and test execution activities are performed in parallel typically without formally documenting the test conditions, test cases or test scripts. This does not mean that other, more formal testing techniques will not be used. For example, the tester may decide to use boundary value analysis but will think through and test the most important boundary values without necessarily writing them down. Some notes will be written during the exploratory-testing session so that a report can be produced afterward.
A test case is nothing but a set of conditions or variables under which a tester will determine whether a system under test satisfies requirements or works correctly.
Configuration management (CM) is a process of systems engineering to maintain system resources, computer systems, servers, software, and product’s performance in a consistent state. It helps to record all the changes made in the system and ensures that the system performs as expected even though changes are made over time.
The SDLC primarily deals with the coding / development of a Software. While the STLC deals with the verification and validation of a software
It is a technique used in the software testing where the applications are tested using ingesting inputs randomly. Monkey Testing does not follow any of the predefined set of rules. This is carried out for checking the behavior of application.
There are four major levels of testing and they are,
* Unit Testing
* System Testing
* Acceptance Testing
* Integration Testing.
A process of analyzing a software item to detect the differences between existing and required conditions (i.e., defects) and to evaluate the features of the software item.