Blog

Robotium vs. Appium

26/10/2015 16:55

Robotium testing servicesA number of reports have highlighted the rapidly growing popularity of mobile apps. With more and more enterprises launching mobile applications, the users now have option to choose from millions of apps available at various app stores. So it has become essential for businesses to attract, impress and engage users by launching apps that work flawlessly across multiple devices and operating systems.

That is why; the QA professional have to use advanced test frameworks to assess the look, feel, functionality and performance of the mobile app across various devices and platforms in a faster and more effective way. Both Appium and Robotium are popular open source mobile test automation tools. But the two widely used mobile testing frameworks differ from each other in terms of features, usability and performance.

Robotium is designed with features to speed up Android application testing. It supports almost all versions and subversions of Google’s mobile operating system. The huge worldwide market share of Android makes Robotium one of the widely used mobile testing frameworks. Appium, on the other hand, comes with features required to test cross-platform mobile apps. It supports popular mobile operating systems like Android and iOS, along with Firefox OS. Thus, testers can use Appium to test apps developed by targeting multiple mobile operating systems.

Robotium focuses only on Android application testing. So it supports only one programming language, i.e., Java which is developers use while developing Android apps. But Appium supports several programming languages including Java. It includes a WebDriver interface that supports a number of popular programming languages including Java, C#, PHP, Ruby, Perl, Python and JavaScript with Node.js. So Appium can effectively test mobile apps developed using commonly used web technologies and programming languages.

By seeking only Robotium testing services, it becomes difficult for QA professionals to write platform-independent test scripts. As it supports a single programming language, they further cannot modify and reuse the test scripts as they are written for the Android platform. But Appium makes it easier for QA professionals to write platform-independent test scripts in their preferred programming languages. They can even reuse the same test script to test the application across multiple platforms.

Nowadays, enterprises have option to develop native, hybrid, and mobile web apps. So testers need tools to assess different types of mobile apps within a shorter amount of time. As Robotium supports only Android, it can be used for testing native and hybrid apps developed by targeting Google’s mobile operating system. On the other hand, Appium can be used for testing native, hybrid and mobile web applications. In addition to testing iOS and Android apps, the testers can also use Appium to check how the mobile web app works on web browsers like Chrome, Safari and Firefox.

Both Robotium and Appium do not have inbuilt record and play functionality. But the QA professionals have option to use Robotium Recorder to record junit tests while interacting with the Android device. However, they have to incur additional expenses as Robotium Recorder is licensed software. The framework still comes with features to help testers write system, function and acceptance tests. But it requires testers to access the source code during mobile app testing automation. The framework further does not allow testers to run tests across multiple devices in a parallel way. But Appium enables tester to automate their mobile testing efforts without recompiling or modifying the mobile apps. So they can test the app as it will be shipped or delivered to the client.

Both Appium and Robotium are supported by large and active communities. But many professionals feel that members of the Appium community are more proactive and stronger that the Robotium company. Appium is further backed by a large company like Sauce Labs. On the whole, the QA professionals can take advantage of the features provided by Robotium to test Android applications thoroughly and effectively. But they have to use Appium to effectively automate testing of cross-platform mobile apps.

Mindfire Solutions, 16 year old software development company from India has good experience in using Robotium and Appium testing services for mobile apps. If you have need of testing services in these areas, please email your requirements to sales at Mindfire Solutions dot com and you will be suitably addressed in the next 72 hours.

How effective is Test Driven Development

19/10/2015 16:17

agile testing procedureSoftware testing procedures are becoming very important to the developmental lifecycle of the software due to the fact that the software development yields better products due to the testing. These tests reveal the glitches that, otherwise, may have caused dissatisfaction of the customers.

With the passage of time, as the organizations became more aware of the importance of the software testing procedures, various types of testing techniques have been developed which tests the various aspects of the developed software for a detailed knowledge about the errors and various performance issues of the software being tested.

TDD or Test Driven Development also known as test driven design is the process of software development where the development process is continuously coupled with unit testing of the source code so that the developed source code is perfected after it has been developed. The procedure is repeated as many times as required till the individual units of the source code has been rendered problem free.

The main effectiveness of the Test Driven Development is the fact that it helps in development of an error free software in less time than any other methods and makes the developers and testers aware of how the software will react in case of real world situations which the software may be facing when the customers will be using it.

Although most of the people would agree upon the fact that Test Driven Development is one of the most robust technique of software development as designing the text before the code for the software has been written, helps in better implementation of the design as well as helps in the development of a more quality product. However as people are not fully aware of the benefits of Test Driven Development, it is also one of the least used methods, when it comes to agile testing procedure.

