View
241
Download
0
Category
Preview:
Citation preview
7/28/2019 452 Presentation
1/27
Software Testing 452Wordpress for Android
7/28/2019 452 Presentation
2/27
A popular blogging website The Android App is Open source Programmed in Java Can post, view, and edit content
What is Wordpress?
7/28/2019 452 Presentation
3/27
We restricted our testing to the Androidapplication
Other platforms of the app are not
within our scope We tested the primary features of the
application
Scope
7/28/2019 452 Presentation
4/27
New Post New Page Post Comment
Post Video Post Photo View Post
Primary Features
View Comment View Page Edit Post
Edit Comment Delete Post Delete Comment
7/28/2019 452 Presentation
5/27
Eclipse as our workspace Android Virtual Device
Android Development Tools are used towork with android Our project uses the ADT eclipse plugin
with SDK 13 which is Android 3.2
Environment
7/28/2019 452 Presentation
6/27
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
Static Analysis
7/28/2019 452 Presentation
7/27
Eclipse plugin for static code analysis There were some surprising results
Found a string comparison bug Found a null pointer bug
FindBugs
7/28/2019 452 Presentation
8/27
FindBugs - String Comparison
7/28/2019 452 Presentation
9/27
FindBugs - Null Pointer
7/28/2019 452 Presentation
10/27
We could not access the true specificationdocument Found a final description of what was
included in the app
The addition of a "featured image" wasemphasized.
We were successful on posting afeatured image by following the strictinstructions
Specification Document Analysis
7/28/2019 452 Presentation
11/27
AndroidTestCase augmented version of JUnit Java Components vs Android components testActivity vs testClass
Unit Testing
7/28/2019 452 Presentation
12/27
Unit Testing Example
7/28/2019 452 Presentation
13/27
Overall not useful
Most of the Wordpress web service logicexists on the server. The Android appmerely 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
Unit Testing
7/28/2019 452 Presentation
14/27
Consistency Everything was consistent: color and layout Creating and editing have similar interfaces
makes changing blog content simple
Consistent with Wordpress website UI
Correctness Pretty good app crashed once when overloaded with
input
Usability Testing
7/28/2019 452 Presentation
15/27
Correctness If app crashed in middle of long post, entire
content would be lost
Usefulness very useful for on-the-go blogger Many reviews describe mobile usefulness
Usability Testing Continued
7/28/2019 452 Presentation
16/27
App meets the Android design guidelines "When people use your app for the first
time, they should intuitively grasp themost important features" Wordpress definitely meets this expectation
Very simple to use and very intuitive
Usability Testing Continued
7/28/2019 452 Presentation
17/27
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
Accessibility Testing
7/28/2019 452 Presentation
18/27
The app was given to someone with low-
vision and they were able to navigate easily Talkback failed to speak appropriate text main screen buttons were all spoken as
"WordPress" many buttons had no Talkback names post titles and text were not spoken
Accessibility Testing Continued
7/28/2019 452 Presentation
19/27
Allowed us to cover most of the program
Issue with adding a video Took a very long time - more than expected with
similar apps on same device No progress indicator - misleading
On the edit page screen, sometimes when hittingthe back button the keyboard disappears and alarge text box remains Requires hitting back again
confusing for users
Black Box Testing
7/28/2019 452 Presentation
20/27
Tested extreme data values andsituations
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
Malicious Testing
7/28/2019 452 Presentation
21/27
Was interesting because most androiddevices try to maintain stress themselves
While running the app it could take aphone call
Also while writing a post and receiving acall, content remains ready to be posted Very good feature, would be annoying to re-
type
Stress Testing
7/28/2019 452 Presentation
22/27
We used dumb fuzz testing all inputs random
Tool we used is Monkey Generates random UI events and logs errors Events are clicks, touches, gestures, etc. Random, but in a repeatable manner
We used 700 random input events monkey -p org.wordpress.android-v 700
behaved well
Fuzz Testing
7/28/2019 452 Presentation
23/27
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 breakit or affect user information
Security Testing
7/28/2019 452 Presentation
24/27
Happened late in the testing process
because a newer version of the app wasreleased Re-ran our tests most passed
some had to be tweaked to reflectchanges in the app
Not really useful because difficult unit testshad to be rewritten
Regression Testing
7/28/2019 452 Presentation
25/27
Mutation Testing Not much logic to alter
Load Testing Did not have enough users to test app at the same
time, not enough resources Makes more sense for WordPress server
Coverage Testing Tools would be little use for our few unit tests
Testing Methods Not Used
7/28/2019 452 Presentation
26/27
Educational Value learned a lot about Android UI libraries, the
Android Developer Tools, Virtual Devices, and howAndroid apps work
Risks building the program on the computers,
understanding code, scheduling meetings, workingwith new technology, and testing everything we
wanted
Conclusion
7/28/2019 452 Presentation
27/27
Reporting Errors
WordPress app developers appreciate feedback Made blog for reporting problems
General App Quality Overall quality was pretty good
Performed very well
Conclusion Continued
Recommended