Converted GSoC2011MelangeTesting.md
diff --git a/GSoC2011MelangeTesting.md b/GSoC2011MelangeTesting.md new file mode 100644 index 0000000..5675f2c --- /dev/null +++ b/GSoC2011MelangeTesting.md
@@ -0,0 +1,149 @@ + + +# Introduction +> This page will serve as a log and a resource for all the development activity being done in this project on testing. I have to write tests for the logic and views of Melange. The framework has undergone a major revision and the old tests are to be re-written. + + +# Meetings and Agendas + +## Monday May 16, 2011 (Community Bonding Period) 10:10 UTC + +### Notes +> Location : Gmail Chat + +> Chaired by : Leo (Chong Liu) + +> Notes taken by: Praveen + + * Told Leo that : + * I have not been unable to concentrate on the project due to exams. + * I have started reading the books which I had ordered, _'Django 1.1 Testing and Debugging, Karen M. Tracey'_ and _'Python Testing, Daniel Arbuckle'_ + * We discussed how to get started with the project. + * Leo suggested: + * start with soc.logic which are relatively easier and do not require much knowledge of Django and GAE + * reuse the old tests which will require some modifications according to the new framework + * after soc.logic attack modules.gsoc.logic and modules.gci.logic + * write a python/shell script to calculate the frequency of a particular class and function which will give an idea about its importance and need for its thorough testing + * We also discussed what functional testing is which I had not able to explain to Leo + +## Wednesday May 24, 2011 + +### Notes +> Location: Gmail Chat + +> Chaired by: Leo + +> Notes by: Praveen + + * Told Leo that I am going slow at the project and had not implemented the view yet that we were supposed to do. + * We discussed what should the basic approach be while writing a test. + * Leo asked me to refer to some open-source web test runners and see how do they do it and implement a view for my Melange instance. He suggested gaeunit. + * Leo also told me about 'Mocks'. + +> ### Coding Plan for this week + * Implement the view + * Write test for at least one module in app.soc.logic + +## Friday May 27, 2011 + +### Notes +> Location: Gmail Chat + +> Chaired by: Leo + +> Notes by: Praveen + + * Asked Leo what apiproxy is. I encountered apiproxy in the source of gaeunit. He explained apiproxy is like a mapping from a function to a function to which it stubs out or replaces. + * Told Leo that I do not want to use gaeunit and rather write my own code for melange. Leo suggested to study gaeunit and see how they do the magic. + * Asked Leo a couple of questions regarding TaskQueues and the meeting concluded with Leo asking me to explore and explore and learn. + +## Monday May 30, 2011 + +### Notes +> Location: Gmail Chat + +> Chaired by: Leo + +> Notes by: Praveen + + * Reported my initial research regarding gaeunit to Leo + * We discussed about how to handle the requests by the browser as there is a time restriction on a process in GAE. + * gaeunit does not use TaskQueues and so Leo suggested that the other way to handle the requests would be by using a JavaScript. But I did not find any JavaScript in the code of gaeunit. + * Since my main project is on testing, Leo put before me two options to choose from i.e to finish the online runner in a week or treat it as a side project and start testing. I chose to finish the online runner as I had already spent lot of time studying about it. + * The conference call was suspended for the week. + +## Monday June 6, 2011 + +### Notes +> Location: Gmail Chat + +> Chaired by: Leo + +> Notes by: Praveen + + * Told Leo that I have written the code for the online test runner and that it needs debugging. + * Leo looked at the errors and told me that Nose uses some modules which are restricted by GAE. So we may have to try other options to make the runner. + * The decision was made to write our own runner with the help of methods in unittest module in python. + +> During: Melange Conference Call Chaired by: Sverre Notes by: Praveen + + * Told Sverre that I have been working on the online test runner in the week. + * Sverre asked me to take it as a side project and start working on the Testing project now as the time is passing by. + * Leo gave me two days to work on the test runner and finish the work which I started. If I am not successful, start testing. + + +## Wednesday June 8, 2011 + +### Notes +> Location: Gmail Chat + +> Chaired by: Leo + +> Notes by: Praveen + + * Informed Leo that I have finished writing the code for the online test runner and that the runner works on the local instance only. + * It does not work on the live instance because our tests make use of gaetestbed library which imports mail\_stub from appengine library and mail\_stub can not work on a live instance as it starts a subprocess which is not allowed. + * Leo asked me to start testing. + + +## Friday June 10, 2011 + +### Notes +> Location: Gmail Chat + +> Chaired by: Leo + +> Notes by: Praveen + + * Told Leo that I started working on testing today. + * I asked him if every module in app.soc.logic needs to be tested. He told that all the non-trivial modules which are used presently needs to be tested. + * I told him that I will start with the easier modules like soc.logic.tags, soc.logic.system etc. + + + + +# Coding Plan + +## May 16 - May 22 (Community Bonding Period) + * Upload a GAE instance and write a view to run all the tests and return all results back + * Write a python script to calculate the frequency of a term in the codebase + * Read Django and GAE documentation. + +## May 23 - June 15 (Official Coding Period) + * Generate the directory structure of soc.logic + * Write tests for app.soc.logic and then for modules.gsoc.logic and modules.gci.logic + +# Links +**My GSoC Proposal https://github.com/praveen97uma/GSoC-Docs/wiki/Testing,-Code-Guru-and-Quality-Assurance/** + +**My melange instance http://melangetesting.appspot.com** + +**A Web Test Runner http://code.google.com/p/gaeunit/** + +# External Testing Resources +**_All I really need to know about [testable, maintainable, packagable] “scripts”_ http://www.testingtv.com/2010/01/27/all-i-really-need-to-know-about-testable-maintainable-packagable-scripts/** + +**Building Tests for Large, Untested Codebases http://www.testingtv.com/2009/12/31/building-tests-for-large-untested-codebases/** + +**Paver - Easy Build and Deployment Automation Tool for Python Projects http://www.testingtv.com/2010/02/03/paver-easy-build-and-deployment-automation-for-python-projects/** +
diff --git a/GSoC2011MelangeTesting.wiki b/GSoC2011MelangeTesting.wiki deleted file mode 100644 index a024557..0000000 --- a/GSoC2011MelangeTesting.wiki +++ /dev/null
@@ -1,153 +0,0 @@ -#summary Progress tracker for Melange project: Testing, Code Guru and Quality Assurance, GSoC 2011 -#labels Phase-QA,Importance-Details,Contents-Update - -<wiki:toc max_depth="3" /> - -= Introduction = - This page will serve as a log and a resource for all the development activity being done in this project on testing. I have to write tests for the logic and views of Melange. The framework has undergone a major revision and the old tests are to be re-written. - - -= Meetings and Agendas = - -== Monday May 16, 2011 (Community Bonding Period) 10:10 UTC == - -===Notes=== - Location : Gmail Chat - - Chaired by : Leo (Chong Liu) - - Notes taken by: Praveen - - * Told Leo that : - * I have not been unable to concentrate on the project due to exams. - * I have started reading the books which I had ordered, _'Django 1.1 Testing and Debugging, Karen M. Tracey'_ and _'Python Testing, Daniel Arbuckle'_ - * We discussed how to get started with the project. - * Leo suggested: - * start with soc.logic which are relatively easier and do not require much knowledge of Django and GAE - * reuse the old tests which will require some modifications according to the new framework - * after soc.logic attack modules.gsoc.logic and modules.gci.logic - * write a python/shell script to calculate the frequency of a particular class and function which will give an idea about its importance and need for its thorough testing - * We also discussed what functional testing is which I had not able to explain to Leo - -== Wednesday May 24, 2011 == - -===Notes=== - Location: Gmail Chat - - Chaired by: Leo - - Notes by: Praveen - - * Told Leo that I am going slow at the project and had not implemented the view yet that we were supposed to do. - * We discussed what should the basic approach be while writing a test. - * Leo asked me to refer to some open-source web test runners and see how do they do it and implement a view for my Melange instance. He suggested gaeunit. - * Leo also told me about 'Mocks'. - - ===Coding Plan for this week=== - * Implement the view - * Write test for at least one module in app.soc.logic - -== Friday May 27, 2011 == - -===Notes=== - Location: Gmail Chat - - Chaired by: Leo - - Notes by: Praveen - - * Asked Leo what apiproxy is. I encountered apiproxy in the source of gaeunit. He explained apiproxy is like a mapping from a function to a function to which it stubs out or replaces. - * Told Leo that I do not want to use gaeunit and rather write my own code for melange. Leo suggested to study gaeunit and see how they do the magic. - * Asked Leo a couple of questions regarding TaskQueues and the meeting concluded with Leo asking me to explore and explore and learn. - -==Monday May 30, 2011 == - -===Notes=== - Location: Gmail Chat - - Chaired by: Leo - - Notes by: Praveen - - * Reported my initial research regarding gaeunit to Leo - * We discussed about how to handle the requests by the browser as there is a time restriction on a process in GAE. - * gaeunit does not use TaskQueues and so Leo suggested that the other way to handle the requests would be by using a JavaScript. But I did not find any JavaScript in the code of gaeunit. - * Since my main project is on testing, Leo put before me two options to choose from i.e to finish the online runner in a week or treat it as a side project and start testing. I chose to finish the online runner as I had already spent lot of time studying about it. - * The conference call was suspended for the week. - -==Monday June 6, 2011 == - -===Notes=== - Location: Gmail Chat - - Chaired by: Leo - - Notes by: Praveen - - * Told Leo that I have written the code for the online test runner and that it needs debugging. - * Leo looked at the errors and told me that Nose uses some modules which are restricted by GAE. So we may have to try other options to make the runner. - * The decision was made to write our own runner with the help of methods in unittest module in python. - - During: Melange Conference Call Chaired by: Sverre Notes by: Praveen - - * Told Sverre that I have been working on the online test runner in the week. - * Sverre asked me to take it as a side project and start working on the Testing project now as the time is passing by. - * Leo gave me two days to work on the test runner and finish the work which I started. If I am not successful, start testing. - - -== Wednesday June 8, 2011 == - -===Notes=== - Location: Gmail Chat - - Chaired by: Leo - - Notes by: Praveen - - * Informed Leo that I have finished writing the code for the online test runner and that the runner works on the local instance only. - * It does not work on the live instance because our tests make use of gaetestbed library which imports mail_stub from appengine library and mail_stub can not work on a live instance as it starts a subprocess which is not allowed. - * Leo asked me to start testing. - - -== Friday June 10, 2011 == - -===Notes=== - Location: Gmail Chat - - Chaired by: Leo - - Notes by: Praveen - - * Told Leo that I started working on testing today. - * I asked him if every module in app.soc.logic needs to be tested. He told that all the non-trivial modules which are used presently needs to be tested. - * I told him that I will start with the easier modules like soc.logic.tags, soc.logic.system etc. - - - - -= Coding Plan = - -== May 16 - May 22 (Community Bonding Period) == - * Upload a GAE instance and write a view to run all the tests and return all results back - * Write a python script to calculate the frequency of a term in the codebase - * Read Django and GAE documentation. - -== May 23 - June 15 (Official Coding Period) == - * Generate the directory structure of soc.logic - * Write tests for app.soc.logic and then for modules.gsoc.logic and modules.gci.logic - -= Links = -* My GSoC Proposal [https://github.com/praveen97uma/GSoC-Docs/wiki/Testing,-Code-Guru-and-Quality-Assurance/] - -* My melange instance [http://melangetesting.appspot.com] - -* A Web Test Runner [http://code.google.com/p/gaeunit/] - -= External Testing Resources = -* _All I really need to know about [testable, maintainable, packagable] “scripts”_ [http://www.testingtv.com/2010/01/27/all-i-really-need-to-know-about-testable-maintainable-packagable-scripts/] - -* Building Tests for Large, Untested Codebases [http://www.testingtv.com/2009/12/31/building-tests-for-large-untested-codebases/] - -* Paver - Easy Build and Deployment Automation Tool for Python Projects [http://www.testingtv.com/2010/02/03/paver-easy-build-and-deployment-automation-for-python-projects/] - -* Coverage Testing - The Good and the Bad [http://www.testingtv.com/2009/12/29/coverage-testing-the-good-and-the-bad/] \ No newline at end of file