Test Driven Development has the following effects on internal quality, external quality and productivity of the software that is undergoing the process.

  1. Internal Quality: Depending up on the level of the software which is being tested, Test Driven Development may provide you with a complex or a relatively simple result. While class or method level tests will provide you with a simple result, package or project level tests usually produces complex result for the Test Driven Development procedure. Also you need to implement the correct test in the required field to get the optimum results. Along with the applied methods, other factors like skills, experiences etc. also play a role in the internal quality.

  2. External Quality: Evidences show that Test Driven Development produces marked improvement in the external quality of the software which is being tested. Both the industrial and pilot study cases have shown favourable evidences towards positive impact on the external quality of the software.

  3. Productivity: the productivity of the software shows marked increase due to the Test Driven Development. However, the multiple tests performed due to Test Driven Development may cause the introduction of various other errors which can be avoided by being a bit careful. However, the consistency of the improvement is questionable.

We have tried to provide you with a fair idea about how Test Driven Development will be effective in the developmental life cycle of the software you are trying to create. If you are on the lookout for providing a good quality product to your customers, then this is one of the best agile testing procedures that you will be able to follow for a hassle free developmental procedure which requires a small amount of time.

Mindfire Solutions, 16 year old offshore software development company from India has constantly delighted its customers through its expert software development and stringent software testing/QA services. If you are interested to hire the reliable testing services from Mindfire Solutions, send in your requirements to sales at Mindfire Solutions dot com.

Various Tools Available for Automated Testing of your Website

08/10/2015 15:55

expert automation testing servicesWebsites are an important part of our daily life these days. Developing a website may seem to be easy but there are multiple features that must be taken under consideration before launching it for public use. There are several issues like website functionality, security, accessibility, usability, compatibility and performance which needs to be tested before the website can be launched. And these are some of the major criteria that companies providing web development services should always adhere to.

Following are some tools which will automatically test all these criteria and repair the probable flaws.

  1. Apache JMeter: When it comes to testing the load, performance and stress handling capacity of the web application, you can blindly trust Apache JMeter. This load testing tool supports all available platforms and is written in Java 6+.

  2. NeoLoad: NeoLoad which is made for Linux, Windows and Solaris, specializes in checking the website for increased loads on the same. It helps in measuring, analysing as well as improving the performance of the website under stimulations such as added loads.

  3. Selenium: Comprised of four basic components, viz. Selenium IDE, Selenium RC, WebDriver, Selenium Grid, Selenium is by far the most popular automated testing tool for testing your website. It specifically checks your website for any functional issues that may be diminishing its popularity.

  4. Screenster: Screenster is yet another functional testing tool for web applications that is compatible with the latest browsers that are available. This is one of the best screen validator available which requires no coding and provides accurate and precise results.

  5. SpringTrax: SpringTrax is an awesome cross browser link manager which detects, evaluates and repairs all kinds of broken links as well as 404 errors in the web application being tested. It evaluates both the lost traffic along with the visitors who use JavaScript tracking code.

  6. LinkTiger: LinkTiger is an awesome piece of automated website testing tool that performs smoothly on Windows, Linux as well as Mac. It checks your website for all available links and provides you with result in form of pie charts containing page status, link status and dead link errors.

  7. NTOSpider: NTOSpider is an automated security testing tool for websites which scans the website for every possible security issues that it may encounter and that too in a small amount of time. This cost effective tool also provides security to the website that is being tested with it.

  8. NMap (Network Mapper): Linux, Microsoft Windows, BSD variants – Mac OS X, AmigaOS, Solaris, HP-UX and SGI IRIX, whatever may the OS be that you are using, NMap (Network Mapper) works equally well on all. The cross platform security checking tool is automated and checks the system by delivering target packages which scans the system and provide with precise results.

  9. Browsera: Browsera collects and reports all the cross browser issues that may be curbing the performance of your website. It is supported by both Windows and Mac OS and compares the various browser outputs to find the underlying cross browser issues that may be affecting the functionality as well as performance of your browser.

  10. IE NetRenderer: IE NetRenderer allows quick and easy testing of the cross browser issues and reports it to the respective people so that they can be rectified. It also simultaneously checks the website under development in real and parallel times.

These are some of the top notch automated tools which you can use to test your website for the all-round performance and security issues of your website. These automated tools provide you with highly precise results so that you can deliver a superior quality product to your customers.

Based on the requirements, Mindfire Solutions has been providing expert automation testing services to its clients for the past 16 years. And we have always made sure to use many of the above mentioned tools as we continue making the code bug free. If you would like to hire our expert testing professionals then do send in your requirements to sales at Mindfire Solutions dot com and we would respond to you in the next 72 hours.

Mobile App Testing and Your Enterprise

06/10/2015 15:42

mobile app testingWith the advent of smart phones and the advancement in the mobile technology, people are using the device more and more for the purpose of communication and for accessing the web. Statistics show that in the near future, the number of people using mobile to access the web will be far more than people using the desktop or laptop to do the same.

With the increased popularity of the smart phones, the competition among the mobile app developers has also increased as each strives to make their app a favourite among the target customers. One of the best ways to make your app a favourite among the customers and to generate profit for your enterprise is by testing the developed app before launching it for public usage so that you can rectify the necessary glitches that may cause the dissatisfaction of the customers.

