"Some birds aren't meant to be caged, their feathers are just too bright"- Morgan Freeman, Shawshank Redemption. This blog is from one such bird who couldn't be caged by organizations who mandate scripted software testing. Pradeep Soundararajan welcomes you to this blog and wishes you a good time here and even otherwise.

Saturday, November 28, 2009

Weekend Testing : 16 : Test and Experience Report

Mission: To find three conditions where Defender wins, Defender loses, and Neither Defender wins nor Attacker Wins for SpeedSim.

Deliverable: Send the combat report of the simulated battle for each of the conditions in a zip file.

Tester: Pradeep Soundararajan
Time: 3:00 PM IST , 28th Nov, 2009

Later there were more missions that were added (bad I didnt pay much attention but was able to recover quickly )

Notes:

# I downloaded the application and asked questions about the version of the file before I installed.
# Having some time, I discovered the existence of an online version of what I downloaded and installed.
# I am spending time trying to learn what the application does. Wondering how I should learn this game.
# Found a tutorial of what this app is all about at : http://www.speedsim.net/index.php?page=tutorial. Quickly brushing through it.
# Working on achieving the mission at 3:20
# At about 3:35, I feel I am close to accomplishing the mission but not sure if there is a trap in there.
# I wonder what a partial win is? For instance in one of the report below I saw a 98% win for Defender ( Can I achieve a 50% win )
# I realize that I am not getting caught by the complexity of so many fields to achieve the mission. Keeping it simple.

# As I was too focused on the mission give, I missed the opportunity of learning the other two mission.
# Registered myself at barym.ogame.org to play the actual game for which I am using the simulator.
# Created an account at websim.speedsim.net to keep track on the portal and playing the simulator online.
# Turns out that the third mission is to find a blocker : Testability is a huge blocker. I am not sure if there is logging as well.
# Figured out that the second mission is: There seems to be a lot of data on the combat report, can you find out from where those values are populated.
# Finishing the report without focusing what was happening on the discussion chat of experience reporting.
# There was a German national Maik Nogens who participated and I hope he picked up the Deutsch language pack for this program.

