Changes

Jump to: navigation, search
m
Reverted edits by Saoagent (Talk) to last revision by Elichak
*Looked into a batch file for automating configuration, gave pointers
*Tested and commented on the new framework (version 2)
 
[[User: robcee | Rob Campbell]] (robcee)
*Gave me a number of python tips :)
[[User:Themystic | Tom Aratyn]] (mystic)
** Displays informative messages to allow users to fix any invalidity in files or directories
** Displays an informative progress/status bar that informs users how far into the testing they are
*Needs proper source documentationThings that Alice and I discussed are reflected in this file:*Need to fix some of * Configuration checker*** yaml file validator*** paths.py validator**** checking the indentationpaths for existance***** notify user if path doesnt exist and ask user if they want it created**** checking if the directories have contents 
</td>
<td valign="top">
*Main Contributor
** [[User:dwwoodsi|Dean Woodside]] (dean)
*With this script:
** Configuration of python framework is eased
 
</td>
<td valign="top">
**Captures <b>most</b> user errors through validation and saves user time and frustration to fix an error while running the framework
***Informs user of the directory/file invalidity or if they ran an invalid config file etc.
 
Additional:
*Users don't have to know the whole framework to configure it
** Documentation helps
*Users are not left staring at the console wondering what is happening when they run the Performance Tests
** Progress bar and informative messages
*Users don't have to waste hours/days/weeks debugging the code to find out why they are having problems configuring the framework
** I spent 2 weeks configuring the <strike>bloody</strike> framework
</td>
<td valign="top">
*[[Things to fix for Performance Testing Framework | More details of things to fix for Performance Testing Framework]]
*[[Version 2 | #Extended_Progress_Chart_.28Version_2.29| Version 2]]*[[#Progress_.28Version_1.29 | Version 1 ]]</td></tr><tr><td valign="top">Firefox Performance Testing Framework Directory Structure</td><td valign="top">*Here is an overview of the Firefox Performance Testing Framework Directory Structure. *The directory structure is revised*There were too many extra libraries to load which caused too many dependencies*Directory structure was difficult to keep track due to redundant directories and extra libraries *All configuration is in one place!** config.yaml** paths.py** constants</td><td valign="top">[[#Directory_Structure_of_Framework| Performance Testing Framework Directory Structure]]</td></tr><tr><td valign="top">Screen shots</td><td valign="top">*Here is a screen shot of the program when it is doing a performance testing: [[Image:Perftesting running.png | Firefox Performance Testing running]] </td><td valign="top">Not Applicable</td></tr><tr><td valign="top">Next Steps</td><td valign="top">*Am I done? Not quite</td><td valign="top">[[#Next_Steps | Next Big Steps]]</td></tr><tr><td valign="top">Reflections</td><td valign="top">*Some thoughts</td><td valign="top">[[#Progress_Reflections_on_the_project | Reflections]]</td></tr></table> ==Next Steps==<table style="width:100%;" border="1px" valign="top" class="standard-table" cellpadding=2 cellspacing=0><th style="width: 15%; background-color:#333333; color:#F3F3F3">Task</th><th style="width: 30%; background-color:#333333; color:#F3F3F3">Details</th><th style="width: 10%; background-color:#333333; color:#F3F3F3">Priority</th><th style="width: 15%; background-color:#333333; color:#F3F3F3">Contributors</th><th style="width: 20%; background-color:#333333; color:#F3F3F3">Status</th><tr><td valign="top">Porting framework to other OSes</td><td valign="top">* <b>What good is a performance testing framework if it only runs on Windows??</b>* This has been a pending task for awhile.28Version_1* Since several students made a point that it should port to other OSes, I should look into that* Students who use OS X, Unix Oses etc.29couldn't test this framework</td><td style="background-color: #990000; text-align: center; font-weight: bold; color: #ffffff;" valign="top">High</td><td valign="top">* [[User:elichak|Liz Chak]]</td><td valign="top"> <div style="width:100%;background-color:#F3F3F3;position:relative;margin-bottom:0px;">0% completed</div></td></tr><tr><td valign="top">Run both ts and tp at the same time</td><td valign="top">*Will have a discussion with Alice Nodelman in regards to this</td> <td style="background-color: #E9DA73; text-align: center; font-weight: bold; color: #333333;" valign="top">Medium</td><td valign="top">* [[User:elichak|Liz Chak]]</td><td valign="top"><div style="width:100%;background-color:#F3F3F3;position:relative;margin-bottom:0px;">0% completed</div></td></tr> <tr><td valign="top">Create and execute new tests</td><td valign="top">*New test case(s) for performance*Will have a discussion with Alice Nodelman in regards to this</td><td style="background-color: #E9DA73; text-align: center; font-weight: bold; color: #333333;" valign="top">Medium</td><td valign="top">* [[User:elichak|Liz Chak]]</td><td valign="top"><div style="width:100%;background-color:#F3F3F3;position:relative;margin-bottom:0px;">0% completed</div>
</td>
</tr>
 
</table>
</td>
<td valign="top">
<b>Newer status</b>
The DPS909 class tested the documentation and framework out.
*Needed rework
 
<b>Older status</b>
*Improving the current documentation so that it's easier to follow
*Making sure that all the configuration documents are in one place
*This is done along with the code base work I'm doing
<div style="width:100%;background-color:#F3F3F3;position:relative;margin-bottom:0px;">90100% completed - Needs to be reviewed and tested out</div>
</td>
</tr>
*Scroll down and look for dom.allow_scripts_to_close_windows
*Double click on it to set it to true
 
=Directory Structure of Framework=
 
 
==Overview of Structure==
A glance at the Framework File Structure (CVS files not included):
 
<pre>
win32
|
|
|__ base_profile (dir)
| |
| |__ bookmarkbackups (dir)
| | |
| | |__ .html files
| |
| |__ Cache (dir)
| |
| |__ .bak, .html, .ini, .dat, .txt, .js, .rdf, .mfl files
|
|
|__ page_load_test(dir)
| |
| |__ base(dir)
| | |
| | |__ other dirs and .html files
| |
| |__ cycler.html & report.html
|
|
|__ startup_test
| |
| |__ startup_test.html
|
|
|__ extension_perf_reports (dir for generated reports)
|
|
|__ run_tests.py, paths.py, config.yaml and other .py, .html files
</pre>
 
*NOTE: Content in '''base_profile''' dir may vary
 
 
The following is written by Annie Sullivan (annie.sullivan@gmail.com):
 
==base_profile/==
*This directory contains the base profile used for testing.
*A copy of this profile is made for each testing profile, and extensions or prefs are added according to the test_configs array in run_tests.py.
*For the page load test to run correctly, the hostperm.1 file must be set to allow scheme:file uris to open in new windows, and the pref to force a window to open in a tab must not be set.
*The dom.allow_scripts_to_close_windows pref should also be set to true. The browser.shell.checkDefaultBrowser pref should be set to false.
 
 
==page_load_test/==
*This directory contains the JavaScript files and html data files for the page load test.
*The page load test opens a new window and cycles through loading each html file, timing each load.
 
 
==startup_test/==
*This directory contains the JavaScript to run the startup test.
*It measures how long it takes Firefox to start up.
 
 
==extension_perf_report/==
*This directory is where the generated report will go into.
*You may specify another directory to substitute this directory, but make sure that the '''paths.py''' is changed to point to it.
 
 
==run_tests.py, paths.py==
*These files should be configured to run the test on different machines, with different extensions or preferences. See setup above.
 
= Project News =
==Tuesday, 21 Nov 2006==
Refer to progress chart.
[[Firefox_Performance_Testing_:_A_Python_framework_for_Windows#ProgressProgress_.28Version_1.29| Performance Testing Framework progress chart]]
==Wednesday, 29 Nov 2006==
==Sunday, 10 Dec 2006==
* Narrowing down the things that need to be done before 13 December 2006
* Refer to [[#Extended_Progress_Chart Extended_Progress_Chart_.28Version_2.29 | Extended Progress Chart]]
==Wednesday, 13 Dec 2006==
* Created a [[New_Firefox_Performance_Testing_Documentation | new documentation]]
* Finished my parts for the Performance Testing Framework
** Refer to [[Firefox_Performance_Testing_:_A_Python_framework_for_Windows#Submission | submission]] The current Firefox Performance Testing Framework is effective and efficient. *<b>To try Firefox Performance Testing out, go to this documentation</b>*This the new documentation that is improved with the [[#Comments_on_the_Firefox_Performance_Testing_Framework | student comments]]*Building a user base.. some comments on this NEW framework**[[New Firefox Performance Testing Framework comments]] <b>Goals achieved:</b>* Effective**Easy-to-use**Free from confusion**Informative and helpful*Efficient**Takes almost no time to set up the framework**Captures <b>most</b> user errors through validation and saves user time and frustration to fix an error while running the framework***Informs user of the directory/file invalidity or if they ran an invalid config file etc.
Things To-do (Immediately)
*Clean up this page- almost done*Document source- almost done
*Fix up the [[New_Firefox_Performance_Testing_Documentation | Performance Testing Documentation]]
* [[davey_girl_comments| Erin Davey]]
* [[dwwoodsi perf comments| Dean Woodside]]
 
==Reflections on the project==
Now that the first phase of the project is done, I would like to sit back and reflect on some of the experiences I have had with this project. Not only did this project grow, I have been growing with it. I've learned endless amount of things by working on this project (not just technical stuff). And as the saying goes, "you only learn from experience"!
 
===Configuration frustration===
Words can't express how I was initially frustrated with the framework. I hit brick walls a countless number of times when I tried to set the framework up and running and I was on the verge of giving up. It was only through my own perseverance and determination that I got this to work.
 
Outcome: A list of things to fix on the framework to ease the configuration, strengthen the framework and better documentation!!
 
===First deliverable===
I asked the class to test my first deliverable. I had faith that my framework would bring delight to my testers, but I was proven otherwise. Even with the effort that I've put into my first deliverable, it still created a group of frustrated and agonized users. Many of them ranted on what could be improved on the framework, hence:
 
Outcome: A list of things to automate the framework and EASE THE CONFIGURATION
 
===Final deliverable===
I'm glad that my first tester was thrilled about my Performance Testing. There is nothing better than a happy user. What I've learned is that TESTING is the KEY to a successful application. Why do so many of us developers neglect that??
 
===Credits===
[[User:dwwoodsi|Dean Woodside]], Alice Nodelman, [[User:Bhearsum | Ben Hearsum]], [[User:Mylau | Michael Lau]], [[User:Eor | Eva Or]], [[User:djhamp-g | David Hamp Gonsalves ]], [[User:David.humphrey|Dave Humphrey]], [[User:robcee|Rob Campbell]] and of course, the DPS909 class who tested my framework. These are the individuals who played a significant part in making this framework headed toward success!
==Bon Echo Community Test Day==
3
edits

Navigation menu