开发者

How do I test my iOS Apps

My question maybe silly, but can anyone coach me?

Except doing some test(most likely white box testing) while开发者_如何学运维 coding, after the App was built, do we have some testing tools or special method for doing the test?

All I can imaging for now, is only manual testing the functionality of my App.

Thanks everyone.


Update: Added section 'Automated testing for iOS4'

As a professional tester my suggestion is that you should have a healthy mix of automated and manual testing. The Examples below are in .net but it should be easy to find a tool for whatever technique you are using.

AUTOMATED TESTING

  • Unit Testing
    Use NUnit to test your classes, functions and interaction between them.
    http://www.nunit.org/index.php

  • Automated Functional Testing
    If it's possible you should automate a lot of the functional testing. Some frame works have functional testing built into them. Otherwise you have to use a tool for it. If you are developing web sites/applications you might want to look at Selenium.
    http://www.peterkrantz.com/2005/selenium-for-aspnet/

  • Continuous Integration
    Use CI to make sure all your automated tests run every time someone in your team makes a commit to the project.
    http://martinfowler.com/articles/continuousIntegration.html

  • Automated testing for iOS4
    Automate the testing of your application by scripting touch events using the new UIAutomation Instrument.
    Some links:

    • http://answers.oreilly.com/topic/1646-how-to-use-uiautomation-to-create-iphone-ui-tests/
    • http://cocoawithlove.com/2008/11/automated-user-interface-testing-on.html
    • http://alexvollmer.com/posts/2010/07/03/working-with-uiautomation/

MANUAL TESTING
As much as I love automated testing it is, IMHO, not a substitute for manual testing. The main reason being that an automated can only do what it is told and only verify what it has been informed to view as pass/fail. A human can use it's intelligence to find faults and raise questions that appear while testing something else.

  • Exploratory Testing
    ET is a very low cost and effective way to find defects in a project. It take advantage of the intelligence of a human being and a teaches the testers/developers more about the project than any other testing technique i know of. Doing an ET session aimed at every feature deployed in the test environment is not only an effective way to find problems fast, but also a good way to learn and fun!
    http://www.satisfice.com/articles/et-article.pdf


Take a look at automated testing tools. Supports automated and manual testing/sending feedback from within the app with annotated screen shots


I suggest you take a look at the iPhoneUnitTests sample code posted by Apple on their developer site.


FoneMonkey is a free and open source functional testing automation tool available for download from Gorilla Logic.


There a number of emerging options for automated functional testing, including Appium, Calabash, Frank, and Zucchini.


Much of testing any application is about understanding what you are testing and areas that should be tested. Some of this comes with experience, but types of things to consider testing about would be:

  • Functionality

  • iOS Design Guidelines / UI

  • Gestures

  • Connectivity

  • Types of devices to test on

  • Audio

  • Data

  • Crash reporting

  • Analytics

There's a big list of areas to cover.


I recommend Kiwi, its used for Behavior Driven Development. By far my favorite testing framework, makes testing much more fun, and test much readable and clear.

https://github.com/allending/Kiwi

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