MP3 Player Project: Design, Testing, and Performance Analysis

Verified

Added on  2023/01/18

|3
|584
|77
Project
AI Summary
This project delves into the development and analysis of an MP3 player. It begins with a command to launch the player, followed by a detailed test plan that outlines various scenarios, expected outputs, and the functionalities of the player, including adding playlists, playing songs, pausing, searching, and sorting. The project also addresses the time complexity of different operations, such as sorting (using merge sort) and shuffling, providing an understanding of their efficiency. Furthermore, it discusses the roles and responsibilities within the project team, specifically highlighting the roles of Test Engineers, Lead Testers, and Test Managers. The test plan includes various test cases for different functionalities, covering aspects like adding songs, pausing/playing, searching, and sorting. The time complexity analysis covers sorting, shuffling, and searching operations. The roles and responsibilities section clarifies the tasks and duties of each role, emphasizing the importance of planning, execution, and communication in the project.
Document Page
1) COMMAND TO LAUNCH WINDOW
Inside solution directory in terminal
pip install pyglet
pip install mp3-tagger
python GUI.py
2) TEST PLAN
List of test case for feature in mp3 player with scenario and expected
output
SNO scenario Expected output
1 Add Playlist folder
(folder icon)
List of files added in list
box
2 Add song (add icon) Added song started to
play
3 Press pause button Song paused
4 Press Play button Song started to play
again
5 choose
“artist”,”album”,”song”
and Search string type
in box
List of songs is shown as
per search result of
chosen option
6 Sort playlist based on
artist
Songs list are sorted
based on artist
7 Sort playlist based on
album
Songs list are sorted
based on album
8 Sort playlist based on
song name
Sort playlist based on
song name
Single click some song
and click remove icon
Song removed from
playlist
9 Click reload icon playlist reloaded
10 Click shuffle icon Playlist shuffled
3) Searching the playlist
a) input files in playlist for eg:
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
a.mp3 (song, artist, album) – (a, a, a)
b.mp3 (song, artist, album) – (b, b, b)
c. mp3 (song, artist, album) – (c, c, c)
b) choose song option and type a.mp3
c) only a.mp3 shown on list
Logical error faced:
a) All the mp3 files were shown because my condition is “search string in
filename”. So, I fixed with filename starts with search string
b) instead of song option album options were taken for search so I fixed
with correctly pointing the index
4) Time complexity of sorting
For sorting based on artist, album, song name we use merge sort.
merge sort take O(nlogn) for sorting and space complexity of O(n)
Shuffling
We calculate total number of songs swap the variable based on the random
integer chosen between (0, length). Time complexity of shuffling O(n)
Searching
We get list of files in directory and we do linear search and pick element
matches O(n)
5) Role and Responsibilities
1) Test Engineer
a) Engineers receive the functionality to test from lead/managers
b) Once they have requirement they have to come up with test plan,
test environments, and execution
c) After executing list of test case should create a report with failed and
passed test case and take necessary logs
Document Page
d) Create necessary defects with description, screenshot , steps to
produce , logs
Lead Testers
Lead should have knowledge about end to end product to bring up a
test plan
a) Able to design a test plan and automation project
b) Remove the road blocker for engineers and make sure they are
technically going correct way
c) Communicate the progress to managers and bring up the issue as
early as possible
Test Manager
Managers are sole responsible for project success. His role includes
Planning resource needed for work
Assigning product owner/architect to team
Supplying enough hardware support for team in case of automation
Removing the road blocker for team and doubt clarification with
development team
chevron_up_icon
1 out of 3
circle_padding
hide_on_mobile
zoom_out_icon
[object Object]