APPENDIX A

Links and References

I hope you will find these references useful. I appreciate your comments and recommendations too.

Here are some online resources related to this book:

Blog: http://mobilewirelesstestautomation.blogspot.com/

Site: http://sites.google.com/site/mobilewirelesstestautomation/

A.1 TESTING MARKUP (WEB SITES)

http://ready.mobi/launch.jsp?locale=en_EN—Online checker that allows a web site to be checked in terms of readiness for mobile devices. Simple, but quite useful. There are other similar sites and services available; however this one has more of a testing focus. It implements the w3c mobileOK basic tests (http://www.w3.org/TR/mobileOK-basic10-tests/). The w3c have recently launched a beta version of an online checker http://validator.w3.org/mobile/ and http://validator.w3.org/mobile/alpha.

http://www.cameronmoll.com/mobile and http://www.cameronmoll.com/mobile/mkp/—Include test pages to try with your xHTML phone browser.

http://dev.mobi/node/472—Sample code a web site might use to detect whether a request is from a mobile device or not.

http://www.w3.org/2005/MWI/BPWG/—Links to an open-source implementation of the mobileOK basic tests (written in Java).

http://www.tagjam.com/headers.php—Displays the HTTP headers, good for obtaining headers such as user-agent for our tests.

http://www.developershome.com/wap/detection/—A useful introduction to the nitty-gritty details of HTTP headers for WAP and xHTML detection.

http://www.zytrax.com/tech/web/mobile_ids.html—A discussion about user-agent strings for various mobile phones, with lots of examples.

http://www.ericgiguere.com/articles/masquerading-your-browser.html—A very readable article on user-agent strings, how to change them in various desktop browsers, etc. The site includes various ways to view the user-agent sent by your web browser.

http://www.pctools.com/guides/registry/detail/799/—Details of how to customize the user-agent string sent by Microsoft's Internet Explorer.

http://uche.ogbuji.net/tech/4suite/amara/—The Amara Python module, used to parse xml such as xHTML and WML responses from web sites.

http://www.w3.org/Protocols/HTTP/HTRQ_Headers.html—Last updated in 1994(!) documents common HTTP request headers including User-Agent and Accept.

http://tuxmobil.org/phones_linux_wap.html—Summary of software suitable for WAP/WML and iMode/cHTML. The site has links on how to setup Linux with various mobile wireless devices, however a number of links are broken.images

http://www.diveintopython.org/http_web_services/user_agent.html—Part of a great free resource on Python, this section describes how to set the user-agent string for HTTP requests.

http://www.crummy.com/software/BeautifulSoup/#Download—A very useful Python library to prettify web pages.

http://www.zvon.org/xxl/XPathTutorial/General/examples.html

A.2 J2ME TESTING

http://code.google.com/p/jinjector/—JInjector project homepage.

http://j2meunit.sourceforge.net/—J2ME unit itself.

http://www.wikistudent.ws/hammingweight/modules/hammock/—Homepage for Java ME mock objects representing common libraries. The source code is avialable at: http://hammockmocks.sourceforge.net/

http://kobjects.sourceforge.net/me4se/—Open-source project that provides the Java ME APIs in J2SE. See also http://midpath.thenesis.org/bin/view/Main/ for an implementation of MIDP that works with J2SE.

http://blog.emptyway.com/2007/04/05/comparison-of-java-me-unit-testing-frameworks/—Interesting comparison + good comments from readers.

http://java.sun.com/products/j2mewtoolkit/—Wireless ToolKit download link. Sun's toolkit for J2ME development that includes their emulator.

http://www.microemu.org/unittests.html—How to use the open-source MicroEmulator to automatically run unit tests for J2ME client applications. A worked example would be useful.

http://code.google.com/p/testingemulator/—Is an enhancement to the MicroEmulator and implements support for additional JSRs.

http://pyx4me.com/snapshot/pyx4me/pyx4me-cldcunit/—CLDC Unit test framework, untried by me.

http://developers.sun.com/mobility/midp/articles/test/—Fair article on using J2SE, lacks technical depth but written with a testing mindset.

http://www.devx.com/wireless/Article/32540—Worked examples of using J2MEUnit and JMEUnit testing frameworks.

http://weblogs.java.net/blog/alexeyp/—An interesting blog by a Sun insider who writes about ways to improve the testing of J2ME software.

http://developers.sun.com/mobility/allsoftware/—Sun's list of tools and emulators from various third party suppliers.

BlackBerry have several online articles, including:

  • How To—Automate testing with the BlackBerry Simulator Article Number: DB-00531.
  • How To—Use Javaloader to take a screen shot Article Number: DB-00484

I do not have a persistent link for them but search engines find them.

http://www.robotme.org/files/AutomatedGUITestingOfMobileJavaApplications.pdf—Masters thesis (also available in a similar form from Springer-Verlag to purchase) on how to automate the integrations testing of J2ME applications.

http://cobertura4j2me.org/—Open source code coverage tool for Java ME software.

