• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

Apps GenieTalk an Virtual Assistance chatbot based on Artifical Intelligence Platform

GenieTalk

Lurker
Hi everybody, it's a opportunity to talk to experts as i m not one. I have started working for a company called GenieTalk. The mobile app is based on Artificial Intelligence which is built to easy your daily lifestyle like booking flight and movie tickets, cab, making restaurants reservation for more info visit our website. As our app will be launching this month end, I need experts help for testing and letting us know where we lack behind to meet the technology need at users end. And i m sure you guys will give me right direction as i m dependent on experts like you. so i need your help to understand the basis of testing and where to start.
 
Just out of interest, what's your role at this company? As you've posted in the App Dev forum, which is primarily offering technical advice on aspects of development, you are in the right place if you want tech advice on how to test an app.

App testing, as with all software testing, has different levels. From developer unit testing, right through to system and integration testing. As you can imagine, the level and depth of testing you need depends on the complexity of the system as a whole.

In terms of a developer testing his/her code, then there are various techniques you can employ to test the code. Not least is the application of unit testing. This involves identifying the parts of the code which can benefit from writing unit tests. Some people advocate near 100% code coverage in a unit test suite, but I tend to think that some parts of the code are so trivial, that dedicated unit tests aren't necessary.
One important thing that a unit test suite does give you, is automatic regression testing. Regression tests ensure that when you change something in the code, it hasn't broken anything else. Manual regression testing can be a huge drain on resources, which is why an automatic test suite is very beneficial.

Some comprehensive discussion of testing techniques can be found in these links:-

http://www.vogella.com/tutorials/AndroidTesting/article.html
https://developer.android.com/training/testing/start/index.html
https://www.tutorialspoint.com/android/android_testing.htm

One of the more challenging aspects of unit testing any system with major UI content, is simulating how a user would interact with your app. Clicking buttons, navigating menus etc. Historically this has been quite difficult to automate, but now there are test libraries available for Android which do just that. I personally use a test library called Espresso

http://www.vogella.com/tutorials/AndroidTestingEspresso/article.html

You may also want to consider testing your app on other types of devices e.g. tablet. If you don't own a multitude of different devices, then the emulator can help a lot, by allowing you to install and run your app on other simulated devices. And also handy to test your app with different API versions, to check for backwards compatibility.

At a higher level, then you may need to consider system, or integration testing of your app. If it's part of a whole system, involving communication with a back-end database server, for example, you would need to allow some time for this kind of testing.

And you will also need some beta test cycle, involving real users testing your app.

So you can see there's a lot to think about in testing your app. It's not something you should think about putting in place at the end of the development cycle. Many developers advocate a 'test driven development' (TDD) approach. This is where you write unit tests even before writing any lines of code in your app. Certainly this activity should go in parallel with app development work.

It's a huge area to consider, and what I've said here just scratches the surface really. But there are plenty of articles on the web covering this subject.
 
Back
Top Bottom