Issues: ( although we weren't supposed to be finding them, they just danced )

# Large values on each side and then breaking the simulation results in crash of the app. Consistent with all three attempts I did. ( Screen shot available )
# Testability is a major concern however I think it might be solved if I am given how to build a Load Fleet Template file.
# Thinkpad Wireless Connectivity Manager (Thinkvantage Connections ) crashed mid way through my testing although internet was still alive. Not sure if this got anything
# to do with what I was doing with the application.
# I notice that when I move from English to other language ( lets say Deutsch ) the result still remains in English while other fields are changed to Deutsch.


Mission 1: Three conditions of Attacker win, Defender Win, Draw Result

Draw #1

Input: All values default null

Battle results:

Battle on: Fight at Unknown [x:xxx:x]
Result: | Draw (100%) | after ~ 1 rounds
Debris Field: 0 Metal (0%), 0 Crystal (0%) max. 0 Recycler
Losses Attacker: 0 Metal, 0 Crystal and 0 Deuterium
Losses Defender: 0 Metal, 0 Crystal and 0 Deuterium
Moonchance: Not enough resources in the debris
Theoretic Plunder: 0 Metal, 0 Crystal and 0 Deuterium ~ 0 Large Cargo
Real Plunder: 0 Metal, 0 Crystal and 0 Deuterium (0% Booty)
Needed Fuel: 0 Deuterium (Recycler: 0 Deuterium)
Flight times: 00:00:00 h (Recycler: 00:00:00 h)
Plunder from Waves: 0 Metal, 0 Crystal and 0 Deuterium after 1 attacks (max. 0 Recycler)

Draw #2

Input : Attacker Small Cargo : 2 : Defender : Small Cargo 10 : Rest all : Default Null

Battle on: Fight at Unknown [x:xxx:x]
Result: | Draw (100%) | after ~ 6 rounds
Debris Field: 0 Metal (0%), 0 Crystal (0%) max. 1 Recycler
Losses Attacker: 0 Metal, 0 Crystal and 0 Deuterium
Losses Defender: 0 Metal, 0 Crystal and 0 Deuterium
Moonchance: Not enough resources in the debris
Theoretic Plunder: 0 Metal, 0 Crystal and 0 Deuterium ~ 0 Large Cargo
Real Plunder: 0 Metal, 0 Crystal and 0 Deuterium (0% Booty)
Needed Fuel: 0 Deuterium (Recycler: 0 Deuterium)
Flight times: 00:00:00 h (Recycler: 00:00:00 h)
Plunder from Waves: 0 Metal, 0 Crystal and 0 Deuterium after 1 attacks (max. 1 Recycler)

Draw #3

Input : Attacker Bomber 3: Defender : Heavy Fighter 20: Rest all fields : Default Null

Battle on: Fight at Unknown [x:xxx:x]
Result: | Draw (100%) | after ~ 6 rounds
Debris Field: 28,800 Metal (0%), 19,200 Crystal (0%) max. 5 Recycler
Losses Attacker: 0 Metal, 0 Crystal and 0 Deuterium
Losses Defender: 96,000 Metal, 64,000 Crystal and 0 Deuterium
Moonchance: Not enough resources in the debris
Theoretic Plunder: 0 Metal, 0 Crystal and 0 Deuterium ~ 0 Large Cargo
Real Plunder: 0 Metal, 0 Crystal and 0 Deuterium (0% Booty)
Needed Fuel: 0 Deuterium (Recycler: 0 Deuterium)
Flight times: 00:00:00 h (Recycler: 00:00:00 h)
Plunder from Waves: 0 Metal, 0 Crystal and 0 Deuterium after 1 attacks (max. 5 Recycler)

Attacker Wins #1

Input : Attacker Small Cargo 1: Rest all default null for Attacker and Defender

Battle on: Fight at Unknown [x:xxx:x]
Result: | Attacker wins (100%) | after ~ 1 rounds
Debris Field: 0 Metal (0%), 0 Crystal (0%) max. 0 Recycler
Losses Attacker: 0 Metal, 0 Crystal and 0 Deuterium
Losses Defender: 0 Metal, 0 Crystal and 0 Deuterium
Moonchance: Not enough resources in the debris
Theoretic Plunder: 0 Metal, 0 Crystal and 0 Deuterium ~ 0 Large Cargo
Real Plunder: 0 Metal, 0 Crystal and 0 Deuterium (100% Booty)
Needed Fuel: 0 Deuterium (Recycler: 0 Deuterium)
Flight times: 00:00:00 h (Recycler: 00:00:00 h)
Plunder from Waves: 0 Metal, 0 Crystal and 0 Deuterium after 1 attacks (max. 0 Recycler)

Attacker Wins #2

Input : Attacker: Small Cargo 500 : Defender 0 :: Weapons Technology : Attacker 1: Defender 1 : Combustion Drive 1: Rest all : Untouched/default null.

Battle on: Fight at Unknown [x:xxx:x]
Result: | Attacker wins (100%) | after ~ 1 rounds
Debris Field: 0 Metal (0%), 0 Crystal (0%) max. 0 Recycler
Losses Attacker: 0 Metal, 0 Crystal and 0 Deuterium
Losses Defender: 0 Metal, 0 Crystal and 0 Deuterium
Moonchance: Not enough resources in the debris
Theoretic Plunder: 0 Metal, 0 Crystal and 0 Deuterium ~ 0 Large Cargo
Real Plunder: 0 Metal, 0 Crystal and 0 Deuterium (100% Booty)
Needed Fuel: 0 Deuterium (Recycler: 0 Deuterium)
Flight times: 00:00:00 h (Recycler: 00:00:00 h)
Plunder from Waves: 0 Metal, 0 Crystal and 0 Deuterium after 1 attacks (max. 0 Recycler)

Attacker Wins #3

Input : Attacker: Battleship 1: Defender : Heavy Fighter 1: Rest all fields: Default null

Battle on: Fight at Unknown [x:xxx:x]
Result: | Attacker wins (100%) | after ~ 1 rounds
Debris Field: 1,800 Metal (0%), 1,200 Crystal (0%) max. 1 Recycler
Losses Attacker: 0 Metal, 0 Crystal and 0 Deuterium
Losses Defender: 6,000 Metal, 4,000 Crystal and 0 Deuterium
Moonchance: Not enough resources in the debris
Theoretic Plunder: 0 Metal, 0 Crystal and 0 Deuterium ~ 0 Large Cargo
Real Plunder: 0 Metal, 0 Crystal and 0 Deuterium (100% Booty)
Needed Fuel: 0 Deuterium (Recycler: 0 Deuterium)
Flight times: 00:00:00 h (Recycler: 00:00:00 h)
Plunder from Waves: 0 Metal, 0 Crystal and 0 Deuterium after 1 attacks (max. 1 Recycler)


Defender Wins #1

Input : Attacker Small Cargo 1: Defender Small Cargo 7

Battle on: Fight at Unknown [x:xxx:x]
Result: | Defender wins (98%) || Draw (2%) | after ~ 6 rounds
Debris Field: 600 Metal (30%), 600 Crystal (30%) max. 1 Recycler
Losses Attacker: 2,000 Metal, 2,000 Crystal and 0 Deuterium
Losses Defender: 0 Metal, 0 Crystal and 0 Deuterium
Moonchance: Not enough resources in the debris
Theoretic Plunder: 0 Metal, 0 Crystal and 0 Deuterium ~ 0 Large Cargo
Real Plunder: 0 Metal, 0 Crystal and 0 Deuterium (0% Booty)
Needed Fuel: 0 Deuterium (Recycler: 0 Deuterium)
Flight times: 00:00:00 h (Recycler: 00:00:00 h)
Plunder from Waves: 0 Metal, 0 Crystal and 0 Deuterium after 1 attacks (max. 1 Recycler)

Defender Wins #2

Input Attacker Small Cargo 2 : Defender Small Cargo 10

Battle on: Fight at Unknown [x:xxx:x]
Result: | Defender wins (100%) | after ~ 2 rounds
Debris Field: 1,200 Metal (30%), 1,200 Crystal (30%) max. 1 Recycler
Losses Attacker: 4,000 Metal, 4,000 Crystal and 0 Deuterium
Losses Defender: 0 Metal, 0 Crystal and 0 Deuterium
Moonchance: Not enough resources in the debris
Theoretic Plunder: 0 Metal, 0 Crystal and 0 Deuterium ~ 0 Large Cargo
Real Plunder: 0 Metal, 0 Crystal and 0 Deuterium (0% Booty)
Needed Fuel: 0 Deuterium (Recycler: 0 Deuterium)
Flight times: 00:00:00 h (Recycler: 00:00:00 h)
Plunder from Waves: 0 Metal, 0 Crystal and 0 Deuterium after 1 attacks (max. 1 Recycler)

Defender Wins#3

Input: Attacker Battleship : 1 : Defender : Heavy Fighter 100 : Rest all fields: Default Null

Battle on: Fight at Unknown [x:xxx:x]
Result: | Defender wins (100%) | after ~ 1 rounds
Debris Field: 15,300 Metal (34%), 5,700 Crystal (38%) max. 2 Recycler
Losses Attacker: 45,000 Metal, 15,000 Crystal and 0 Deuterium
Losses Defender: 6,000 Metal, 4,000 Crystal and 0 Deuterium
Moonchance: Not enough resources in the debris
Theoretic Plunder: 0 Metal, 0 Crystal and 0 Deuterium ~ 0 Large Cargo
Real Plunder: 0 Metal, 0 Crystal and 0 Deuterium (0% Booty)
Needed Fuel: 0 Deuterium (Recycler: 0 Deuterium)
Flight times: 00:00:00 h (Recycler: 00:00:00 h)
Plunder from Waves: 0 Metal, 0 Crystal and 0 Deuterium after 1 attacks (max. 2 Recycler)

Interesting Result #1

Input: Battleships Attacker 1 : Defender 1

Battle on: Fight at Unknown [x:xxx:x]
Result: | Attacker wins (31%) || Defender wins (32%) || Draw (37%) | after ~ 3 rounds
Debris Field: 27,000 Metal (60%), 9,000 Crystal (60%) max. 2 Recycler
Losses Attacker: 45,000 Metal, 15,000 Crystal and 0 Deuterium
Losses Defender: 45,000 Metal, 15,000 Crystal and 0 Deuterium
Moonchance: Not enough resources in the debris
Theoretic Plunder: 0 Metal, 0 Crystal and 0 Deuterium ~ 0 Large Cargo
Real Plunder: 0 Metal, 0 Crystal and 0 Deuterium (100% Booty)
Needed Fuel: 0 Deuterium (Recycler: 0 Deuterium)
Flight times: 00:00:00 h (Recycler: 00:00:00 h)
Plunder from Waves: 0 Metal, 0 Crystal and 0 Deuterium after 1 attacks (max. 2 Recycler)

Interesting Result #2

Input: Attacker : Destroyer : 100 : Deathstar : 1 : Weapon Technology 2: Defender: Destroyer 100: Deathstar 1: Weapon Technology 1

Battle on: Fight at Unknown [x:xxx:x]
Result: | Attacker wins (1%) || Draw (99%) | after ~ 6 rounds
Debris Field: 3,222,000 Metal (64%), 2,685,000 Crystal (64%) max. 465 Recycler
Losses Attacker: 5,040,000 Metal, 4,200,000 Crystal and 1,260,000 Deuterium
Losses Defender: 5,700,000 Metal, 4,750,000 Crystal and 1,425,000 Deuterium
Moonchance: Chance that a moon arises is 20%
Theoretic Plunder: 0 Metal, 0 Crystal and 0 Deuterium ~ 0 Large Cargo
Real Plunder: 0 Metal, 0 Crystal and 0 Deuterium (100% Booty)
Needed Fuel: 0 Deuterium (Recycler: 0 Deuterium)
Flight times: 00:00:00 h (Recycler: 00:00:00 h)
Plunder from Waves: 0 Metal, 0 Crystal and 0 Deuterium after 1 attacks (max. 465 Recycler)

Mission 2:

# I still feel Testability as a major blocker here as the tester might lose interest with the painful task of providing an input to each field and not having
a tool that could do for him or maybe the support of the program to feed in random values for testing purposes.

# Plus, what about logging?

Mission 3:


# I downloaded the source for the application from sourceforge and there appears a file in the source code called simfuncs.cpp ( a c plus plus program )
that appears to do the calculations for processing the values and I suspect that it is from here those fancy values are spurted out from such files the report.

# I searched for things like Moonchance, Deuterium but didnt find any results from it although simfuncs.cpp was the file that had code to do with
win and loss of attacker and defender.

# I need to study the code for a while to make a conjecture of where is this stuff coming up from and that's the best I could do with Mission3 in the given time.

# I suspect that there could be a different interpretation of this mission by others and I am being open to what it was. Given the time frame, I did a Q approach ( that's the Quick approach among QPRADEEP - Quick Practical Deep )


Learning from this session

#  I initially hit upon complexity and then discovered that the mission#1 could be accomplished with simpler inputs. Its a re-iteration of my belief to practice attacking simpler ones.

#  I was reminded of defocusing heuristic when I didn't look into chat room for a while to discover people were discussing about Mission #2 and #3.

#  I should have asked questions on is there any more information that is hiding but in this context I thought achieving the first given mission was THE mission.

#  No big deal because I recovered quickly from it and kinda worked OK on Mission #2 and Mission #3.

#  I wonder why testers lament that they haven't done a good job and yet don't focus on improving their skills.

#  I think facilitating at Weekend Testing has improved but the tool used ( Gtalk ) to communicate is very poor.

#  This exercise was focused on how quickly can a person learn. Learning is an essential skill for testers ( and other human beings )

#  I enjoyed the discussion (argument) part of the session and not that I didn't enjoy the learning one :)

Arguments

#  During discussion someone was talking about the mission statement not being clear and I was not too happy about it. So, I was talking about situations
#  close to what we experience where most times most managers cant give a clear mission to work on and we have to deal with it.
#  Hey, we could question and find more information if we don't understand.
#  The fun part was, I didnt understand when the person wrote "Problem statement should be clear in scope" to what exactly he meant by that.


#  Sharath talked about mission not being challenging enough. I think sometimes there is no big challenge than things being straight forward.
#  I thought Sharath had a good argument but I am afraid he did not: He was talking about the mission so simple that he could complete it in 20 minutes.
#  Santhosh Tuppad and Maik also joined him to say that the mission was simple. My question is : What about reporting?
#  How about practicing reporting within the time frame given? For instance I am completing this report in 2 hour session plus discussion time.
#  Just in case if I have failed to meet the first mission ( which they'd come to know through this report ), they'd probably understand why it wasnt all easy.
# There came a black swan: Deepak announced that he didn't work on Mission 1 because he didn't understand how to go about it. That must be interesting for Santhosh and Sharath.
# I am sure Sharath may pick up a discussion on this topic when we meet soon, maybe even tomorrow. I like the idea of getting into discussions with people that arise out of a testing session. Its going to be fun.
# Santhosh had a diplomatic conclusion by saying: It depends on individuals and hence this was good. I wish he was more arguing.
# I violated the deliverable by making it as a blog post as well. I think that's fine.
# Published at 5:06 PM IST Nov 28, 2009, just before the formal end of the session.

_ Completed mission and report preparation at 5 : 03 PM IST 28th Nov 2009 _

11 comments:

Ajay Balamurugadas said...

Amazing Pradeep.

Nice to see a tester demonstrating the fact no one stops a tester from practice (In this case, no one stopped you from reporting within the time frame).

>> I wonder why testers lament that they havent done a good job and yet don't focus on improving their skills.

I did not understand. Was it in general or specific to this weekend testing session?

Regards,
Ajay Balamurugadas
http://enjoytesting.blogspot.com

Santhosh Tuppad said...

@Pradeep Soundararajan,
Awesome experience report within such a short span of time. There are a lot of points in your experience report from which I need to learn about reporting skills & much more.

Shivraj said...

Thanks Pradeep. I am following your blog after I got a chance to attend your session at Barcamp @ Yahoo ! :)
I have not yet participated in any weekend testing session till now, but i am more interested in it more than ever. Your blog keeps lot about testing , and weekend testing specially focus on standalone-applications. What about people who who wish to take part like me but have never even tested any standalone app like the one in today's session ?
Also, google wave will be the answer to communicate and colloborate which can be used for such sessions !

