Manual testing is a process that manually finding out the bugs in a software program. Manual testing continues to be the most popular method for validating the functionality of software applications.
Stages of manual testings are
Unit Testing
Acceptance Testing
White Box Testing
Black Box Testing
System Testing
Integration Testing
Software testing is an activity to check whether the actual results match the expected results and to ensure that the software system is Defect free. It involves execution of a software component or system component to evaluate one or more properties of interest. Software testing also helps to identify errors, gaps or missing requirements in contrary to the actual requirements. It can be either done manually or using automated tools. Testing can broadly be defined into two types- Functional testing – Functional testing involves validating the functional specifications of the system. Non-functional testing – Non-functional testing includes testing the non-functional requirements of the system like performance, security, scalability, portability, endurance etc. Static Testing involves in reviewing the documents to identify the defects in the early stages of SDLC. Dynamic testing involves in the execution of code. It validates the output with the expected outcome. Ans. GUI or Graphical user interface testing is the process of testing the software user interface against the provided requirements/mockups/HTML designs etc., White Box Testing is also called as 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, is used to design test cases. This testing usually was done at the unit level Black Box Testing is a software testing method in which testers evaluate the functionality of the software under test without looking at the internal code structure. This can be applied to every level of software testing such as Unit, Integration, System and Acceptance Testing. 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. Regression testing involves testing the application to verify that a new code change doesn’t affect the other parts of the application. Whereas, in retesting, we verify if the fixed issue is resolved or not. Blackbox testing is a type of testing in which internal architecture of the code is not required for testing. It is usaually applicable for system and acceptance testing. Whereas whitebox testing requires internal design and implementation knowledge of the application being tested. It is usually applicable for Unit and Integration testing. 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. Quality Assurance: Quality Assurance involves in process-oriented activities. It ensures the prevention of defects in the process used to make Software Application. So the defects don’t arise when the Software Application is being developed. Quality Control: Quality Control involves in product-oriented activities. It executes the program or code to identify the defects in the Software Application. Ans. If prepared test cases are not finding defects, add/revise test cases to find more defects, this is known as Pesticide Paradox. 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. A test plan is a formal document describing the scope of testing, the approach to be used, resources required and time estimate of carrying out the testing process. It is derived from the requirement documents(Software Requirement Specifications). A test scenario is derived from a use case. It is used for end 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. A test case is used to test the conformance of an application with its requirement specifications. It is a set of conditions with pre-requisites, input values and expected results in a documented form. Some of the attributes of a Defect report are- Defect density is the measure of density of the defects in the system. It can be calculated by dividing number of defect identified by the total number of line of code(or methods or classes) in the application or program. A defect priority is the urgency of the fixing the defect. Normally the defect priority is set on a scale of P0 to P3 with P0 defect having the most urgency to fix. Defect severity is the severity of the defect impacting the functionality. Based on the organisation we can different levels of defect severity ranging from minor to critical or show stopper. A bug goes through the following phases in software development- Testing can be performed at different levels during the development process. Performing testing activities at multiple levels help in early identification of bugs. The different levels of testing are – Unit testing is the first level of testing and it involves testing of individual modules of the software. It is usually performed by developers. Integration testing is performed after unit testing. In integration testing we test the group of related modules. It aims at finding interfacing issues between the modules. Security testing is a process to determine whether the system protects data and maintains functionality as intended. Running a system at high load for a prolonged period of time to identify the performance problems is called Soak Testing. This type of testing determines or validates the speed, scalability, and/or stability characteristics of the system or application under test. Performance is concerned with achieving response times, throughput, and resource-utilization levels that meet the performance objectives for the project or product. It is to verify that the system/application can handle the expected number of transactions and to verify the system/application behavior under both normal and peak load conditions. It is to verify that the system/application can handle a large amount of data It is to verify the behavior of the system once the load increases more than its design expectations. Scalability testing is a type of non-functional testing. It is to determine how the application under test scales with increasing workload. Concurrency testing means accessing the application at the same time by multiple users to ensure the stability of the system. This is mainly used to identify deadlock issues. Fuzz testing is used to identify coding errors and security loopholes in an application. By inputting massive amount of random data to the system in an attempt to make it crash to identify if anything breaks in the application. Ad-hoc testing is quite opposite to the formal testing. It is an informal testing type. In Adhoc testing, testers randomly test the application without following any documents and test design techniques. This testing is primarily performed if the knowledge of testers in the application under test is very high. Testers randomly test the application without any test cases or any business requirement document. Interface testing is performed to evaluate whether two intended modules pass data and communicate correctly to one another. Perform testing on the application continuously for long period of time in order to verify the stability of the application Bucket testing is a method to compare two versions of an application against each other to determine which one performs better. Spike testing is a type of performance testing in which the application’s performance is measured while suddenly increasing the number of active users during the load test. Localisation testing is a type of testing in which we evaluate the application’s customization(localized version of application) in a particular culture, locale or country. Globalisation testing is a type of testing in which application is evaluated for its functioning across the world in different cultures, languages, locale and countries.What is Software Testing?
What are the different types of testing?
What is Static Testing?
What is Dynamic Testing?
What is GUI Testing?
What is White Box Testing?
What is Black Box Testing?
What is Grey Box Testing?
What is the difference between regression and retesting?
What is the difference between blackbox and whitebox testing?
What is Positive and Negative Testing?
What are Quality Assurance and Quality Control?
What is Pesticide Paradox?
What is a test bed?
What is a test plan?
What is a test scenario?
What is a test case?
What are some defect reporting attributes?
What is defect density?
What is defect priority?
What is defect severity?
What are the different states of a bug?
What are the different levels of the testing?
What is unit testing?
What is integration testing?
What is Security Testing?
What is Soak Testing?
What is Performance Testing?
What is Load Testing?
What is Volume Testing?
What is Stress Testing?
What is Scalability Testing?
What is Concurrency Testing?
What is Fuzz Testing?
What is Adhoc Testing?
What is Interface Testing?
What is Reliability Testing?
What is Bucket Testing?
What is spike testing?
What is localisation testing?
What is globalisation testing?
Related posts:
- API Testing Interview Questions and Answers
- Automation Framework Interview Questions and Answers
- Cypress Interview Questions and Answers
- Database Testing Interview Questions and Answers
- ETL Testing Interview Questions and Answers
- QA Testing Interview Questions and Answers
- Selenium Testing Interview Questions and Answers
- Software Development Life Cycle Interview Questions and Answers