أرشيف تصنيف ‘مذكرات‘

مذكرات / Summer Training Diary: More Tests …

22 أغسطس

August 18,19

I solved the issue regarding logging using 2 users, and since that is possible now, I did some new test cases which was not possible before. Also I revised some test cases to use this new methodology and removed their prerequisites since I can make them in the test itself.

Next I have to run a test suite, if it took less than an hour, the supervisor will take it! if not, It will be a problem.

مذكرات / Suummer Training Diary: Finishing the Tests

18 أغسطس

August 15,16,17

Nothing special about these day. I was really focusing on making new test cases, it went really smooth since I suffered the previous day, by this suffering I developed a nice set of code which helped me do the rest of the work very fast. I only faces a problem which I wanted a bot to join a specific room in which I cannot know where it is. To the tester here gave me a great idea! He told me to use the search filters, and if you give your room a specific name, then you can find it directly, not only that, but I will be also the 1st in the list. With this technique, my problems are solved. Only one problem is left to solve, but with the current tools I cannot really test it. This test requires that I have automated control over 2 users, and kammelna doesn’t allow 2 users to be logged from the same machine. That means, if I logged with another account, the 1st one will be kicked out.

مذكرات / Summer Training Diary: Getting to know The Infarstructure

16 أغسطس

August 12, Wednesday

Today was an interesting day! I got to sit with my supervisor and talk alot about Kammelna’s infrastructure. We talked about servers and how they communicate and how to imprive such stuff and to help him with debugging the high CPU usage problem. Also I got to see the linux server they are using and got some explaination about garbage collection machimisms and what to choose depending on the demand of your application. Also the supervisor explained to me the plan they intened to do to have better server optimization.

مذكرات / Summer Training Diary: CPU Problem and Facebook App

15 أغسطس

August 11, Tuesday

I started my day by testing Kammelna from my home PC. There seems to be a bit of delay so I called my supervisor and asked him about if anything has happened. He told me that there is a problem with the server’s CPU usage and they are trying to solve it.

Thanks to that, my test cases cannot work perfectly, since it shouldn’t be taking this long. But I noticed that there are some problems with the checksums as in the virtual machine in the office! There must be a problem! not all checksums fail, only a few of them.

I decided to postpone testing and work on Kammelna-Facebook integeration. I researched a bit about and managed to do some simple stuff. It seems that we might need a new interface along with new entries in the database.

مذكرات / Summer Training Diary: The Calm After the Storm

14 أغسطس

Yes, “After” not before!

Although another storm came after the Calm -.-

August 10, Monday

I managed to improve the test now! The 1st 3 test cases work just fine on all machines. Also I’ve tried it on a virtual machine running windows XP, and it is working.

What I’ve improved:

  1. Delete Cookies Function: This function used to delete cookies by clicking in in the screen. Checksum might differ from one machine to another, so I decided to look for the hyperlink element instead. I search an element with the work (خروج). It worked fine on my PC, when I tried it somewhere else it failed. Later on, I figured that the reason was because the arabic word turned to another thing in the other machine. So then I decided to use “ClickByID” not by Text, and it worked fine on all PCs.
  2. Login Screen Checksum: there was a problem here, the login button will not click unless all elements in the page are shown, the last element that shows it some flash text on the bottom. I used to checksum this text, but this is a mistake! it the text is changed even slightly the text will fail. So instead of waiting for the text to appear, then excute the writing method, I check the location of the text before the text appears, so when the original background changes with whatever text, the wrting function executed. This means that no matter what text in that place, it will never affect the test anymore.

After that I continued working on the old test cases and modified them so that they will follow the golden number I made. I encountered some problems with tests 5 and 6, I will look them up by tomorrow. But for a first glance, Test 5 got an admin problem which I can’t do anything about unless I do a request to the admin to do something for me. As for test 6, There is something strange, 1 place in 2 different machines have different checksums! I hate this problem, It alwasy makes me worry. I’m going to test this on my machine at home and see what will happen.

مذكرات / Summer Training Diary: The Golden Number

13 أغسطس

August 9, Sunday

I found out what I called “the golden number”. Its the numbers I have to subtract from each coordinate number I have in order to fix the problem so the my tests can work on other machines! (3,25) Subtract these and everything worked. I modified what was needed in order to test TestID 1. It worked on my Laptop, and another PC here, but it didn’t work on my advisors laptop! This is yet a strange problem, I tried a test on another machine and it worked. Is there a problem on my advisor’s Laptop now? I will try to test it more on different machines and maybe also a virtual PC to so how will it go.

مذكرات / Summer Training Diary: Testing Catastrophe!

12 أغسطس

August 8, Saturday

I changed the organization of the error log to look better. Also, I’ve added a checksum error check where the intended checksum is written along with the current checksum on the screen that caused the checksum test to fail.

I’m still trying to solve an issue, in which test some times fail, but mostly not. And another issue is, the test is NOT working on another machine! I have to find out where the problem is.

To diagnose the problem, I tried the tests on 4 different machines and 3 Different Operation systems to see if the problem what from my OS since I’m using Windows 7. But its turned out that it doesn’t matter! I got the same result on all other machines, including another Windows 7 machine. All other machines got the same results except mine, and my machine was the only machine in which the test successfully runs.

