parrot instant messenger. system overview uml diagram
Post on 10-Dec-2015
219 Views
Preview:
TRANSCRIPT
Parrot Instant Messenger
System overview
•UML diagram
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
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
Quality Assurance: testing•Junit•Integration Testing•User Acceptance Testing
Unit Test casepublic 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.
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;
• }
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(RosterPacket.java:268)
• at org.jivesoftware.smack.PacketReader.parseRoster(PacketReader.java:697)• at org.jivesoftware.smack.PacketReader.parseIQ(PacketReader.java:582)• at org.jivesoftware.smack.PacketReader.parsePackets(PacketReader.java:275)• at org.jivesoftware.smack.PacketReader.access$000(PacketReader.java:44)• at org.jivesoftware.smack.PacketReader$1.run(PacketReader.java:76)
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 cmpt275testing@gmail.com • a) Register with your GoogleTalk account • b) Add cmpt275testing@gmail.com • 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
Demo
Questions
top related