Page tree
Skip to end of metadata
Go to start of metadata

So what's the deal with automated testing? Simple. First of all, you don't have the time to test the app manually. Although manual testing has its benefits, as your apps grow and include more features you need some framework that can easily verify and validate these features while making sure that previously integrated features are still functioning properly.

seetest.io allows you to perform both automated app and mobile web testing:

There are three main components that make up the automated testing process:

  1. Automation tools
  2. Testing unit frameworks
  3. CI/CD integrations

Automation Tools

Automation tools allow you to break down an app to its components and interact with them in order to follow a test case that is designed to verify and validate the functionality of a feature. Take the simplest test case of all, login. The login process involves, at the basic level, three elements and three actions:

Elements:

  1. Username field
  2. Password field
  3. Login button

Actions:

  1. Fill in username field
  2. Fill in password field
  3. Click the login button

You can then validate different scenarios such as what happens when a user put the wrong username-password combination, what happens after three consecutive attempts, etc. Given the initial logic of a basic feature, you can then expand on test cases and enhance your tests such that they cover all scenarios.

Testing Unit Frameworks


MyTestClass{

	MySetupMethod(){
		//this method runs first and sets up everything that is required for the test to run properly
		//this includes that type of devices I want to test, the app I want to test, as well as other parameters
		//such os and app version
	}
	MyTestMethod(){
		//this is my actual test 
	}
	MyAfterTestMethod(){
		//this is the method that cleans up after the test has run, 
		//closes connections, quits drivers and publishes the results if required to do so
	} 
}


Test unit frameworks also allow you to run tests in parallel in case you want to run your test cases on multiple devices or browsers, and include built in assertion methods that act as litmus papers in that they react in accordance with the result of the condition you are trying to verify.

CI/CD integrations


CI/CD stands for "Continuous Integration, Continuous Development. and comprises the last stage of the testing process.

Continuous Integration

When several developers work on the same app but implement different features, it is almost inevitable that at a least one developer will introduce bugs into the code. Continuous Integration aims at preventing or minimizing the chance of faulty code being integrated into a branch or build. The idea is simple: a developer implements a feature and then runs a job that goes through the following flow:


Continuous Deployment

With Continuous Integration in mind, Continuous Deployment taps into agile methodologies in that it allows small incremental changes to be added to living applications. A set of developers develops and implements specific features and run their code through the CI flow. Given that all is well and their collective work is integrated, the application is then built and deployed for bug fixes or version update.

  • No labels