Wednesday, July 20, 2016

Mobile Automation in Agile World


Test Automation of Mobile Apss , Web in Agile.


To achieve compatibility between users, devices and the market, including test automation as a part of the agile development process is typical. Fortunately, a lot of tools are available, and test automation is a perfect fit for this process. For example, let’s say your typical development sprint is two weeks. You have daily standups and a lot of scrum activities, and you own internal policies that gear development to the final product. Test automation offers a significant value-add by enabling testing to be done in parallel — for example, as nightly test sessions. By the next morning, the tests will have been finalized and the results of the latest regression will be ready for review. Fixing an issue earlier will save a lot of time and get developers to finalize the product sooner; most importantly, it cumulates to better quality, with fewer bugs.





Test automation offers the possibility to test mobile apps instantly and effectively. Once tests have been automated, they can be executed quickly and repeatedly, again and again. In almost all cases, this is the most cost-effective method for regression testing of software products that have a long maintenance life. In fact, test automation of any mobile app is the best way to increase the effectiveness, efficiency and coverage of the testing process. The true benefit of automation comes not only from the reputability of tests, but also from the ability to execute tests that probably could not even be performed manually. Continuous integration together with mobile app testing as below.



Comparison of test automation frameworks.


So as per above image Appium is a pretty good choice for both apps and games because, in many cases, apps and games tend to be identical (or at least very similar) on both platforms, Android and iOS — and so the same test script can be applied to both. Another significant benefit of Appium is that users can write tests using their favorite development tools, environment and programming language, such as Java, Objective-C, JavaScript, PHP, Ruby, Python or C#, among many others.

Appium enables users to execute tests on mobile devices regardless of OS. This is possible because the Appium framework is basically a wrapper that translates Selenium’s WebDriver commands to UIAutomation (iOS), UIautomator (Android, API level 17 or higher) or Selendroid (Android, API level 16 or lower) commands, depending on the device’s type.


For full and details information about article click here
 

 

 
 


Sunday, July 17, 2016

Useful REST API response code list

REST API response code list.




Response Code
HTTP Operation
Response Body Contents
Description
200
GET, PUT, DELETE
Resource
No error, operation successful.
201 Created
POST
Resource that was created
Successful creation of a resource.
202 Accepted
POST, PUT, DELETE
N/A
The request was received.
204 No Content
GET, PUT, DELETE
N/A
The request was processed successfully, but no response body is needed.
301 Moved Permanently
GET
XHTML with link
Resource has moved.
303 See Other
GET
XHTML with link
Redirection.
304 Not Modified
Condition
 GET
N/A
Resource has not been modified.
400 Bad Request
GET, POST, PUT, DELETE
Error Message
Malformed syntax or a bad query.
401 Unauthorized
GET, POST, PUT, DELETE
Error Message
Action requires user authentication.
403 Forbidden
GET, POST, PUT, DELETE
Error Message
Authentication failure or invalid Application ID.
404 Not Found
GET, POST, PUT, DELETE
Error Message
Resource not found.
405 Not Allowed
GET, POST, PUT, DELETE
Error Message
Method not allowed on resource.
406 Not Acceptable
GET
Error Message
Requested representation not available for the resource.
408 Request Timeout
GET, POST
Error Message
Request has timed out.
409 Resource Conflict
PUT, PUT, DELETE
Error Message
State of the resource doesn't permit request.
410 Gone
GET, PUT
Error Message
The URI used to refer to a resource.
411 Length Required
POST, PUT
Error Message
The server needs to know the size of the entity body and it should be specified in the Content Length header.
412 Precondition failed
GET
Error Message
Operation not completed because preconditions were not met.
413 Request Entity Too Large
POST, PUT
Error Message
The representation was too large for the server to handle.
414 Request URI too long
POST, PUT
Error Message
The URI has more than 2k characters.
415 Unsupported Type
POST, PUT
Error Message
Representation not supported for the resource.
416 Requested Range Not Satisfiable
GET
Error Message
Requested range not satisfiable.
500 Server Error
GET, POST, PUT
Error Message
Internal server error.
501 Not Implemented
POST, PUT, DELETE
Error Message
Requested HTTP operation not supported.
502 Bad Gateway
GET, POST, PUT, DELETE
Error Message
Backend service failure (data store failure).
505
GET
Error Message
HTTP version not supported.


For API Testing check here.


Friday, July 15, 2016

Automation Testing


Automation software testing is an alternative to manual testing, where software tools, not human testers, execute pre-scripted tests on a software application before it is released into production.

Manual software testing is performed by a human sitting in front of a PC carefully going through application screens, trying various usage and input combinations, comparing the results to the expected behavior and recording their observations. Manual tests are repeated often during development cycles for source code changes.

Automation Testing means using an automation tool to execute your test case suite. Automation tools enable testing organizations to run tests quickly and repeatedly. The tools manage test execution, report outcomes and compare results with earlier test runs. It will provide valuable test coverage after each test cycle using predefined test suites.

Why Automated Testing?
Goal of Automation is to reduce number of test cases to be run manually. Automated testing is important due to following reasons:

Automated Software Testing Saves Time And Money
Automated Helps Increase Test Coverage
Automated Improves Accuracy
Automation Increases Speed Of Test Execution
Automation Provide Daily Basis Auto Mail Report In Different Format
Automation Provide Continuous Integration (CI) with jenkins So It Will Run On Daily Basis
Automation Provide Facility To Run Thousands Of Test Cases Without Requiring Manual Efforts
Automation Helps To Run Many Number Of Negatives , Edge Case And Other Scenario On The Go

Which Kind of Tests Can Be Automated?
Unit Testing
Functional Testing
Regression Testing
Black Box Testing
White Box Testing
Keyword Testing
Data Driven Testing
Smoke Testing

Which Test Cases to Automate?
Test cases that are executed repeatedly
Test Cases which are time consuming
All High risk and complex test case which is difficult to perform in manual testing every time.

Some Well Known Automation Tools

QTP: HP’s  Quick Test Professional
Rational Robot: By IBM test automation tool
Selenium: Open source
Appium : open source for Mobile Automation testing
TestComplete: By SmartBear automation tool

For Mobile Automation Testing check here.