Android Continuous Integration (Part 1)

At Black Pepper we have a history of carrying out n-Tier Flex/Java developments using continous integration with the following tools and libraries:

  • JUnit
  • JMock
  • Selenuim
  • Cobertura
  • Findbugs
  • Hudson
  • Ant
  • LiquiBase
  • Eclipse

We are about to move into the Mobile Computing arena with the Google Android phone as one of our target platforms. To aid this, I am developing a CI environment using all of the above tools.

This blog is the first of a series which will show how such an environment can be built and used.

The application to be implemented, using test driven development, will be a simple CRUD example showing how we:

  • Unit test the:
    • model
    • dao
    • business logic
  • Exercise the individual parts of the GUI
  • Perform acceptance tests

Along side the testing we will also be monitoring the code quality and system performance.

Database

The database we will be using in addition to the SQLite provided on the platform is Perst-Lite from mcobject It is a small footprint OO database.

We have done some benchmarks on an HTC Magic and these are the times, in millisecends, collected for SQLite and Perst, respectively:

  • Insert: 332118, 20801
  • Search: 104215, 16926
  • Scan: 6372, 11256
  • Delete: 318455, 43705

Insert loading 10,000 simple records into the database (with string and integer keys, using two B-tree indexes) Search seeking these records via the indexes (there are 10,000 searches for random values in each index, so searching is performed 20,000 times) Scan performing two traverses (sequential scans) through all records using both indexes, so that records are sorted by integer key and string key Delete locate and remove all 10,000 records

This site uses cookies. Continue to use the site as normal if you are happy with this, or read more about cookies and how to manage them.

X