2010. november 4., csütörtök
Iphone iOS Summer Time bug
So there is a new bug that rose its head on the iOS after the automatic clock change durring summer hours.
The bug is that the alarm clock still activates at current hour + 1.
I wonder if the head a test for it, or how would they test an automatically triggered feature.
Easy... Set a setting in the db. There sure is a setting that says now is the day time change please set your clock forward or backward.
After the clock is reset i would go over all the application that USE time to determine something.
And ofc i would say the ALARM CLOCK is pretty damn sure to be one of them!!
I wonder if they did think about this or the managment again forgot to make this a priority because they ahd to deliver.
You see i love Blizzard. They always negleted relese dates. They said.. it's done when it's done. And i do prefer that because when they are done they deliver a mostly bug free software. They don't care when it's delivered until they are satified with the product at hand.
I don't mind waiting a couple more months if things like these got fixed in the mean time.
They are just anoying and a either mean that they don't really care or that they have a bad qa team. Which will it be?
Gergely.
2010. november 2., kedd
2010. június 11., péntek
Ok
New URL for my Blog is: http://alternateillusion.com/
I'm a co writer there.
Bye Bye BlogSpot.
Xml Serialization with - java - SimpleXml
2010. június 10., csütörtök
Oil crysis
Repetiton
Selenium Framework Structure - Java - Continued
So... Last time we had everything wired up in the framework.
Just watch out to comment enough in your xml file or you will get confused what is what no matter how meaning full names you give your elements.
So you want your tests to run every night and you want your developers to run these tests before they commit.
For the first part it's easy. For the second you need to do some extra work.
You see programmers are lazy people. They don't want to bother to set anything not even editing a config file. So you need to make sure that they can run something with two clicks MAX. Or one command line argument.
So what you need to do is using testng you need to organize your tests into groups. Groups like:
Smoke Test
Slow Smoke Test
Home Page test
Login Test
User Dashboard settings test
And so on and so fort. You can achieve this by using the java annotation @ at class level.
So like:
@Test(groups = { "DashboardTests" })
After defining groups you can use testng-s xml setting file to create a config that runs only these tests like :
test name="Regression1"
groups
run
include name="DashboardTests"
run
groups
test
This way you are running the group of tests. So every test that is in that particular Class. You then would save this xml into an xml named : AllDashboardTests.xml and the developer needs only to run that one.
Last but not least you need to set your ANT files.
For that i recommend using separated projects under eclipse. Why? Because you have more then one iteration of a web site. You have versions that needs to be automated not just one.
So i recommend using more projects Like:
Main automation project: Would contain utility classes, libraries, stuff that is constant over all of your projects
Version One: Would contain files specific for this version. UI Elements, Implemented test cases, steps, configuration files.
Version Two: Would contain files specific for this version.
So for this structure you need an ant script that can work with all these projects. For that you would have a main script under your Main Automation Project project and several smaller scripts under each version that contains useful information or only linkage to the main script.
The main script would handle everything that is constant over all your projects that means:
Building the files
Executing tasks like: check style, copying, creating directories
Creating report
So your smaller ant script would only contain information like, which testng xml to execute.
I also recommend creating an ant target that starts and stops selenium. So your would only have run something like this:
ant test-start-selenium
This would then run the tests and start selenium too. And stop it too of course. This would look like this:
name="test-with-selenium"
depends="selenium-start, runtests, selenium-stop"/>
selenium-start:
target name="selenium-start"
java jar="${automationframework.dir}/lib/selenium-server-standalone-2.0a4.jar"
fork="true"
spawn="true"
arg line="-firefoxProfileTemplate ${firefoxProfileTemplate}"
java
sleep seconds="1"/
target
selenium-stop:
target name="selenium-stop"
get taskname="selenium-shutdown"
src="http://localhost:4444/selenium-server/driver/?cmd=shutDownSeleniumServer"
dest="result.txt"
target
So this would start your server ( and add a parameter to it called -firefoxProfileTemplate ). This way all you have to do is execute one little task and it would do everything for you.
Easy eh?
For Hudson and Selenium Grid integration please see this:
http://selenium-grid.seleniumhq.org/continuous_testing_with_selenium_grid_subversion_and_hudson.html
I didn't began to write down how to do it, because this tutorial is great for it.
And i didn't quite yet did it myself. :) So i have to do that one too.
I hope you liked my post, if something is left out, please tell me.
Cheers,
Gergely.
Sorry for the bad edit... I gave up with blogger handling xml tags... Damn them.
2010. június 4., péntek
Selenium Framework Structure - Java
- Selenium
- WebDriver
- Watir
- Watin
- Ranorex
- Sahi
- WebAction
- Selenium
- TestNg
- SimpleXml for Java
- ReportNG - Reporting for TestNG - Nice piecharts
- Ant
- Hudson
2010. június 3., csütörtök
GTD - Getting things done
2010. június 2., szerda
Usefull stuff
2010. május 26., szerda
Moving
2010. május 14., péntek
How does a porn star pay for her speeding ticket?
- You assumed something
- You used a stereotype which was present in your head
- Never assume anything
- Always question everything
- Never trust anybody
2010. május 11., kedd
Child parenting in the views of a tester
- As Amy, i would like to go to collage to be able to get a degree
- As Amy, i would like to get a breast implant so Joey finds me attractive
- As Mark i would like have my ears pierced so i could sleep with Amy
- As Amy i would like to have proper parenting so i don't sleep with Mark just because he has a cool ear piercing, and oh my god did you see that biceps?
2010. május 9., vasárnap
No coding required.
- You want an environment with which it is easy to work
- You want an environment which can be easily expanded
- You want an environment which wont fail if you add another test or 200.
- You want an environment which is portable
- You want an environment which is configurable
- You want an environment which can run on every kind of browser and op system
- etc.
2010. április 29., csütörtök
Learning
2010. április 17., szombat
"Advanced" user opinion
2010. április 8., csütörtök
Secret code
Google groups for Testing
2010. március 30., kedd
Technical Skills vs. Testing knowledge
- Design Patterns
- The selected programming language
- Object Oriented design and programming
- Framework building / designing
- Automation knowledge
- Tips and tricks of the selected tool ( selenium, ranorex, watir, etc )
2010. március 25., csütörtök
New things
2010. március 23., kedd
Failing after Failing
The soul of a tester
Hi.
I went through a small inner conflict. Am I a tester or do I wanna be a developer? I think that every tester who ever was a programmer does take on this question.
Do I program at home or do I commit myself to a life time of studying technology and understanding it but never actually using it since I ain't got the time to delve into something. Why not? Because you must go on with your studies as a tester and you must go on with your work. And if you are a tester from the soul you should practice your testing skills and not your programmer skills. And if you're an automation tester then you should practice your automation skills which does involve programming but not at application level.
And that brings me to today's topic. A tester's soul.
I could write about many things... Technology. Boundary Analysis. White Box testing. Black box testing. Performance, Syntax, Idiot proof, Exploratory, Semantic, Error Guessing, Algorithm testing and so much more. Automation, Server side scripting, web automation, sql injection proofing and so on and so fort.
None of these mean anything. It does not matter if you know these things, it does not matter if you can write a test within 5 minutes that tests a textbox for every value possible it does not mean ANYTHING IF... if you don't have a testers soul. A tester will do this with Passion! A tester will do this out of curiosity a tester will try to break the system in any way possible a tester will try to find loopholes a tester will try to find every bug in a the world. And tell you what? A tester is a tester even if he is NOT in work. A tester will test a TV in a market before he buys it. A tester will try to punch a melon to see if it breaks before he buys it. A tester will take careful decisions based on analysis the available data at hand. A tester will do his job and he will love it. Even if it is dull at some times. It does not matter. He likes it that way. It does not matter if from time to time there is nothing to do because the servers are not working. He would not mind the time out. Why? That's just another opportunity to broaden his skills. He reads books about testing, he reads blogs about testing he reads articles about testing. It's in his Soul in his Blood in his very existence. He will jump into new opportunities he will gladly learn the 123131345533th programming language if the project demands it. He will be an expert on Network Security if the project demands it and hell he will even be a professor a doctor and a damn astronaut if that is what he needs to be.
A good tester's a very good tester's best abilities are not what he may already know about technology. Technology is not a constant variable. It's always changing always evolving. A good tester can ADAPT. A good tester LIKES to adapt. A good tester WANTS to adapt. A good tester has strong people skills. A good tester is a cheerful person with very good fantasy and ideas which pop out of his head every minute. A good tester is a guy who if he drops his phone has almost instantly written and performed a dozen test cases to see if his telephone is working. A good tester will NEVER assume. A good tester does NOT KNOW the word ASSUME. He hates the sentences:”Let's assume.” Let's not. Tell me how it looks like. Tell me how it works. Tell me it's bits and pieces tell me the nature of it's heart and i take it apart and put it back together and tell you what's wrong with it.
THAT is a Tester. A tester loves to test. A tester loves the challenge of a good application. A tester loves reading, writing, learning about technology, testing processes, the world in it self. A tester wants to be ALL KNOWING. A tester can never have enough knowledge in his brain. A tester NEVER does something SINGLE. He always does multiple things at once. Never does focus on something he focuses on many things WITHOUT loosing detail on one thing.
So... What is a tester's soul? A tester's soul is his life. A tester is the embodiment of a protecting angel who tries his best to surface all the evil in the world and all the bugs in software development. A tester is a life commitment. And i like being a tester. I love being a tester. There is nothing better then to be a professional senior software quality assurance engineer. Amen.
2010. március 22., hétfő
Mutli user Testing
You would think that with the huge evolution that databases went through in the past years multi user testing is out dated. But that is completely untrue.
Web applications now days face a user pool of more then thousand or even more then tens of thousands of users. These are a lot of people acting all at the same. There ought to be some problems. Imagine a bunch of users requesting information on one subject. Or editing a document? Take a document from a shared library and begin to edit it and then submit the change? Who wins? First come first served? Or imagine a document with the same name submitted by a dozen of users at the same time.
Now days there are keys that prevent these kind of errors from happening. Unique keys that don't allow conflicts. Even so a deadlock is possible. Imagine a tunnel that only allows one car at a time to pass it. Two cars wont fit and when one car comes from the other and then it's a lock. Now this is possible if the design was not good enough or the developer did not thought of it. In my career i encountered multi user problems all the time when testing Web applications. They were never solved only patched.
So don't underestimate multi user testing because when a deadlock occurs that's no fun...