To make a further diagnosis, I tried to see the following numbers in all machine (in which I made a specific test for that purpose): Pixel Location, Pixel Color in Hex, Pixel Color in Decimal and Checksum value. My machine would have the same X and Y location, but different Pixel Color both in Hex and in Decimal, and ofcourse, Different checksum.

Later on we found a location which have the same Hex Pixel Color but Different Decimal color! This didn’t make any sense at all! Why would they be different? Later on we noticed that there was a one-letter-different between the two. That means we are back to ground zero!

Then again, we thought that maybe there are differences in color setting in all machines. We tried to look it up, but it no process was made.

As another attempt, I decided to check if X and Y locations are the same. 1st I tried to check the X location. I made the mouse move to be on a vertical line, and run that test on the 2 machines. Both mouse cursors ended up on the line exactly, that means no problem here. I repeated the same test, but now the line will be horizontal. One cursor was on the line, the other one was 2 pixels above it! Aha! This explains alot of things! If there were 2 pixel shift, the color will differ and the checksum willl also differ! Maybe we are getting closer now.

We tried to shift the other one down to see if we will get the same pixel color and check some, and it turned out to be a sucess!

Now another issues arise, now that we know the problem, what is the best way to fix it? There are 2 options:

  1. Redo ALL pixels and checksums from scratch (Maybe 50 entries needs to be redone)
    Things to do:

    • Make the test browser’s (0,0) point exactly on the page screen not the window screen. By doing this, tests will be the same in all machines.
    • Figure out how much pixel difference there are between the new pixel location and the old one.
    • Modify all Pixel locations in the test
    • Run tests to get the new checksums from the error log, since I added 2 values there called “checksum value” and “true checksum value” and they turned out to be of great help.
    • Get the new checksums and added it to the tests and re-run again and again until everything is working fine.
  2. Try somehow to shift-up the test browser up by 2 pixels.

Personally I will do Option 1. If i’m going to do something, I want to do it the right was, and since I have time, I can do it! Maybe if I’m short on time I would choose Option 2.

مذكرات / Summer Training Diary: Continuing with Tests

11 أغسطس

August 5, Wednesday

I continued to do one more test ID, then I figured, Why not do the log in a more proper way? I added a function called TestStart and TestFinish. With those two, I can just write that instead of calling the write to log function 6 times.

Also, I made a test suite to test all tests that I’ve made so far. I’ve encountered some problems learning how including works in this language, but I managed to do it later. I had to go back to every test and make it like a function. Including here will run any method in the file that you’ll be included that have been called. Hence, if you make a method and not use it inside the file, the method will not run. So you’ll have to choose between them.

مذكرات / Summer Training Diary: Testing Scrips and Automation

10 أغسطس

August 4, Tuesday

Today was a busy day! a new record in working hours also! I made some additions and changes to the infrastructure of the testing methodology! I changed every pop-up error message and made it write a message into a log. this log contains the time associated with an error message with a corrisponding ID to know where the error is exactly.
The reason I chaged the pop-up message is that the test will not continue until you press OK. This way, you CANNOT leave the PC to do something else, you have to press OK everytime there is an error. But now, you leave your PC, lets say for 5min, Then you can back and read the log. You will know where the error is if there were any and in which test case and in which location.

Also there is another problem. This tool would be much easier to use if my test was on a web application or a desktop application, becease I can select which element I want to select and which action should I be doing. The problem here is the our application is a flash application, and flash in websites is considered as a whole element. This means I cannot select a text box -for example- inside a flash application! So what I did was that I should be controlling the mouse to click in a specific pixil then write something, and do that over and over, I have to control clicks!

Next, How am I supposed to know it this is the right page or not? Should I take a screenshot and compare? or are there are any other solution? What we did is that, we select for example 3 different point in a page which can only exist in this page or screen. There will be an X value, Y value, and Color value. these value are calculated in a way with the naughboring 8 pixils surrounding it to produce a checksum! So next time when I open that screen, we immediately check those 3 locations and their checksums. This way we can be close to sure that we are in the correct page.

I finished TestID 9 for today, going to continue tomorrow.

مذكرات / Summer Training Diary: Cheat Research

9 أغسطس

August 3, Monday

I started my day by continuing the research about the cheating issues, and I came to a conclusion. Cheating is not something fun to do in those 2 games. One of the games had little resources in the net, so I had to go and ask player. What I did is that I went to a room and talked with player. “What would happen if someone cheated in this game?” I asked, they replied “We would kill you :) ”. So, yes I guess people don’t like to cheat here, whereas cheating in Baloot is considered an Art! One reason for me to hate baloot I guess.

I told my Employer about this (he is the sponsor also). My employer though adding a cheating feature as an apportunity, but with this much info, if turned out to be not! Cheating in not liked in the other 2 games, but later on, people might start liking the idea! who knows?

Near the end of the day, my supervisor explained to me the code he made for the automation of testing “Kammelna”. I was given a task to automate all “Kemmelna” test using a script called “AutoIt”. I have worked with it few days ago in the training, and now it is the time to get my knowlegde into use.

البحث في المدونة: