Thursday, January 18, 2007

So I mailed the professor that teaches software testing about the question on the study guide about "Equivalence Term Testing". He had an answer he got from another student. It turns out that he is taking the same Software Engineering exam and had notes on the question. So I got my question answered. That brings me to the end of studying for the Testing section of the exam. Assuming that the test does not go off color like the question above I think that I will be able to handle the area`s covered by the study guide. As a side affect to contacting this professor I learned that he has a study group. This study group meets on Sundays which works out for me. I worked my way into the group. I hope that it turns out to be a good experience. It is only one day a week and I have been studying every day. I would not expect it to derail my plans. It just so happens that I mailed him an answer to the section being covered on Sunday. I think that that sealed the in for me into the group.

Saturday, January 13, 2007

Have a wedding to attend this weekend and won`t get much study done. I did get back and email from Cem Kaner. He is the author of the book on testing that is recommended in the software engineering reading list. In short he says that the question in the study guide has no basis because the terms are to widely used or not used at all as in the case of "Equivalence Term Testing". He suggested that I get local (My University) meanings of the terms. That says that these terms are not in his book. That says that I should look at the other paper mentioned. I know that these terms are not in that paper. Therefore, this question is designed for insiders. I don`t like that. More on this later.

Thursday, January 11, 2007

I found the information about "Mutation Analysis" in the original paper. The paper is called "Hints on Test Data Selection: Help for the Practicing". Programmer DeMillo, R.A. Lipton, R.J. Sayward, F.G. This paper appears in: Computer Publication Date: April 1978 Volume: 11, Issue: 4 On page(s): 34- 41 ISSN: 0018-9162 Posted online: 2006-07-06 09:21:47.0 I checked our library and because it is from 1978 we do not have it available. I put in a request for the paper but did not have a library ID number even though I can view the online version with my campus connect password. So I emailed the librarian asking for direction. I hope that this has the information I need. Even though I cannot read the actual paper yet. I wrote in my notes what I found in wikipedia. It seems complete but I want a more authoritative source. I really do believe that wikipedia has good data. I just want to make sure that the colloquial usage of this term is the same as the academic use of this term. I also found a paper with a definition of "Random Testing". It is different than my intuition. I did know about mapping of pseudo random numbers across the input domain. What I did`t know about was obtaining a reliability estimate by having the input distribution being across the expect software usage distribution rather than the entire domain of input. The expected software usage is call the "operational profile". The name of the paper is: "When only random testing will do." International Symposium on Software Testing and Analysis archive Proceedings of the 1st international workshop on Random testing table of contents Portland, Maine SESSION: Session 1 table of contents Pages: 1 - 9 Year of Publication: 2006 ISBN:1-59593-457-X I have a definition of Basis Paths Testing from a government publication called: "A Method to Determine a Basis Set of Paths to Perform Program Testing." J. Poole, "NISTIR 5737 A Method to Determine a Basis Set of Paths to Perform Program Testing", Department of Commerce, November, 1995. These have been much more help than the reading list. The reading list does not have these exact terms. For instance on page 136 of the book suggested in the reading list a section called "Random Inputs" describes something like "Random Testing" but never says "Random Testing and does not talk about the "Operational Profile". I have found stuff on "cyclomatic complexity" and "Equivalence Partitioning" but still no "Equivalence Term Testing".

Tuesday, January 09, 2007