In order to perform the mobile app testing procedure in a simple yet effective way which also saves time, you may want to follow certain strategies which will help you to enhance the customer base of your enterprise and also earn greater revenue from the satisfied and loyal customers.

  1. Determine the most Popular Devices: As an app developer, your first and foremost job would be to determine which kind of device is most popular among your customers so that you can create an app which is compatible to those devices and test them accordingly. The enterprises should also be far sighted so as to know which device will take the market by storm in the future.

  2. The Legacy Devices: Certain devices take the market by storm and create a place in the minds of the customers by their own right. These devices may no longer be available at the store or the companies might have stopped updating their OS, yet they remain a hot favourite among the users. The enterprises have to keep these legacy devices in mind while testing their respective mobile apps.

  3. Thinking Globally: While you are planning on testing your app, you will have to keep in mind a global market. As the business of your enterprise will be expanding, so will your customer base which will expand beyond the limits of your own country. You will then have to test your app in a manner so that your customers across the globe are satisfied by the service you are providing.

  4. Size Matters: Estimates show that by 2020 the number of people using smart phones will be nearly 24 billion. With the increase in consumers, there will be a considerable surge in the types of devices. While testing for the developed apps, your enterprise will have to take the screen size and resolution of all these devices into account. You will also have to remember the tiny devices like Apple watch, Google glass, Samsung gear etc. Into consideration which can be used to access the apps.

  5. Android vs. iOS: This is one of the most persistent points that every enterprise who develops and tests apps must take into consideration. Although the majority of mobile app users use Android, the global survey shows that 50% of the app testing time is dedicated to iOS apps each year due to the fact that Apple updates its OS along with the apps unlike Android whose updates take up longer time to reach and get updated by the customers.

All in all, if you want your enterprise to have a profitable future, app testing is an absolute must which is to be done under all circumstances for the benefit of both customers and service providers.

Mindfire Solutions has an unparalleled experience in Enterprise Application Testing and has been providing the services to it 300+ clients located all over the globe. If you are looking for a dedicated testing team that would ensure your code is bug free, do let us know your requirements at sales at Mindfire Solutions dot com.

Positive Testing Vs. Negative Testing

15/09/2015 11:45

Software testing servicesAs a web developer, the dearth for reliable software testing that enables verification and validation of software application is always felt. Testing not only ensures whether the software under test is functioning properly or not, but also ensures thorough efficacy for the application. This, however, is carried out by two different yet unique software application testing ways ‘Positive testing and Negative testing,’ both of which basically help enhance the quality of software application. As the name suggests they are two contradicting procedures yet are highly effective in getting the quality software at the end of the day. Let’s see how they are different from each other!”

As a Procedure: Positive testing is a procedure where the system is authenticated against the valid input data. The experienced testing professional here tests the fields with the data that needs to be inserted into the database. Suppose there is a mobile number field then the tester will test if the field takes digits or not? Then he will test if it takes upto 10 digits or not? Negative testing, on the other hand, is a testing process that involves system validation against the invalid input data. In above case, the tester will try to insert some characters into the mobile field and tests if it takes it. Then he will try to enter a mix of numbers and characters into the field for validation. He may also try to enter more than 10 digits or less than 10 digits to check if only valid input data is considered or not.

Set of Values: When the developer uses Positive testing for software application, only a valid set of values is checked. Under Positive testing, the developer primarily checks whether the application is behaving properly or not with its expected inputs. Negative testing whereas tests out whether an application is behaving properly or not with its Negative inputs. Suppose, there is an address field and the user is said to enter it without any comma, semicolon etc. Then the Positive tester will test the field by inserting only characters but the Negative tester will check if it takes comma, semicolon or only digits etc. By this way, Negative tester always tries to find loop holes in the application to make the application stable and reliable.

The Objective: The primary objective of Positive testing is to ensure that the software application always meets the specifications and requirements decided by the developer. It focuses more on the expected behaviour of a web application. It does not bother how the software application will behave under abnormal situations i.e. with invalid information or data.Negative testing differentiates itself by ensuring that the software application is not displaying bugs and errors when supposed to and displaying errors when not supposed to. The chief purpose here is to check the stability of a web application against inaccurate validation data sets.

Functionality: In a simpler term, a Positive test for software application involves writing the test case to accept only an accurate value. The test case here is written only with the valid input data to test the application thoroughly. A Negative test for software application, on the other hand, works by carrying out the test cases for an inaccurate set of input data. Here the test case is written with a set of abnormal input data to check the validity of the application. In fact, it ensures the capability of the application to detect errors or bugs in the user input values.

Performance: While the purpose of both Positive testing and Negative testing is to enhance the functionality of an application, the latter helps perk up the testing coverage of the user’s software app under test. The focus rests more on improving reliability as well as stability for the software application. Hence, Negative testing is a must for each and every application. If we are leaving the application for Positive testing alone, then the application will be unreliable and unstable one.

Boundary Value Analysis: This important software testing method basically includes values at the boundary. Testing is considered as Positive if the input data is employed within the boundary value limits. And if the input data is found on the exteriors of the boundary value limits, testing is then considered as Negative – both of which, help with ensuring utmost quality for software application. Imagine there is a field for Mobile numbers without any prefix then as per the programmer, it should be of 10 digits. Isn’t? So, the Positive tester will test the field by putting 10 digits into the application whereas the Negative tester will put 9 digits or 11 digits to test the application if it takes them as input.