http://www.sic-software.com/artikel/schulten_testen.pdf—An article, in German, on J2ME test automation.

A.3 JAVA BYTE CODE INSTRUMENTATION

http://www.ibm.com/developerworks/ibm/library/it-haggar_bytecode/—A useful introduction to Java bytecode.

http://en.wikipedia.org/wiki/Java_byte_code—A brief example of Java bytecode, including a summary of each bytecode.

http://asm.objectweb.org/index.html—ASM bytecode framework, useful for implementing bytecode instrumentation.

A.4 NATIVE APPLICATION TESTING

http://www.symbianosunit.co.uk/—Unit testing framework for Symbian phones.

A.5 TEST AUTOMATION WITH EMULATORS

http://www.perftestplus.com/resources/EA.pdf—A useful article on test automation using emulators. While the tools and emulators are old (circa 2001) the concepts and examples are relevant. Here is a related set of slides: http://www.perftestplus.com/resources/EA_ppt.pdf

A.6 SMS SERVICES

http://linux.softpedia.com/get/Communications/Telephony/SMS-Server-Tools-5735.shtml—Open source SMS tool, uses a GPRS modem to send and receive the messages.

A.7 CONNECTIVITY

How to connect your computer to the Mobile Wireless network(s).

http://umtsmon.sourceforge.net/—A very useful Linux package that configures and connects to the Wireless network over a variety of carriers and data cards (modems). Seems to work well for T-Mobile in particular.

http://www.ibm.com/developerworks/library/wi-enable.html—Includes WiFi, Bluetooth, and GPRS connectivity in Linux.

A.8 MISCELLANEOUS LINKS

http://en.wikipedia.org/wiki/WURFL—A description of the Wireless Universal Resource File open source project that provides information on the capabilities of lots of wireless devices (mobile phones).

http://people.csail.mit.edu/rudolph/Teaching/Lectures07/—Professor Larry Rudolph's online material for a pervasive computing course that contains lots of useful ideas which can be used to create automated tests run from mobile devices.

http://www.geocities.com/model_based_testing/—Harry Robinson's web site containing useful information on Model Based Testing. Although the home page says the site was last updated in 2004, there is more recent content, e.g., from one of his presentations in 2006. It is well worth a visit.

http://www.adobe.com/products/flashlite/—FlashLite from Adobe.

http://www.waptutor.org.uk/—An extremely basic introduction to creating a WAP page in WML.

http://www.w3schools.com/wap/wap_intro.asp—A more detailed introduction to WAP and WML, the site includes a useful WML reference.

http://www.openmobilealliance.org/tech/affiliates/wap/wapindex.html—Far too many links on WAP specifications and other technical material.

http://www.w3.org/2006/07/Mobile_Web_Design.pdf—An attractive introduction to the mobile web.

A.9 COMMON TOOLS

http://www.wireshark.org/—Homepage for the free and very powerful Wireshark protocol analyser.

http://www.gosymbian.com/fexplorer_new.php—Homepage for FExplorer for Symbian Series 60 phones.

A.10 OTHER REFERENCES

HTTP Pocket Reference, O'Reilly, Clinton Wong, ISBN 1-56592-862-8

Python phrasebook, Developers Library, Brad Dayley, ISBN 0-672-32910-7

www.python.org—Includes the Python software and extensive documention (a tutorial, library reference, etc).

www.diveintopython.org—A brilliant free online book, which is also available in print. Intended for programmers who have experience of programming in another language: read it anyway and work through the examples.

A.11 RAW INGREDIENTS

If you are wondering what you'll need to automate your tests, here is a list of raw ingredients you might need or use:

  • Experience in programming in one or more languages. You may choose to learn the language used by the developers when creating the applications or scripting languages that help you to test independently. Some common choices are:
    • Java,
    • Python,
    • Java ME (originally called J2ME),
    • You may also need various flavours of C++ for some native platforms, e.g., for iPhone, for Windows Mobile, and for Symbian.
  • Hardware
    • Computers,
    • GPRS (etc.) modems,
    • Phones (that the software is targetted for),
    • Automation devices that include physical phones,
    • Digital cameras.
  • Data, which can come from several sources both externally (e.g., from public and commercial sources) and internally (e.g., from log files).
    • The Wireless Universal Resource File (known as WURFL) that contains details of the capabilities of many devices;
    • The commands used to interact and control modems (known as AT commands as the first two characters of the commands are the letters AT). Some commands are limited to a subset of devices;
    • Network configuration parameters, such as the Access Point Name (APN) used to establish a network connection by a device;
    • Web sites, where individuals and organizations have shared information relevant to mobile devices; and
    • Logs (for example logs recorded by web servers may contain device header information generated by devices with every web request they make).
  • External software
    • Run-time emulators, device and platform SDKs,
    • Protocol emulators,
    • Protocol analyzers,
    • Utilities,
    • Browser plug-ins,
    • Unit testing frameworks, and
    • Open source libraries (e.g., for Python).
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.22.242.141