Showing posts with label software testing types. Show all posts
Showing posts with label software testing types. Show all posts

Tuesday, 28 May 2019

What is Acceptance Testing? Types and Examples – W3Softech

Acceptance Testing

Acceptance Testing is the final level of software testing. The main aim of this testing is to determine the working process of the system by satisfying the required specifications and it is acceptable for delivery. It is also known as End-User Testing. It also works under the Black Box Testing Method.

Types of Acceptance Testing

The most important seven types of this testing are
Acceptance-Testing-Types-W3Softech

User Acceptance Testing (UAT)

The name itself says that it is from the user point of view. It helps to determine whether the system is working for the user with the given specific requirements. Here, the user refers to whom the system is going to handle after completion of all the testing levels. Usually, customers or customer’s customers will perform this testing.

Business Acceptance Testing (BAT)

It helps to check whether the system satisfies the business requirements and specifications. The main aim of this testing is to help in increasing business profits by considering market strategies and technologies.

Contract Acceptance Testing (CAT)

The name itself says that it helps to test the product with all acceptance test cases within the contract period of time. The contract may be like payment will be done before the product goes live or after the product goes live.

Regulation Acceptance Testing (RAT)

If testing undergoes all the rules and regulations that are released by the government then it is said to be RAT. Not even a single violation has not to be found while performing this testing if any occurs then the whole product will be going under failure. So, it is the most important and complicated testing type.

Operational Acceptance Testing (OAT)

This testing mainly used to determine the product’s compatibility, reliability, stability, etc., before it is going to live.

Alpha Testing

Specialized Testers will perform this testing to check any bugs have occurred. Also, they help to give suggestions to improve product usability in a controlled manner.

Beta Testing

Beta Testing helps to grab the bugs or any issues of a product. End-Users will perform this testing with an uncontrolled manner.

Best Example to understand this testing

  • During the process of manufacturing a mobile phone, there are so many parts like a camera, speakers, flashlight, buttons, display, headset, charger, etc., will be produced separately by different manufacturers.
  • All these parts will first go under unit testing
  • After unit testing, they go for integration testing.
  • Later, system testing will be performed
  • Finally, acceptance testing will be performed before it is out for delivery.

Friday, 24 May 2019

What is Integration Testing? Types, Tools and Strategies – W3Softech

Integration Testing

The process of testing the combination of units or integrated units of a system or product is called Integration Testing. It is the second level of software testing and helps to test the multiple modules of software written by different level of programmers. It is also said to be String Testing or Thread Testing. Also one of the levels of testing usually performed by developers or software testers.

Working Process of Integration Testing

  • The initial step is to prepare the tests plan
  • To design the test cases, test scenarios and test scripts
  • To execute the test cases
  • Optimize the test cases
  • To perform re-testing to ensure that the system is defect-free

Integration Testing Types/Strategies/Approaches

There are 4 different testing approaches namely
  • Big Bang Approach
  • Top-Down Approach
  • Bottom-Up Approach
  • Hybrid/Sandwich Approach
Integration-Testing-Approaches-W3Softech
Integration Testing Approaches – W3Softech

Big Bang Approach:

Big Bang Approach is nothing but testing by combining all the functional units at the group. This approach will take place after receiving the software at once.

Top-Down Approach

Here top-level units are going to be tested first later lower level units will be tested one by one. This approach takes help of Test Stubs to perform testing on lower level units

Bottom-Up Approach

It is quite opposite to the Top-Down Approach. This approach takes help of Test Drivers to perform testing on top level units

Hybrid/Sandwich Approach

This approach is the combination of both Top-Down and Bottom-Up Approaches. Here top-level units and lower level units are tested. It takes the help of both test stubs and test drivers

Top 15 Integration Testing Tools

  • Citrus
  • eZscript
  • FitNesse
  • Jasmine
  • LDRA
  • Pioneerjs
  • Protractor
  • Rational Integration Tester
  • SMART INTEGRATION TEST ACCELERATOR (SITA)
  • Spock for JAVA
  • Steam
  • TESSY
  • Validate MSG
  • VectorCAST/Ada
  • VectorCAST/C++

Monday, 13 May 2019

What is Agile Testing? Agile Testing Methodology and Life Cycle | W3Softech

Agile Testing

          Agile Testing is a process of software testing which follows the agile software development principles. It is non-sequential but to start with continuous integration between testing and development. The main aim of agile testing is to achieve high-quality product within a short period of time. It consists of short time frames called iterations so that it is also called delivery driven approach.