Equivalence Partitioning: Under software testing, developers often adopt an ‘equivalence partitioning’ technique – a method that actually helps segregate the input data into several partitions. If thepartitions carry valid values, they are employed for Positive testing. Partitions with inaccurate values whereas are used for Negative testing.

Limitations: Though it seems that there is no limitation for Positive or Negative testing; but the fact is different. There are many situations where we have to compromise on our testing procedure. Imagine a static web application without any form or dynamic content. Where you will implement Positive testing or Negative testing? There is no scope in that case. Though,Positive testing can be done; but very limited scope for Negative testing. With Positive testing or Negative testing, we cannot test the entire application on a single shot. We have to modularize the application and then we have to perform both the testing procedure one after another. Even using Automation tools, we can’t perform both testing at once for the entire application. Many times, we have to stop the in-depth testing i.e. both Positive testing and Negative testing due to lack of resources and time. In that case, we have to compromise on the quality of the end product though.

The Conclusion – Why both are equally important?Positive testing and Negative testing are like two sides of a coin. We can’t ignore the importance of anyone in any case. When both are adopted the output is awesome; If any of them is neglected the end product will be ugly.

While Testing forms an integral part in software development cycle, it becomes even more important while outsourcing the software development part to a third party vendor. Mindfire Solutions has been a leader in provider quality testing services over the past decade. Apart from being an ISO 27001:2005 certified, Mindfire is also an ISTQB – Gold partner by virtue of having a large number of ISTQB certified Quality professionals. To reach for any Testing Services please mail to sales at Mindfire Solutions dot com.

Negative Testing Should we do it

03/09/2015 17:23

Software testing servicesTesting is the most essential phase of Software Development Life Cycle (SDLC). In fact, without proper and perfect testing, any application cannot be of superior quality. That is the reason why, Testers are also known as Quality and Assurance professionals. Tasting makes the application not only bug free but also stable and reliable one. Tester can find out how much potency the application has within itself and how it will act under different circumstances. Considering different requirements of testing, it is widely divided into two categories namely Positive Testing and Negative Testing. Today, our role is to discuss Negative Testing and its importance in real applications with special reference to Web application and desktop application.”

Negative testing for input field testing: While dealing with any software application, it is absolutely common to find many forms that need user inputs. Now, it becomes essential to test those input fields and this process is known as input field validation. As a tech savvy guy, you must aware of two types of input validation i.e. client side input validation and server side input validation. Both the sides are done by the developer; but it needs to checked thoroughly before moving it to the live stage. For the same, the tester needs to test each and every input field with contradicting values. For example, suppose, there is a field for Telephone number input. The tester needs to test whether it takes numbers in the field as a part of Positive testing. On the contrary, in Negative testing the tester tests if also takes Characters in the field, if takes more than 10 digits (i.e. to test if real telephone number or not) in the field etc. Again, he also needs to test the same for the server side validation i.e. after disabling JavaScript, does it takes characters or more than 10 digits into the database or not.

Negative testing for load time and response time: Performance of an application is as important as the quality of application. So, the application must be super fast and impart better user experience and for the same, the application must be tested properly and thoroughly. With Negative testing approach, the tester needs to test the application performance under different circumstances. It checks if the application able to fulfil the user requirement and does not crash or hang during browsing process. For the same, we need to test the load time of the application and obviously the response time should be considered. The tester puts as much load as possible on the server and tries to find out how the application exactly behaves under pressure. He makes multiple API calls and many server requests though the automation testing tool to check the load time of the application. If the application succeeds in the test then its fine else he fires a report for further enhancements.

Negative testing for exception handling: Exception is something that makes the application stop working. Suppose a user inputs 0 in the denominator of a calculator. What next? The result will be infinite and we can’t display the same. So in that case, there is usually a block of code written in the application to handle the exception or error and that particular block of code get executed when there is an exception. Usually there is a try block followed by catch for exception handling. Many times, the developer overlooks this scenario and hence forgets to put the try.. Catch block. So, it’s the duty of qualified testing/QA professional to find each and every exceptional case from the application with improper inputs and accordingly the exception is handled.

Negative testing for stability: Stability is one of the most important features of any application. If an application is not stable then it will be termed as a bogus application. Negative testing or we can say failure testing is the approach that enables an application’s actual strength by putting the application in wrong modes i.e. putting invalid data and trying to validate it anyhow. This needs typical creativity and patience so that, we can ensure if the application able to track the invalid data or not. By the end of the process, we can calculate or measure the stability of the application without much effort and hassle.

Negative testing for boundary value situation: Boundary value is the best possible error causing data that might be overlooked by the developer. Suppose there is an application that needs your age of activity should be between 5 years and 20 years. Then, the tester will try to check if it takes 20 year and 5 year of activities into the database or not; because, these two data are known as Boundary Values. So, the tester needs to check the boundary data as the input and the behaviour of the application for better result.