Still looking through the Software Testing Section of the reading list and the associated sections of the pre-tests. I still have not found parts of the questions in readily available literature. The literature listed in the reading list does not address these terms either. I have read the papers listed and looked at the glossary of the books mentioned. I emailed the authors of the pieces of literature to make sure that I am not missing something. I would suspect that context does not necessarily clue you in to the meaning of the terms. See my rant on the last post. It was easy to find a historical document describing "cyclomatic complexity" at the SEI from the 70`s even though the term was misspelled in the question on the sample test. Sample tests are actually past tests given. I wonder if this misspelling was on those tests also. Because of my learning disability and my difficulty in reading I don`t often see misspellings. Not an issue for me...maybe for someone else. The problem for me is when I read something that is not there. So I look at this catch as a metric of how meticulous I am being about these documents. I still cannot find "basis paths", "Equivalence Term Testing" (not equivalence partitioning), or "Random Testing". These are terms that I have an intuitive notion about but don`t have a concrete place to look. This makes me very uneasy. If the test writers are not going to use common terms they could come up with anything on the test. If these are historical and have some significance to the university I sure cannot find them. I did find Equivalence partitioning (not the one I want "Equivalence Term Testing") and Mutation Analysis in wikipedia. I wish I had a more concrete source. Wikipedia has some very good documentation but they are still not considered authoritative. Why are these terms not in the literature reading list?

Sunday, January 07, 2007

I wrapped up the Metrics section of the reading list today. This brings and end to looking through the question given on the test that I found difficult to remember because of the way it was asked. I was not clued into the author`s names. At any rate I moved on to software testing. There are two pieces of literature mentioned in this section. The 2 pieces are a book called "Testing Computer Software" and a paper called "The Evaluation of Program-Based Software Test Data Adequacy Criteria". The paper is obtainable only through the ACM portal from the DePaul Library. If you have never used this before you will need to use your campus connect password. I had to get the paper for the section I just finished on Metrics using this method also. In the current section of study Software Testing the exam has a question that asks you to describe the weaknesses of three approaches and then asks you to answer a few questions about a small algorithm. It has been very frustrating to try and provide definitions for these approaches. ``Mutation Analysis`` seems to be something easily found but the other two, "Random Testing" and "Equivalence Term Testing", are more difficult. It seems that the paper and the book don`t use the exact terms as used in the test. In the test it even makes a note to not confuse "Equivalence Term Testing" with "Equivalence Partitioning". I find this very ugly. If you cannot find reference to the exact term how do you know that you are describing what the author of the test really wants? I have looked at the citations to the paper mentioned and it has several. I looked at the ones that are by the author. Since this paper is from June 1988 some of the citations are not listed on the ACM portal or on the IEEE portal. So I cannot even look back at what the author might have said in previous papers... maybe using the terms mentioned. Looking in the book I find that the terms are not in the glossary. I looked through a couple of the sections and did not find them either. I guess my plan at this point is to review the paper thoroughly. I will then browse the book and try and get something. Looking into parts of the question may get me through if this is one of the questions I have to answer on the test because of avoidance of one of the others. So, what in the hell is this supposed to teach me? Does the frustration of the way this question is worded teach or "TEST" anything. Why ask about a specific term if it is not the commonly used term? Because, if it was common you would be able to find it in many places, for instance you could google for it or find it in Wikipedia. I think that this kind of question really points to a problem in the way DePaul tests their PhD students. It is not that someone won`t be able to pass the test it is that DePaul won`t be able to test the people that they want for PhD`s.

Thursday, January 04, 2007

I have been looking at the paper `A Critique of Software Defect Prediction Models`. This is a paper mentioned in the reading list. It has been a good read. Since I was involved in the CMM effort at the Bank of America I can see many of the mistakes made then by reading this paper. Metrics about defect prediction are difficult. The unknown relationship between defects and failures makes this problem a pretty large one. The mistakes often made where ones I have seen being done at the Bank of America. The ones mentioned in the paper have all been done their. --the problems with `multivariate statistical approach, problems of using size and complexity metrics as sole predictors of defects, problems in statistical methodology and data quality, and false claims about software decomposition and the goldilock`s conjectures, are all problems exhibited in the Bank of America`s software process defect predictions. `Management by Fact` has a loose definition of the word `fact` in their process. At any rate I understand because this stuff is hard. One of the questions on the test is related to self experience with these problems. I think that I have the ammunition. I will just need to be ready to cover the right bullet points.

Tuesday, January 02, 2007

I have been eating to much. The holiday`s have kept me pretty stuffed. I have been going though the metrics part of the software engineering reading list. I have been through this part several times. I am going through it a bit more deeply this time. I have nearly read through the papers again an have been making notes along the way. One of the questions I missed on the exams was related to some author names in this section. I expect to be able to nail those questions this time around. I have the link to the authors names now in my memory. It should be easier to recall this information this time. This part of the present studying always stinks because it is painful for me to remember the memory of execution of the question on the past test and match it to the studied information prior to today, to late to exercise the previously learned information on the test that has already passed. I have this 20-20 hindsight problem frequently. The good part is new information gets linked in too.