Agile Model vs. Waterfall Model:

          Agile Model is used while working with an agile methodology and the waterfall model is adopted from a waterfall development approach. Both are different methods of software development process even though they are different but both are important based on the requirements and type of project. The major differences between the agile model and waterfall model are listed below
Agile ModelWaterfall Model
Testing process of agile model is unstructured compared to the waterfall modelWaterfall Model Testing process is structured with maximum planning
It is best suitable for small projectsIt can handle all kind of projects
Agile Model helps to fix errors in the middle of the project as it starts with the beginning of the projectIn the waterfall model, errors need to fix from the beginning of the project as it tests at the end of the project
As agile testing contains short time frames it requires less documentation for the testing processWhereas waterfall testing requires big data of documentation for the testing process
Agile testing can take place at every stage of project developmentWaterfall testing is able to begin only after completion of project development
Here testers can work along with developersHere testers and developers need to work separately
To analyze the project requirements testers need to maintain communication with developersHere there is no need for any communication between developers and testers as they work separately
In the agile model, acceptance is able to perform at the end of every sprintIn the waterfall model, user acceptance can perform only at the end of the project

Agile Testing Methodology:

As there are a number of methods available for agile testing, these two plays a major role in the development process

Test Driven Development:

  • It uses tests to direct and drive the development process to write an automated test before writing the code. There are two levels of testing available here namely Unit Testing and Acceptance Testing
  • Unit Testing comes under white-box tests which confirm developers expectation of developing the code with the help of tools usually xUnit Framework tool
  • Whereas Acceptance testing comes under black-box testing which confirms the customer’s expectation of system capability with the help of tools usually FIT Tool
  • It helps to run all the tests whenever new code is checked-in at all the time

Continuous Integration:

  • It keeps the main development code-line clean to ensure that the whole product works correctly on the whole time to provide a high quality product
  • Both tests such as Unit and Acceptance Tests are going to execute whenever any new code is checked-in to build 100% defect-free code-line
  • TDD helps to make sure that your own code is correct whereas CI make sure that code-line is defect-free without any regression

Advantages and Disadvantages of Agile Model:

AdvantagesDisadvantages
It helps to make good communication between testers and developersNeed highly skilled testers and developers to analyze the project requirements
Agile Model consumes less money and timeOnly suitable for small projects
It is very flexible to use and easily adaptable to changesThis Testing process required unstructured data with minimum planning
Any changes can be made in the middle of the development processSometimes it may get failed due to lack of software deliverables

Agile Testing Life Cycle:

Requirements:

Gathering basic requirements for a project to move it into an agile development process. It helps to make perfect planning to start a project

High-level planning:

Make perfect planning to begin a project with the help of testers and developers

Designing:

Make sure to establish perfect communication between testers and developers so that we get the best design of a project

Development:

After successful completion of designing, we need to move the project into development for better output

Test:

Here is the major step takes place which is Test. The complete project needs to be tested to make it defect-free

Deliver:

Need to deliver the project to the customer within the required period of time

Review:

After successful delivery once review the working practices of the project and make sure it is fine

Feedback:

Finally, take feedback from the customer to improve the next deployment cycle
Agile-Testing-Life-Cycle-W3Softech
Agile Testing Life Cycle - W3Softech

Agile Testing Tools:

Top 20 agile testing tools that are most widely used
  • CruiseControl
  • Gretel
  • Hudson
  • JAZZ
  • Jester
  • Jira
  • JMeter
  • Junit
  • JunoOne
  • Nunit
  • Pivotal Tracker
  • Practitest
  • QMetry
  • qTest Scenario
  • Selenium WebDriver
  • SoapUI
  • TestCocoon
  • TestRail
  • VersionOne
  • Zephyr

Friday, 10 May 2019

What is Big Data Testing? Big Data Testing Tools and Types | W3Softech

Big Data Testing:

Big Data Testing is the process of testing applications which contains Big Data. Here, Big Data in the sense collection of large data sets that are too hard to handle by traditional data computing applications. Datasets involve a wide range of tools, techniques and frameworks to process the application testing. Performance Testing and Functional Testing are key elements of Big Data Testing.
In the process of this testing, testers need to verify the processing of terabytes of data using supportive components. It involves checking various characteristics such as accuracy, conformity, consistency, data completeness, duplication, validity, etc.,

Big Data Testing is divided into three steps

Step 1: Data Staging Validation

  • In the first step, a large amount of data should be validated from a wide range of sources like RDBMS, Social Media, Weblogs, etc., to ensure that data is correctly pulled into the system
  • It compares the data pushed into the Hadoop with the source data to ensure that they both are matching
  • It helps to verify the data which is extracted and pushed into correct HDFS location