Negative testing to avoid data corrupt: As a software engineer, I can say anything in the database i.e. not relevant is like a bug. There should not be a single data entry into the database without any prior screening. Imagine a scenario, there is a field for First name in the database and we fine many numeric characters in those fields like Rnp34 or similar. Is it really a practical name in any manner? No, absolutely not. There are many hacker tries to enter bad data into your database, in fact they try to make it corrupt with bad or wrong data. But if the application is strong enough and is able to identify these types of invalid data then it will definitely stop them from the entry into the application server or database. So, its duty of the tester to check each and every prospective of the application and make sure that any user can’t enter a single bad or corrupt data into database.

Finally, it’s all about Quality Assurance!! As we already discussed, the chief aim of any tester or testing procedure is to make the application bug free and reliable one. The quality should be our primary concern from the very beginning. To achieve a quality end product, we have to follow many other testing approaches along with Negative testing. In fact, Negative testing is one of the testing processes that must be undergone before the production stage. Positive testing is a must and should be simultaneously performed along with Negative testing for an excellent end product i.e. stable, reliable and robust!!

Mindfire Solutions has been a reliable software testing consulting services provider to its clients for over 15 years now. We have dedicated teams for web and mobile app testing. We have senior QA experts, who have been carrying out Negative Testing for developing fail-safe applications since last 5 years. If you need any kind of assistance in your software testing process please feel free to get in touch with us now and our software testing team will revert back with a free quote within one business day. Also as a special offer, you can avail the limited period Risk-Free Trial Offer.

Steps to consider before outsourcing Software testing

27/08/2015 17:26

software testing servicesMost of the skilled software development organizations know the value of QA as well as the importance of software testing services. Development companies look for solutions to below questions:

Will the application function as expected?

Will there be bugs which affect the user’s experience?

When will the application go live?

This is the reason why QA along with testing services are very important and go together with the development processes. Project managers within large the companies ensure that QA testing need to serve about 33 percent of any project’s duration. QA services provide a large amount of benefits to businesses aiming to improve the overall quality regarding application development along with management processes and minimize business issues by rigorous testing.

With the rise to the global IT outsourcing, a lot of companies look for outsourcing QA and testing for getting top quality deliverables and also for getting competitive benefits. The benefits of outsourcing consist of cost reductions as well as a better using the capital, labor, and technology. There are several items to consider and be aware of prior to signing an agreement with the outsourcing company.

The Engagement Models - Choosing the engagement model is really an important part of the outsourcing plan. The plan includes various aspects, which includes elements of international business strategy, choosing the geographical location, knowing the landscape as well as choosing the outsourcing plan. Various engagement models are:

Incremental Outsourcing - Companies can minimize their chances of outsourcing through splitting the task to small, much more workable projects which they outsource to the companies. Managers in the client company that is why have well-defined deliverables, the programs that work together a contract with related schedules. The area of the work is set on the project by project basis.

Total Outsourcing - Within this model, a number of programs and projects from the client organizations are usually outsourced to some service provider that also represents the end to end program management along with delivery for the client. Project, module or program which is taken from the client organization from the service provider, deploys an onsite team that actually works together with the client teams and their managers also they coordinates work along with the offshore team which does the majority of the work.

SLAs - The SLAs must outline the minimum amount of service must be offered from the outsourcing company. They must be objective and measurable and don't have any ambiguity. It will help both sides in the long run. A few examples regarding the kind of SLAs which should be regarded are:

Timely delivery - dates needs to be agreed at the beginning regarding all big deliverables by all efforts to make sure they are fulfilled. Make use of change control processes in case these dates have to be moved.

Client Satisfaction - regular surveys needs to be carried out to ensure that the service provided from the outsourcing partner is good enough to customers.

Effectiveness - effectiveness metrics consider reducing costs, increasing profit, and also adapting business transactions

The amount of Work - the amount of work at times is hard to define. For instance, projects which are billed for a time-and-material basis might talk about volume regarding many resources whereas a fixed-price project generally specifies lots of deliverables. This metric is a crucial part of the SLA.

Sensitivity - These metrics estimate how much time is needed for any outsourcing partner to carry out a request.

Availability and System Downtime - when outsourcing, ensuring 100% services availability will cost much more than ensuring 99% or 98%, while not all companies or even all applications require 100% reliability. In the SLA, it must ask service availability to fulfill certain business needs.

Also, it is advisable to make sure that SLAs are tied to the contract, at times to risk/reward basis in order to make sure that there is common desire for fulfilling them.

Mobilization - This stage usually consists of establishing the communication process with the client, shaping the work breakdown structure, standard templates sharing to the client, establishing the test strategy and so on.

Quality Improvement - One of the key goals of the client often is to get an important progress in quality which can be gained by outsourcing. Once the relationship amongst the both the parties develops, there has to be a determination to consistently improve the process and improve the working methodologies. This shouldn't really be limited to just testing only, but should consist of the entire lifecycle when it improves the end product.

