Presentation is loading. Please wait.

Presentation is loading. Please wait.

Parrot Instant Messenger. System overview UML diagram.

Similar presentations

Presentation on theme: "Parrot Instant Messenger. System overview UML diagram."— Presentation transcript:

1 Parrot Instant Messenger

2 System overview UML diagram

3 Alpha Version Features implemented GUI Tabbed window XMPP protocol Chatbot Profile System Chat Log Adding, deleting, and blocking buddies Changing user status Sorted buddy list

4 Difference from previous documents Functional Requirements Move Chat log to alpha version Avatar display is now in beta version Non-functional requirements Takes 30 MB to 50 MB of RAM Takes up to 5 MB on the hard drive, was expected to be up to 20MB Has 8000 lines of code, 2000 lines less than previous prediction

5 Quality Assurance: testing Junit Integration Testing User Acceptance Testing

6 Unit Test case public void testRemoveFriend() { GoogleTalkUserData e1 = new GoogleTalkUserData("Horton", "tim", "away"); GoogleTalkUserData e2 = new GoogleTalkUserData("Star", "Bucks", "Busy"); ad2.addFriend(e1); ad2.addFriend(e2); assertTrue(ad2.removeFriend(e2)); assertTrue(ad2.removeFriend(new GoogleTalkUserData( "Horton", "tim", "away"))); } There was a failure with this unit test, because the actual method was not dealing very well with objects.

7 Integration test public void checkFriendAddition() throws Exception { // Ensure that adding a friend makes changes to both the // model and the database. FriendTempData foundFriend = null; controller.removeFriend(friendUserID); assertNull(model.findUserByAccountName(friendUserID)); db = new DatabaseFunctions(); for (FriendTempData f : db.getFriendListByAccountName(userID)) { assertTrue(!f.getUserID().equalsIgnoreCase(friendUserID)); } controller.addFriend(friendUserID); assertNotNull(model.findUserByAccountName(friendUserID)); db = new DatabaseFunctions(); for (FriendTempData f : db.getFriendListByAccountName(userID)) { if (f.getUserID().equalsIgnoreCase(friendUserID)) { foundFriend = f; break; } assertTrue(foundFriend.getUserID().equalsIgnoreCase(friendUserID)); return; }

8 error in the integration test java.lang.NullPointerException: Name is null at java.lang.Enum.valueOf(Unknown Source) at org.jivesoftware.smack.packet.RosterPacket$ItemType.valueOf( at org.jivesoftware.smack.PacketReader.parseRoster( at org.jivesoftware.smack.PacketReader.parseIQ( at org.jivesoftware.smack.PacketReader.parsePackets( at org.jivesoftware.smack.PacketReader.access$000( at org.jivesoftware.smack.PacketReader$

9 User Acceptance Testing 1. We asked 10 users to try and run our software. 2. We asked them to do the following tasks while one of the team is loggin with a) Register with your GoogleTalk account b) Add c) Send cmpt275testing a message d) Wait for a message coming for cmpt275testing e) (cmpt275 will sign out) send a message to chatbot and ask him "What is your name?" and "What is up!" and wait for his respond f) block cmpt275testing (cmpt275testing will sign again and he should not find user) g) delete cmpt275 testing h) log out

10 Demo

11 Questions

Download ppt "Parrot Instant Messenger. System overview UML diagram."

Similar presentations

Ads by Google