Step 2: MapReduce Validation

In the second step, QA engineers or testers need to verify the business logic validation among every node and need to validate them after running over multiple nodes. Here MapReduce validation works based on Map procedure which performs filtering and sorting whereas Reduce procedure performs a summary operation
  • It ensures that application process works properly
  • Implementing the data based on data aggregation rules
  • Make sure validating the data after the process of MapReduce

Step 3: Output Validation Phase

The third step in big data testing is the output validation phase. In this final step, the output files are created and moved to a Data Warehouse system or to any other system depending on requirements
  • It helps to check whether the transformation rules applied correctly or not
  • It validates the data integrity and data load into the system
  • Helps to ensure the data free from corruption by comparing the HDFS system data with target data

Difference between Traditional Database Testing and Big Data Testing:
PropertiesTraditional Database TestingBig Data Testing
DataHere tester able to work with structured dataHere tester able to work with structured and unstructured data
ApproachIn this type, the testing approach is well defined and time-testedHere testing approach requires focused R&D efforts
InfrastructureAs the system size is limited there is no need for any special test environmentIt just requires a special test environment as it contains large datasets usually in terms of TeraBytes
Validation ToolsIn these types, for system validation testers use macros or automation toolsIt uses different types of tools based on the big data cluster

Different Types of Big Data Testing Tools:

Big Data ClusterBig Data Testing Tools
MapReduceCascading, Flume, Hadoop, Hive, Kafka, MapR, Oozie, Pig, S4
NoSQLCassandra, CouchDB, HBase, MongoDB, Redis, ZooKeeper
ProcessingBigSheets, Datameer,  Mechanical Turk, R, Yahoo! Pipes
ServersEC2, Elastic, Google App Engine, Heroku
StorageHadoop Distributed File System (HDFS), S3

Thursday, 9 May 2019

What is Cloud Testing? Cloud Testing Tools and Types | W3Softech

Cloud Testing

Cloud Testing is defined as the process of testing Cloud Computing Services like Software, Hardware and other Remote Services. It is one of the Types of Software Testing generally used to perform on all cloud testing services.

Objectives of Cloud Testing:

  • The major objective is to reduce the execution time of testing for large applications
  • It helps in reduction of cost
  • More efficient and greater scalability
  • Helps to increase the mobility
Cloud Computing is mainly divided into three categories namely IaaS, PaaS and SaaS

Infrastructure as a Service (IaaS):

The name itself says that it works on physical resources like storage, network devices, computing servers, etc., these resources are provided as per the user requirement. It is the first and most important category also called the building block of a cloud.

Platform as a Service (PaaS):

It is the second category of the cloud. It is also called as Application Platform as a Service or Platform Based Service. It helps customers to develop, run and manage applications without any interruption to OS and required middleware, etc.,

Software as a Service (SaaS):

Software as a Service also called On-demand software or Software plus services. It is the final category of cloud computing. It is simply defined as license-based software available to any user based on their required plan. Up to certain features, it is available for the free later user to need to pay and get full access. Examples are Windows OS, Adobe Photoshop, etc.,
Cloud-Testing-Types-Blog-W3Softech
Types of Cloud Testing - W3Softech

Types of Cloud Testing:

Cloud Testing is able to perform on both Functional Testing and Non-Functional Testing some of them are listed below

System Testing:

System Testing is performed to check whether all functions of the application are working properly or not under given system requirements

Interoperability Testing:

This testing determines the flexibility and compatibility of the application while changing from one infrastructure to other

Acceptance Testing:

It is the final stage of testing under functional testing to ensure that it meets the user expectations

Availability Testing:

Here the admin has to make sure that the cloud is available always as there may be sudden functions are going on which do not interrupt the user activity

Multi-Tenancy Testing:

This shows that the application should perform correctly while multiple users are trying to access the application at an instant time.

Performance Testing:

Performance Testing is of two types Load Testing and Stress Testing. It ensures that the application must accept the load and stress from N no. of user requests. To perform well the cloud need to have elasticity which increases the usage as required

Security Testing:

It helps to check the security of the cloud is accessible for only authorized users and data must be protected.

Disaster Recovery Testing:

As the data is available in cloud servers sometimes there may be a cause of system failure, data loss or extreme workload. So this testing helps to measure how fast the error got found and any data loss occurred.

Cloud Testing Tools:

Here we provide the list of most important cloud testing tools
  • AppPerfect
  • Cloud Assault
  • CloudTestGo
  • HP LoadRunner
  • Jmeter
  • Keynote
  • LoadStorm
  • Nessus
  • Nmap
  • Parasoft SOAtest
  • SOASTA
  • Wireshark

Wednesday, 8 May 2019

What is Mobile Testing? Mobile App Testing Tools and Types | W3Sofetch

Mobile Testing

Mobile Testing can be defined as the process of testing the mobile devices to check the performance of developed software application usability, functionality and consistency. The Mobile App Testing can be done through either manually or automatically.

Mobile Testing Types:

Mobile Application Testing can be divided into two types namely Software Testing and Hardware Testing

Software Testing:

The process of testing the software application developed for mobile devices is known as Mobile Software Testing or Mobile Application Testing. Again this testing is divided into three parts
Native Apps: Native apps are apps created for general purpose usage on mobile platforms and tablets.
Mobile Web Apps: These apps are called server-side apps developed to access websites on mobile using various browsers such as Firefox, Chrome, etc.,
Hybrid Apps: These are the combination of the above two apps which can run on offline as they are developed using HTML5 and CSS

Hardware Testing:

This testing is used to perform on hardware parts of devices like internal processors, screen sizes, resolution, RAM, ROM, camera, Bluetooth, FM Radio, etc.,

Differences between Native Apps and Mobile Web Apps:

Native AppsMobile Web Apps
It has a single platform affinityIt has a cross-platform affinity
These are written in SDK formatThese are written in HTML, CSS, PHP, etc.,
Only downloadable from play store or app storeOnly accessible through the internet
It requires installation compulsoryNo need for any installation
Can be updated from play store or app storeThese are centralized updates
Most of the native apps don’t need an internet connectionFor all mobile web apps, the internet is compulsory
Works fasterWorks based on web technology used

Types of Mobile Testing:

Depending on the mobile testing types, below are the testing types which are used to perform on mobile devices

Usability Testing:

The name itself says that it is used to check the user experience of the developed mobile application. It should satisfy the user in terms of usability, flexibility and friendliness

Compatibility Testing:

This testing is usually performed on mobile devices to make sure that whether the developed mobile application is comfort with the device. To check that the developed app is compatible with mobile’s screen resolution, OS Versions, etc.,

Interface Testing:

Interface Testing helps to determine the performance of user interface like menu buttons, history, settings, bookmarks, etc.,

Interrupt Testing:

Interrupt Testing is the process of testing an application which may undergo interruption while using the mobile app. In simple words we can say that testing the developed mobile app while there may come interruptions like SMS, Calls, Web notifications, on/off the media player, etc.,

Memory Leakage Testing:

It helps to determine the optimization of the mobile app under limited memory. Thus, each developed application should work without making any memory leakage and satisfy the user.

Performance Testing:

Testing the performance of a mobile application which may go under various changes like data changes from mobile to wifi, low battery power consumption, network coverage, etc., Here testers need to perform testing on both sides of application such as server-side client side.

Operational Testing:

Operational Testing is the process of testing a mobile application’s backup or recovery functions if the user upgraded an app from a store.

Installation Testing:

Whenever a user is able to install, uninstall or upgrade the developed app this testing came into existence. The mobile app should satisfy the user while performing any of the above steps without interrupting.

Security Testing:

Security Testing is the process of testing to determine the security of the mobile app without losing any data. Here testers need to check the app whether it is working under given security guidelines and protecting the data.
Mobile-Testing-Types-Tools-W3Softech
Mobile Testing Types - W3Softech

Differences between Mobile App Testing and Desktop Testing:
Mobile App TestingDesktop Testing
The developed software application can be tested on mobile devices like Samsung, Apple, Nokia, etc.,Here the application is tested on a Central Processing Unit (CPU)
Mobile devices consist of low screen resolutionDesktop consists of high screen resolution
Mobile devices contain less internal memoryThe desktop contains a large amount of internal memory
Here they use network connections like 2G, 3G, 4G or Wi-FiWhereas desktop use dial-up or broadband connections
Automation Tool may not work properly on mobile appsAutomation Tool will work properly on desktop testing

Mobile App Testing Tools:

These are the top 16 mobile app testing tools

  1. Appium
  2. Appium Studio
  3. Calabash
  4. Frank
  5. FrogLogic
  6. KIF
  7. KMAX
  8. Kobiton
  9. MonkeyRunner
  10. MonkeyTalk
  11. Robotium
  12. SeeTest
  13. Selendroid
  14. SmartBear
  15. Testdroid
  16. WebLoad