Flexibility - Outsourcing agreements of QA and testing need to have an amount of flexibility in order to make sure timescale fluctuations are fulfilled.

Change Management - Clients will usually have constantly changing needs which, when managed improperly, might really impact the time, quality, and the cost. In order to help clients tackle with such scenario, QA and testing outsourcing businesses have a complete change and have configuration management system.

Intellectual Property Protection - IP protection is among the crucial factors for the customers while outsourcing services. Outsourcing providers of QA and testing need to protect every PERSONALLY IDENTIFIABLE INFORMATION (PII) provided by the clients. It must never be duplicated, distributed, disclosed, conveyed or make available of any PII to third parties in any other manner.

People - Lot of outsourcing providers hold exclusive centers of excellence in order to train their interns as well as their staff on different testing methods and tools which are needed for smooth execution on the engagement. Making sure of the best resources for your needs are available is important towards achieving the success of the engagement.

Communication - The outsourcing providers enable communication among the client and the stakeholders. Communication is regarded as a key challenge with outsourcing; hence providers need to manage good channels and POC available to clients.

Security - Many of the leading outsourcing providers have certain Security Policies, mainly to secure data. Such security measures given by outsourcing vendors have measures to limit the entry and exit of equipment, personnel, and media from a specific area.

Software testing is an important stage of software development although not the primary activity of many organizations. Outsourcing this function makes it possible for companies to focus on main activities as well as leading innovation, while the QA and testing providers work effectively, making sure of good quality results as well as an excellent business outcome.

Mindfire Solutions has been providing software testing consulting to its esteemed clients for over 15 years now. We have dedicated teams for enterprise, desktop, web and Mobile Application Testing. If you need any kind of assistance in your software testing process or you need to hire software testers, please feel free to get in touch with us now and our software testing team will revert back with a free quote within one business day. Also as a special offer, you can avail the limited period Risk-Free Trial Offer.

Effectiveness of Appium in iOS and Android App testing

17/08/2015 16:23

mobile testing servicesMost of the apps make use of Internet browsers and the web technologies, also those native apps over Android and iOS. The efficacy of testing these types of apps differs extensively among the users, what frameworks and the tools that are being used. Teams which are building maybe native, hybrid or even web apps make use of the Agile methodology in which test automation includes significant advantages available. Appium is similar to Selenium, especially for mobile apps and for the games. You must have heard about this many times earlier, but in reality, Appium is far more than that. Appium is further well suited for the mobile web testing while the real devices and the real browsers are being used for testing. Emulators will certainly not work for example Chrome may not be even installed to regular Android QEMU-based emulator. Quite a few emulators may possibly work under Chrome, but they are always emulators and not one end-user makes use of emulators in order to run your web, app or game products. By exactly the same effort and the cost it's possible to build the test automation using Appium with the help of real stuff.

Basically, Appium is known to be a mobile app automation testing framework having a tool which works well on native, hybrid and with the mobile-web apps for the iOS and the Android. Appium, certainly is a good option for the test automation framework because it can be used in all of these various apps or web kinds. Actually, Appium obtains its sources from Selenium and also it makes use of JSONWireProtocol internally in order to connect to iOS and Android apps with Selenium's WebDriver. Within its structure, Appium is known to be an HTTP server that is written in Node.js which creates and also deals with several WebDriver sessions. Appium begins tests over the device then listens to the commands through the primary Appium server. It is basically similar to the Selenium server which obtains HTTP requests through Selenium client libraries. In case you are used to Selenium, then you can very well work with Appium. Appium and Selenium make use of same WebDriver, and the DesiredCapabilities can be used in the same way. It is possible that your current test scripts of Selenium work as they are with the Appium setup. However, configuring any application to work on Appium has many resemblances to Selenium, for instance, all that DesiredCapabilities.

Remember that the ecosystem of mobile is quite different when compared to desktop. Since mobile OEMs were building their stuff, they even are likely to distinguish things to different factors, like browsers. Indeed, mobile browsers, no matter what standard they can be among those aspects in which the majority of device makers wish to include their invention and this is rapidly resulting in a pleasant combination of various webkit versions with many features. That in combination with the OS version, memory, various sizes of displays, hardware configuration and many more can really distinguish exactly what user is getting as form among these browsers. Making your test scripts using Appium or Selenium the automating testing can certainly help you get knowledge how good will your web stuff work with such devices and with browsers.

One more area which every mobile web developer must take note of is performance, The rendering time of a web differs drastically from device to device and also to see end user experience make sure you test just how CSS & Javascript renders over devices. You will discover some very good benchmarks, such as for example BrowserMark by the Rightware, which can be used for measuring the performance of the hardware along with a particular version of the browser. This provides knowledge about how good certain workload performs on a specific device with a particular web browser. While to know the way your own web stuff acts within various conditions, automation test with Appium/Selenium has much to provide.

