Software Testing

In our portfolio, we have test projects for enterprise-scale software applications, both manual and automated. You can take advantage of our experienced knowledge and get our software quality assurance testing services.

The testing languages, tools, and frameworks we usually use are: C#, Java, PHP, JavaScript, Xunit, Nunit, MsTest, TestNg, Mocha, Selenium, Cypress, Appium, Cucumber, Postman, Katalon, Zap, SwaggerHub, Jira, Jenkins, Robot Framework.

There are several test stages:

  • Unit testing: a software testing method for testing of individual code units (program modules, associated control data, usage and operating procedures).
  • Integration testing: software testing stage in which the tests are conducted to evaluate the compliance of a system or component with specified functional requirements.
  • System testing: evaluates if the system meets the specified requirements and if it is suitable for delivery to the end-users.
  • User acceptance testing (beta testing, end-user testing): software development stage in which the software is tested in the “real world” by the intended audience or business representative.
  • Release or deployment testing: is done to ensure that the product is ready for deployment and won’t have issues post-deployment.

Manual Testing

With manual testing we’ll check software or application quality manually, without using of automated testing tools or executing test scripts. With manual test we identify bugs, defects, and issues in the software that hinder the user’s experience.

Some well known manual test types are:

  • Exploratory testing: to explore software without predefined test cases.
  • Ad-hoc testing: to test software based on our experienced knowledge and intuition, exploring the areas that presumably have defects.
  • Usability testing: to ensure the software is easy and intuitive for end-users.

Automated Testing

Automated testing is done using automation frameworks and testing tools to automatically run a suite of test cases. The tools for test automation are:

  • Katalon: an automation testing software tool, is built top of the open-source automation frameworks, Selenium and Appium for testing of the web, API, mobile and desktop applications.
  • Postman: for testing of the web APIs.
  • Selenium: allows users to test web applications across different browsers and platforms. We can write Selenium tests in the preferred programming languages as are: Java, Javascript, PHP, Perl, C#, Ruby, .Net, and Python.
  • SoapUI: tool for testing web services; these can be the SOAP web services as well RESTful web services or HTTP based services.
  • Cypress: frontend test automation tool for regression testing of web applications.
  • Robot Framework: generic test automation framework for acceptance testing and acceptance test-driven development (ATDD). It is a keyword-driven testing framework that uses tabular test data syntax.
  • Appium: automation tool for running scripts and testing native applications, mobile-web applications and hybrid applications on Android or iOS using a webdriver.

Both manual and automated testing have their roles.  Once manual testing process is complete, the tests must repeatedly go through the same steps over again.  That is when test automation gains importance.

Testing methods and strategies are the subject of the discussion with the customer and depend on the project type and scale.