1. Homepage
  2. Programming
  3. EECS 4443 Mobile User Interfaces - Assignment: Automated UI Testing, Profiling, Benchmarking

EECS 4443 Mobile User Interfaces - Assignment: Automated UI Testing, Profiling, Benchmarking

Engage in a Conversation
CanadaYork UniversityEECS 4443Mobile User InterfacesAutomated UI Testing Profiling BenchmarkingJavaAndroid

EECS 4443

Winter 2023

Assignment

Automated UI Testing, Profiling, Benchmarking CourseNana.COM

The purpose of the assignment is to let you practice the tools and processes necessary to complete the project. The assignment is done on an individual level, but you are expected to contribute the gained knowledge and experience in the project. You will use the project Demo_Quotation to practice the tools. The assignment consists of three parts. The three parts are in theory independent, but you can use the products of each part to perform the other parts. CourseNana.COM


CourseNana.COM

Part 1a: Automated UI Testing CourseNana.COM

You will use the Espresso testing framework from Android Studio (https://developer.android.com/training/testing/espresso) to test the UI of the project. CourseNana.COM

1.     Identify the main use cases of the application (i.e., what the users can do and how they can do it). For each use case and interactions, define test cases using the following template:


You may need to define more than one test case per use case to cover exceptional paths (e.g., what if a user performs an unexpected action, like hitting the back button). CourseNana.COM

2.     Develop in code the necessary test cases. You can use the Espresso Test Recorder (https://developer.android.com/studio/test/other-testing-tools/espresso-test-recorder) following the “Procedure” part of your test cases. Reminder: You may have to go back and adjust the code generated by Espresso to better fit your testing purposes. You can also extend the generated tests to cover assertions and other cases not covered by your replay. CourseNana.COM

3.     Make sure that your tests pass when you execute them. CourseNana.COM

4.     The deliverable for this part is the test code you produced for your project as well as a document with the test cases. You also need to provide the configuration of your testing environment (devices, versions etc.). CourseNana.COM

Part 1b: Add a new search functionality and test it. CourseNana.COM

1.     Add a functionality to search for famous people and quotes in your app. To implement Search you can follow this guide (https://developer.android.com/develop/ui/views/search). You can add a search text field at the top of your application or a search menu time in the application’s context menu. CourseNana.COM

2.     You can use any and all features that come with the search, for example autocomplete, filter and so on. You can allow users to search for a famous person by a name or by the content of their quotes. CourseNana.COM

3.     Create new test cases for the new functionality and implement the corresponding test classes using Espresso. CourseNana.COM

4.     The deliverable for this part is the extension of the previous deliverable, including the test documentation and the code. CourseNana.COM

Part 2: Profile your application CourseNana.COM

1.     Use Android Profiler (https://developer.android.com/studio/profile/android-profiler) to profile your application. Follow the necessary steps to configure your build and run configurations for the profiling. CourseNana.COM

2.     We are interested in the CPU, memory and energy profiles of your application, since there is very little network activity. CourseNana.COM

3.     You are supposed to generate traces and visualizations for the three profiles using the Profiler’s tools. CourseNana.COM

4.     You can use your Espresso tests to create “load” for your application. You may want to adjust some actions to create as much load as possible to see some “spikes” in utilization. For example you can use long quizzes or search for something that would return a lot of results. CourseNana.COM

5.     The deliverable for this part is the profiling configuration you uses (including the code) and a document where you present the visualizations with a few comments on the performance of your app. CourseNana.COM

Part 3: Benchmark your application CourseNana.COM

1.     Based on the profiling you did before, identify the two use cases with the highest utilization in CPU, memory or energy. Do not worry about the absolute numbers. Pick the two most expensive use cases, even if their absolute utilization is low. CourseNana.COM

2.     Further test these use cases by writing benchmarks for them (https://developer.android.com/topic/performance/benchmarking/microbenchmark-write). CourseNana.COM

3.     The deliverable for this part will be the configuration for the benchmark (and the code), and a document where you’d report the process and the results of the benchmarking as returned by the tool. CourseNana.COM

NOTE: You do not have to provide three separate code bases. One that includes all parts is enough as long as you have properly documented the different interventions (using Javadoc and code comments). CourseNana.COM

Get in Touch with Our Experts

WeChat WeChat
Whatsapp WhatsApp
Canada代写,York University代写,EECS 4443代写,Mobile User Interfaces代写,Automated UI Testing代写, Profiling代写, Benchmarking代写,Java代写,Android代写,Canada代编,York University代编,EECS 4443代编,Mobile User Interfaces代编,Automated UI Testing代编, Profiling代编, Benchmarking代编,Java代编,Android代编,Canada代考,York University代考,EECS 4443代考,Mobile User Interfaces代考,Automated UI Testing代考, Profiling代考, Benchmarking代考,Java代考,Android代考,Canadahelp,York Universityhelp,EECS 4443help,Mobile User Interfaceshelp,Automated UI Testinghelp, Profilinghelp, Benchmarkinghelp,Javahelp,Androidhelp,Canada作业代写,York University作业代写,EECS 4443作业代写,Mobile User Interfaces作业代写,Automated UI Testing作业代写, Profiling作业代写, Benchmarking作业代写,Java作业代写,Android作业代写,Canada编程代写,York University编程代写,EECS 4443编程代写,Mobile User Interfaces编程代写,Automated UI Testing编程代写, Profiling编程代写, Benchmarking编程代写,Java编程代写,Android编程代写,Canadaprogramming help,York Universityprogramming help,EECS 4443programming help,Mobile User Interfacesprogramming help,Automated UI Testingprogramming help, Profilingprogramming help, Benchmarkingprogramming help,Javaprogramming help,Androidprogramming help,Canadaassignment help,York Universityassignment help,EECS 4443assignment help,Mobile User Interfacesassignment help,Automated UI Testingassignment help, Profilingassignment help, Benchmarkingassignment help,Javaassignment help,Androidassignment help,Canadasolution,York Universitysolution,EECS 4443solution,Mobile User Interfacessolution,Automated UI Testingsolution, Profilingsolution, Benchmarkingsolution,Javasolution,Androidsolution,