Appium makes it possible for the users for executing tests upon mobile devices irrespective of OS. It is possible since the Appium framework is actually a wrapper which translates WebDriver commands of Selenium to the UIAutomation, UIautomator or Selendroid. One of the greatest things regarding Appium for the developers is that, it gives support for a variety of programming languages, flexibility to select tools, being compatible over the primary platforms Android and iOS, flexibility to install and also configure devices to test and much more. Appium, in addition, features a component known as the inspector. This particular inspector allows many functionalities, for instance, featuring all of the UI elements within the application and also allowing basic recording and playback. Although, you might not require the inspector since everything can be carried out in the code.

Mindfire Solutions has been providing software testing consulting to its esteemed clients for over 15 years now. We have dedicated teams for manual and automation testing. If you need any kind of assistance in your manual software testing process or you need any kind of assistance in web application automation testing, please feel free to get in touch with us now and our Software Testing Team will revert back with a free quote within one business day. Also as a special offer, you can avail the limited period Risk-Free Trial Offer.

Drupal vs. WordPress: A comparison

04/08/2015 16:00

wordpress developmentDemand and supply are just like two sides of a coin. To fulfil the demand of the user there must be enough resource so as to meet the expectations of the industry. If you are not able to meet the ever changing demands of the industry then you couldn’t sustain in the market. Similarly technology should be always up to date so as to provide optimum service to the developer and hence the end user. Every technology strives to remain in the industry with newer and advanced features and to serve the industry in a meaningful manner. Content management system is one such platform that provides enough scope for the developers in developing enterprise quality web applications. It definitely reduces the effort of the developer due to its in built systematic architecture and hence increases the productivity of the software developer. Drupal and WordPress are two magnificent CMS software available in the industry to serve in an efficient manner. But, nothing is perfect in this materialistic universe and so the case for these CMSs as well. Let us discuss their advantages and disadvantages and usefulness from the developer’s point of view”.

Ease of Use: For CMS software, user interface plays an important role as a deciding factor. User interface is something that makes sense when we think about ease of use and easy to learn character of the software. The popularity of WordPress is around ten times than that of Drupal considering the fact that the population of WordPress user is ten times more than that of Drupal. This is due to simple user interface and easy to learn approach of WordPress CMS. But the case is different with Drupal; though it is efficient enough to handle complicated web applications but it needs more effort and time from the Drupal developers to learn and integrate all the components of the CMS whereas WYSIWYG editor of WordPress is much more user friendly to provide better accesses for the WordPress developer. In fact WordPress releases upgrades every three four months without creating any annoying experience for the developer whereas Drupal upgrades need effort from the developer to handle the code changes of the newer version.

Scalability: Scalability is something that enables the web developer in crafting enhanced web applications from scratch with less effort and with more efficiency. There are many options available in a CMS platform that extends the features of a web application like integration of advanced themes, templates, plug-ins and components etc. Again the ease of integration of these features matters a lot from the developer’s point of view. WordPress provides sufficient room for the developer to integrate better themes, plug-ins and components etc from a repository of millions of contributions of the industry whereas Drupal developers may not find enough open source templates and plug-ins for their application. But if we consider about the quality of customisation then the clear winner will be Drupal because of its highly optimised Architecture that enables the Drupal developer in building high performance web applications; but at the cost of effort and expertise from the developer. In short we can say the customisation features of WordPress are better for moderate standard web applications whereas Drupal is consistent enough for big content web solutions.

Security features: Undoubtedly the security standards of Drupal are par ahead of WordPress due to its highly optimised design pattern. A Drupal application is extremely secure and hence can be used confidently for any big data application. On the contrary WordPress is little loose from its score and hence it can’t be a trusted one for data driven application. Again due to larger community of WordPress, hackers love to show their talent in the bigger canvas. Hence the security threat is more for a WordPress website than that of a Drupal.

Search Engine Optimization: Search Engine Optimization is one of the most important features of every CMS. There are many third party SEO tools or plug-ins available in the industry along with the inbuilt SEO tools. There are more number of advanced SEO tools and plug-ins available in WordPress platform than that of Drupal. On the contrary, Drupal platform has less number of SEO tools available in the industry but due to its default caching features, it forces Google to give priority for a faster Drupal website. Again Drupal can handle larger volume of content without any hassle and hence it makes a lot sense when we think about search engine optimisation. So it is like a tie between both the platforms from two different angles.

Performance: It is needless to say that the performance of an optimised platform is always better than that of a loosely coupled platform and hence Drupal performs outstanding in the industry. Drupal is having a tremendous popularity in the industry as a tough yet powerful CMS and it enables the developer in building enterprise quality high performance web applications.

Futuristic i.e. Responsiveness and mobile platform support: Industry has understood the importance of responsive web design in building a larger audience community for its business. It can be well achieved with the introduction of smart apps and web apps for different platforms like Android, IOS and windows operating system. Fortunately both Drupal and WordPress provides enough scope for the developer in designing responsive web applications through dedicated mobile theme for their application. WPTouch is one such WordPress mobile theme for responsive web design. It is already revealed that building a responsive web application with WordPress is much easier than that of Drupal platform. Again WordPress handles both the desktop web application as well as mobile web application in a better way so that your website can be well visible on the search engine. In fact WordPress provides real time content editing feature on mobile and it is extremely helpful for updating your blog in real time and it can be done from a native mobile app itself.