Pradeep Soundararajan said...

@Shivraj,

You will be safe at Weekend Testing. It is a ground for you to stop saying "I don't know how to test that" and start moving in the direction of saying, "Ah! I did something like that in the weekend testing".

Its your passport to a better learning and I hope you exercise your passport in a wise way.

Thanks for following me from Barcamp and I hope to see you again soon.

Jassi said...

Wow Pradeep,
This is so very amazing.I have still to collect my thoughts and you even posted this report as soon the session was over.

@Ajay.I think it is for me? isn't it Pradeep. :))

Cheers,
Jassi

Pradeep Soundararajan said...

@Jassi,

You were right. It was for you.


This is so very amazing.I have still to collect my thoughts and you even posted this report as soon the session was over.


I wasnt born with this skill and I built it over time and practice. So, that's a good news for you that it is an acquirable skill with practice.

Khair-un-Nisa said...

The most interesting learning I could get from this session was time utilization in optimal ways. This I noticed in the end when you gave this report!
Thankyou Pradeep for being the source of it :)

Pradeep Soundararajan said...

@Khair-un-Nisa,

The most interesting learning I could get from this session was time utilization in optimal ways. This I noticed in the end when you gave this report!

Thanks. I just did what I trained myself to do. If you like it you may also train yourself to do it.

testingmypassion said...

Pradeep,

I'm agree with you on "Importance of Time". Though I didn't attend the session but I believe it was a fun as always and learning too.

At the end of the day what matters is what you learn. It doesn't matter whether the mission was easy or not but what matters most whether you did justice with it!

Best Regards,

Amit

testing is my passion!!!
http://bugteaser.blogspot.com

krishnakanta said...

Just came to know of this blog after i read an interview of Michael Bolton on career360 magazine. And I regret for not knowing this blog, especially U (sir). Been in this field for almost 3 years and I have been looking for various opportunities to learn and improve. Its 3 days now, I just cant stop going through all the post. To me, its a story of the past present future of software testing.

Ur blog itself is the "Neo", the "One" in the movie Matrix.

Thanks
_kk

Pradeep Soundararajan said...

@Krishnakanta,

Its 3 days now, I just cant stop going through all the post. To me, its a story of the past present future of software testing.

Thanks for your kind words. I am just trying things and I am not a legend.

Please look at Jerry Weinberg, the true legend.