Checkout our demo site to practice selenium https://magento.softwaretestingboard.com/

0 like 0 dislike
601 views
by Expert (572 points)
retagged by
Can you list types of testing like ETL testing, performance testing, load testing, stress testing, functional testing, mobile testing? Also, kindly give brief of each types of testing. It would be great if you can draw graph of it.

3 Answers

1 like 0 dislike
by Expert (572 points)
selected by
 
Best answer

Software Testing basics
 
Let me explain you based on my experience. I will try to simplify as much as possible. My explanation given below will not be definition. It will be more of a knowledge transfer as per my professional experience.
 
What is testing?
Testing is a process where we test some product to identify defects. This will be done by the new comer to the testing industry most of the time. Here product can be a Mobile app, Web application, Desktop application, ETL based application or it can be anything. 
 
What is QA?
QA is a process to verify that we have a proper development process in place and the developed product is usable. The QA guy will be mostly involved in writing test cases and making sure that product is the usable stage and all acceptance criteria are met.
 
What is a test case?
A test case is set of instructions/steps you follow in order to test an application. Eg. Simple login functionality for an eCommerce app can have 6 different test cases to test it. The test case should be subjective and any new comer should be able to execute tests case. It should have very detailed instructions. Refer to the screenshot below. 
 
There are many types of testing. But below are set of low-level testing techniques/terms usually being followed in the industry.
Unit Testing: This is done by the developer. He/She will write code to test their own code. The tester/QA does not really have to worry about this part.
Smoke Testing: This is a basic testing we do on a product to make sure that product is testable.
Regression Testing: In regression testing suite, we are going to have a set of tests which we think we need to execute every time the functionality of a product is changed or new functionality is added. This testing usually is very time-consuming. So before we jump into it, we make sure that product is in testable condition by executing a basic set of test cases selected for smoke testing.
Retesting: This is usually done when one bug is resolved. So as a tester, I raise one bug. Meanwhile, I even select set of test cases through which I identified those bugs. Once the bug is marked as fixed or resolved, I execute those set of test cases to make sure that the bug is not found anymore. If the bug is not related to any test cases, I write new test cases and execute those.
Acceptance Testing / UAT: Once you are done with your testing, your product will be handed over to the business team who got the requirement. They will do their own testing to make sure that they can pass on the product to the client or to the consumer.
 
Apart from above four types of testing, below are few testings we do. All below are usually completely or part of regression testing depending on the product.
Integration Testing: In integration testing, we make sure that all modules of the product are integrated properly. E.g. Verify that Gmail is properly integrated with Google Drive.
Interface & Usability Testing: This is to verify that product retain its interface and functions the same way across all platform combinations. E.g. To verify that eCommerce site loads the same way on all different browsers on all desktop and tablets.
Functional Testing: In functional testing, we make sure that product is functional on specified platforms. Eg. To make sure that user can upload a file from Windows machine and from Mac machine as well with the different combination of browsers. 
System Testing: In system testing, you test the entire system to make sure that it works fine before the UAT.
 
All above was to make sure that the software is functional on different environment/platforms or devices. So, in all, we call those as a functionality testing. Below is list of tests which we perform on the software product where we do not need to know the complete functionality of the product. So we call them nonfunctional tests.
Load Testing/Stress Testing: Here we put the load on the product to make sure that it functions fine. E.g. If you are developing the mobile application, we make sure that after activating all functionalities, it is still functional. In a case of eCommerce application, we verify that the site loads even if 1000s of users are accessing at the same time from different locations.
Compatibility & Migration testing: In this, we make sure that system does not break if migrated to the different platform. If a system is required to not to break. Eg. Java Swing based application is expected to work even if its migrated from windows to Mac/Linux.
Data Conversion Testing: As the name says, e.g. you have all your data into CSV or Excel and those are required to be loaded to MSSQL DB, you have to make sure that all tables and relation ships are created properly.
Security/Penetration testing: If you have an app which faces a large audience, you have to make sure the security of the app by performing various security testing on the same.
Installation testing: Here you make sure that if your system has installation process, it works fine on all different required platforms.
 