And the Winner is: Both the CMSs are having some advantages and disadvantages with respect to different prospective. WordPress is better for a medium volume content application where as Drupal is powerful enough to handle any complex application. WordPress doesn’t require much learning and expertise from a developer whereas Drupal needs it from the very beginning. Drupal is highly secure and stable platform but WordPress is extremely simple and flexible. So we can say Drupal is best platform for complex applications whereas WordPress is a simple platform for quick web building that doesn’t require much expertise from the developer.

We, at Mindfire Solutions, are equally competent in WordPress and Drupal. If you have any custom WordPress plugin development requirements, or need the help of our senior WordPress programmers: please feel free to give a shout to us any time and we will be replying back within one business day.

Mobile App Testing Best practices

31/07/2015 16:03

mobile app testing services

During the past ten years or so, testing has grown to become an important element of any kind of development; however it is so very important in creating mobile applications, in which users’ needs have always been very high. Testing is essential to find any kind of errors which is required to be eliminated. All from the functionality to user interface and the usability should be estimated and perfected by a regular testing process. Among the greatest concerns within the world of mobile apps are higher expectations from user. Mobile users expect a lot from mobile apps and devices as compared to Web or desktop. For that reason, knowing your targeted customers and also their requirements is very important.

You should collect some information like age of the user, gender, mobile usage habits, geographical location and so on to have a better idea about your customers. This information will help you to learn about usage patterns and will help mobile testing properly in the business. Having some detailed information about the user, it will be easy to reduce your testing attempts by focusing on what exactly is important for the user. You could be able to even minimize the number of devices for the testing, as you simply need to test only on the devices that your customer uses.

Professional software testers have an understanding of software testing names as well as the techniques like boundary values, classes, equivalence, many coverage types, along with acceptance criteria. All of this understanding is very useful as it applies to the mobile testing. Also the functional and the nonfunctional testing techniques from Web or the desktop applications are needed, with a little change for the mobile testing. Testing in different type of data networks is among the most essential situations for testing mobile applications. A mobile app that needs an Internet connection to carry out a task might come across various data networks for the customer is on the go.

In case a mobile app that would be used in different nations, make sure that the app needs to support many languages. Then, mobile app testers need to test the app with the different languages which it supports. Language testing is important since each language has unique characters and are with different sizes. One of the important things is that both the developers and the testers need to make sure consumer and the business critical apps fulfill performance, functional, needs to be user friendly and has to meet compatibility requirements. Besides the capabilities of cloud-based mobile testing services, there are some tried and tested practices which mobile app testing could adopt for effective and efficient testing. Below are some of the best practices for testing mobile app.

  • Planning of testing strategy helps in making some guidelines that every tester is expected to adhere to. This gives uniformity in the testing and makes adequate test coverage.

  • Although emulators and the simulators are useful for testing during the early phases of development, but the app should be tested adequately upon actual devices too. Testing on the real devices helps ensure test results are practical and provides the tester a much better understanding about the appearance and feel about the app as well as about its general usability.

  • Start with testing the moment development has got to a logical stage. It will help to find problems early prior to when they turn out to be very expensive to fix later on. Keep a track for every test cycle.

  • It is not possible to test extensively on every device, network and on OS combinations. Make a decision in the beginning itself as to what kind of devices and the OS the app is going to function on and then begin the QA.

  • Automation minimizes time to market and produces high ROI other than providing the advantage of repeatable testing. However, do remember about regular maintenance for the automation test suite.

  • Performance, security and stress testing help make your app robust and that can avoid financial liabilities due to user distress. Look for known or unknown weaknesses; those are due to third party and from open source software packages.

  • No matter what the variations in performance for any network-aware mobile app that may be using WiFi, 3G or may be 4G connectivity, the users will probably blame it on the app instead of their connectivity. Testing can document bottlenecks by which the app could adjust during the low bandwidth situations.

  • Battery consuming apps probably gets deleted. Make sure that you check out just how much battery your app is consuming. In addition, you need to check how good it functions along with other popular apps as well as how it is easily adjustable to negative conditions such as different network strengths or the suspended connections.

  • The app would be popular worldwide provided that it adjusts to different geographies. Make sure that it supports different languages, currencies as well as popular social networks of popular markets.

Around 50 percent of users who come across a bug never come back. To choose a good testing partner to progress with will make the real difference between great results or failure to your app.

Mindfire Solutions, an ISTQB Gold certified partner company, is one of the leading software testing companies in India and has been providing software testing services to its esteemed clients for over 15 years now. We have dedicated teams for enterprise, web and mobile app testing. If you need any kind of assistance in your software testing process or you need to augment your team by hiring QA testers, please feel free to get in touch with us now and our Software Testing Team will revert back with a free quote within one business day. Also as a special offer, you can avail the limited period Risk-Free Trial Offer.

1 | 2 | 3 | 4 | 5 >>