What is Wordpress?
A popular blogging website The Android App is Open source Programmed in Java Can post, view, and edit content
Scope
We restricted our testing to the Android application Other platforms of the app are not within our scope We tested the primary features of the application
Primary Features
New Post New Page Post Comment Post Video Post Photo View Post View Comment View Page Edit Post Edit Comment Delete Post Delete Comment
Environment
Eclipse as our workspace Android Virtual Device Android Development Tools are used to work with android Our project uses the ADT eclipse plugin with SDK 13 which is Android 3.2
Static Analysis
Code review of NewAccount.java class Used by every user at least once but not very much so it could be improved Quality was pretty good Very few comments, hard to follow Variables had vague names
FindBugs
Eclipse plugin for static code analysis There were some surprising results
Found a string comparison bug Found a null pointer bug
Unit Testing
AndroidTestCase
augmented version of JUnit Java Components vs Android components testActivity vs testClass
Unit Testing
Overall not useful Most of the Wordpress web service logic exists on the server. The Android app merely provides another interface. The classes reference the actual web application The android application just generates views if certain conditions are met There is not much local logic
Usability Testing
Consistency
Everything was consistent: color and layout Creating and editing have similar interfaces
makes changing blog content simple
Correctness
Pretty good app crashed once when overloaded with input
Usefulness
very useful for on-the-go blogger Many reviews describe mobile usefulness
Accessibility Testing
The use of icons in the app was great! The icons were intuitive Every action had an icon Colors are dark text on light background
the back button the keyboard disappears and a large text box remains Requires hitting back again
confusing for users
Malicious Testing
Tested extreme data values and situations Purpose to see how the app reacts
inserted 21-page title with 1 char of content
program allowed this surprisingly Significantly slows down app when viewing aggregate posts Maybe consider title-character limits
Stress Testing
Was interesting because most android devices try to maintain stress themselves While running the app it could take a phone call Also while writing a post and receiving a call, content remains ready to be posted
Very good feature, would be annoying to retype
Fuzz Testing
We used dumb fuzz testing
all inputs random
Security Testing
Android Lint and Database Injection plugins
Test basic and common security faults Found XML and database vulnerabilities There were some cases of injecting code into the database which could either break it or affect user information
Regression Testing
Happened late in the testing process because a newer version of the app was released Re-ran our tests most passed some had to be tweaked to reflect changes in the app Not really useful because difficult unit tests had to be rewritten
Conclusion
Educational Value learned a lot about Android UI libraries, the
Android Developer Tools, Virtual Devices, and how Android apps work
Conclusion Continued
Reporting Errors WordPress app developers appreciate feedback Made blog for reporting problems General App Quality Overall quality was pretty good Performed very well