Also, people ask me usually what you do in black box testing or white box testing. So, terms black box testing and white box testings are kinds of grouping of test types or test cases. You test the system without an understanding of internal algorithms are black box testing. Eg. Search functionality in eCommerce application. Your test case is part of regression test here. In white box testing, you know how internal algorithm and data flow. Eg. In ETL based product, you should know end to end, how data is extracted and moved to a different table and what business logics are applied. Usually, there is no concept of black box testing nowadays. As, testers are becoming techie and they know the system internally, including algorithms and data flow. So usually we term it as gray box testing.
 
Industry terms.
There are few terms coined by business people and higher level executive like desktop testing, mobile testing, ETL testing, BI testing, etc. So, all those are high-level words where you are given a product, it can be ETL based product, BI product, IOT based product. So when you hear IOT testing, its more like testing an IOT application. As a QA, you have to define what to test and also define your smoke suite and regression suite.
 
Test Automation: So there are many tests which you will be testing, again and again, say all your smoke tests and all your regression tests. Those tests you can automate using various tools like selenium, QTP. The process of automating such tests is called test automation.

src: https://softwaretestingboard.com/qna/2059/can-you-give-me-some-basics-of-software-testing

by The go-to Tester (181 points)
Thank you Sumit. You can even write this as an answer by clicking Answer button below question body.
1 like 0 dislike
by Expert (570 points)

Most of the software testing companies work on following types of testing:

1. White box Testing: It is the technique of testing internal structures of application Also known as Glass box Testing.

2. Ad-hoc Testing: It is type of testing technique which can be performed by any qa company without any document or any test case
3. Integration Testing: The interaction between software and hardware is tested in integration testing if software and hardware components have any relation.

4. Functional Testing: A functional test could conclude that the software meets its specifications. However, it doesn’t verify if it actually works for the user. The functional dimension is only one of many

5. System Testing: It is a testing technique performed by qa services to test the complete system as per the specified requirements.

6. Stress Testing: A stress test is a test that pushes an application beyond normal load conditions.

7. Performance Testing:  It is a type of testing technique in which stability, performance, scalability and/or throughput of your web application(s) is measured by the qa testing companies.

8. Usability Testing: Under Usability testing, software testing services perform as the perspective of client, to evaluate how user-friendly the GUI is? How easily can the client learn? After learning how to use the software, how adeptly can the client implement the software? How pleasing is it to use its design? It is part of black box testing.

9. Acceptance Testing: User Acceptance Tests consist of a set of test steps, which verify if specific requirements are working for the user.

10. Regression Testing: In regression testing, the qa testing companies verifiy if the developed and tested software still performs correctly even after making some updates and nothing is broken.

11. Beta Testing: Beta Testing is also known as field testing. It takes place at customer’s site. It is performed by the customer to test the application as per the requirement.

by The go-to Tester (181 points)
Thank you, Sumit.
0 like 0 dislike
by Contributing Tester (79 points)

Automation testing is the application of tools and technology to testing software with the goal of reducing testing efforts, delivering capability faster and more affordably. It helps in building better quality software with less effort.

Uses of Automation Testing:

  1. Faster feedback

  2. Accelerated results 

  3. Efficient testing

  4. Increased ROI

  5. Higher overall test coverage.

There are various kinds of testing like:

  1. Functional Testing

  2. Security Testing

  3. Performance testing

  4. Load testing

 

For functional testing the most common platform is Appium.

Appium testing has various advantages:

  1. Does not require you to compile the app

  2. Appium can automate Native, Web, and Hybrid mobile applications and the tests can be executed on Real Devices, Simulators, and Emulators.

  3. Appium is cross-platform.

  4. Enables Testers to Automate Apps without Adding Extra Components.

  5. Provides a Record and Playback Tool.

The main power of automated functional testing is seen when it is run as a regression test on a large testbed of devices. One of the best ways to perform it is through an integrated testing environment like QAppAssure. You can test on-cloud and on-field devices, across 100+ device, make and models, Integrate with Jira, CI/CD tools and also use Appium, Calabash, Espresso, UIAutomator, XCUITest.


This site is for software testing professionals, where you can ask all your questions and get answers from 1300+ masters of the profession. Click here to submit yours now!

...