Working in environment where everything more or less is in good process, documented and planned correctly. It makes hard to think about new topics for blog. The best working environment I have ever been, but it doesn't scratch that parts of brain which generates ideas and sarcasm about work, things to improve, or horrible things I sow working with people. This is not perfect, but not horrible enough to write something about. And writing about writing is not my thing. Enough of weeping about how bad is work in good work, first world problem...
2016 m. gruodžio 16 d., penktadienis
Life changing steps, but not really
Working in environment where everything more or less is in good process, documented and planned correctly. It makes hard to think about new topics for blog. The best working environment I have ever been, but it doesn't scratch that parts of brain which generates ideas and sarcasm about work, things to improve, or horrible things I sow working with people. This is not perfect, but not horrible enough to write something about. And writing about writing is not my thing. Enough of weeping about how bad is work in good work, first world problem...
2016 m. lapkričio 17 d., ketvirtadienis
Everything changed then fire nation attacked. Wrong universe... but still everything will change after this post
Done? Not yet? Watch it.
2016 m. spalio 27 d., ketvirtadienis
If I would need new colleague
If I would be QA team manager, and I would need to find some people to my team, what would I do? Yes, of course, I would need to go through CV and have interviews. CV part is not very interesting, but interview - that is totally other thing.
We have medicine scale and eight coins. One of them are fake, lither then other seven. How least number of weighting we need to have to find fake coin?
Person needs to understand situations. It is not easy to understand that you fucked up, but who understands, it is really useful person.
When incorrectly used word can postpone release? For example in Microsoft office packet?
A simple gaming system has been specified as a set of use cases. It has been tested by the supplier and is assessed as low risk and there is pressure to release the software into the market as soon as possible. Which test techniques would be most appropriate for this testing?
This could make You feel that You seen this somewhere, and it is, I used it from external sources, thanks for that!
Which testing approach You prefer? And why?
P.S.
Doesn't feel as decent post, but to lazy to rewrite, so let it be as it is.
2016 m. spalio 10 d., pirmadienis
These robots - taking over our jobs
From last post so much happened, didn't even had time or energy to write about something. I don't even know is somebody reading this, but any way I want to keep writing, maybe some good idea will come up one day in this blog, and I will be able to use it.
Main task of test automation is same as in other areas where automation is used. Remove manual work and do work more efficient. And yes, this is achievable even in testing. But not always. And I will try to explain pros and cons of this, and it wouldn't be easy.
Thinking about automation, people image, that robots will take away their jobs, and they are right, manual work often can be replaced with automated machine which will work day and night, will not have breaks, wouldn't complain, and if something happens - will not inform other about problem. Last part can be even updated to inform personal about issues, but again exhausting testing is impossible (what again, you never mentioned that before. Well I'm not, but I'm using this in real life almost weekly). And even human errors can be made, because still robots don't create robots with already programed stuff without human interception, and even more automated tests (as much as I know right know) are written by humans only.
There are bunch of tools for test automation, companies are creating specific things for other companies for automation, companies by them self are creating things related to automation testing, and even random citizens creating things to automate testing for websites/software they created. But how often automation is needed in testing? Very often, but not always. There are ideologies that every test needs to be automated. But this is not true. Don't agree? Well, maybe You are write, but I think differently.
There are bunch of cases where automation will take to long, or will not be so efficient or accurate as human. Automatic test can't decide that gray text on white background is hard to read - text is there, no errors in text, so it is correct, but user cannot see a shitty message You are showing to him. So automatic test passed, but manual test not. Other example can be testing website and searching elements by ID's - automatic test can find element with correct ID, it can make actions and report result, but user cannot find this element, because it is overlapped with table or something else. I can think of bunch similar test that will give on some level correct results while they are incorrect in human perception.
But believe me - automatic tests are like a water to thirsty tester in a week of regressions with thousands of test cases, after months of repetitive work. Regressions period can be so boring and repetitive that at least part of test automated, even with bugs and required overview is better, then no automation.
I think that You shouldn't trust person who says that automation is everything, and same way - who says manual testing is life. There should be equilibrium, balance in life. Eating only cake is not healthy, but not eating cake - huge part of joy of eating can be missed.
Your friendly neighborhood Tester
2016 m. rugsėjo 3 d., šeštadienis
Life cycle of the bug
I will try to focus in three different bugs and three different stages for each of them. While everything is still in my head everything seems good, but we will see how it will unroll.
First one seems simple - error in code. Something like misspelled element name, incorrect variable used, too much variables sent to function, exception handling missed or something similar, I hope You got right idea. Some of them can be caught early and simple, and I'm focusing on them (no hard thinking for today).
First stage - larva. If Your editor didn't catch error, it will be caught in compilation stage or if code is compiling correctly - still it can appear easily somewhere. But it could not end here, it could slip though all checking, be wrapped in some kind code cocoon, and survive till next stage.
Sitting quietly until next stage is coming - sounds really like cocoon. And in next stage, then code is delivered somewhere, doesn't matter where, tester, customer, machine, that non-malicious cocoon - will be seen. Cocoon will become butterfly. That butterfly will flying around place. Would not let focus on work, until it will be removed from the room.
Now we are walking to gray area. Bug is not a bug, if tested didn't say so. "In this case code is written correctly, but in "decision table" testing one case was left not checked." Now I have example of bug and from here I start to build my example about stages.
As a larva, this bug, started in head of tester - as missed case, as not expected scenario, ate it's way to some place where it can easily stay as a cocoon. Test cases where prepared, all functionality seems working as expected, seems, everything is ready for release. But there, somewhere is cocoon, which will sooner or later will become butterfly. And we are releasing. Seems everything is great. Cases didn't failed, functionality working, customer is happy. Until. That cocoon - missing test case from "decision table", edge case, which was not thought through - becomes butterfly. With big wings, that makes hard to focus on full picture, which is working correctly, only to the bug, which is messing all the picture.
From gray area - to even grayer one. What if in the begging of something, bug already was there. It is not code issue, not a missing test case, what if larva starts eating its way in description of project/feature/enchantment. Starts on first document, or even at the idea. Finds a nice and cozy place and sits there as cocoon through development, testing, till the end.
Having that product in hands - you can't find bug, no missing edge cases, but it just feels not right. Cocoon become butterfly only when final product is ready. No issue in code, no issues in testing, bug was there all the time, bug in project/feature/enchantment design. No bug, but still not usable.
Enough horror stories for today. But more will come, more stories, more bugs, more problems, and I or we will try to discuss them.
Your friendly neighborhood Tester
2016 m. rugpjūčio 26 d., penktadienis
Human vs. Machine (man would sounded better, but sexism...)
2016 m. rugpjūčio 12 d., penktadienis
Forgot to add title...
Started writhing three different blog posts, but can't finish them. So why the hell not to write fourth about how I can't deliver... Well this happens from time to time, and this time I planing to finish about how not to finish.
Delivering something sometimes is a pain in the ass, and You can do nothing about it. Some time ago I had to write automation tests for website, where they were using so much on-live generated popups and other elements, that with my skills, for that time, I just couldn't write normally looking tests with expected behavior. I was struggling for couple days, at some point I was even thinking about just quitting that task.
And in the end - I did that. Wrote horrible, unusable tests, which didn't reach expectations. Give them and never looked back.
Now in my work I come to this very rarely, most of projects are delivered, sometimes on time, sometimes to late, but final product is prepared. In my blog writing experience – I often write same post over and over again, until I found equilibrium, and often I write myself to the corner, and then I just left several paragraph to sink in to the depths of drafts.
Before I had and some different experiences – like I mentioned several posts ago about Why release should be postponed. And that is not bad experience. Sooner I know I'll fail, sooner I can start to take an action. After several not finished posts, I can just leave that idea, and took other one, or sooner I see that my project is going to fail, I can inform everybody that some actions need to be taken, or if I see I'm failing in my work, sooner I can leave and find new one with still good looking CV.
I guess everybody hates failing, not finishing or loosing. Even seems the best ones fails, like my country swimmer in Olympics, everyone were expecting medal from her, but she finished second from the end. Well, last example doesn't go with my main idea, not finishing race and running away from upcoming fail can't be compared. I wanted to finish with great, uplifting example about finishing, but failed to do that. Ideas in the head didn't aligned correctly.
Didn't want to post this crap, but skipping this one would lead for not delivering by my schedule, so heck, who cares, maybe next time I wouldn't fail again....
Yours friendly neighborhood Tester
2016 m. rugpjūčio 4 d., ketvirtadienis
I don't know, but I'll do it
Working with systems with a lot of stuff, sometimes puts You in a corner, where You don't know what to do, or how it works or why You even working with it. But any way, while You are in the corner and You need to deal with stuff, there are one way - do it. Or be fired, I don't know.
Without downs, there are not ups, so not knowing, does not means that You wouldn't do it right, or left (I hate then right is right, but now about turn, and lead is leading, but not metal), just some time need to be spent.
Your friendly neighborhood Tester
2016 m. liepos 29 d., penktadienis
Living through time
2016 m. liepos 21 d., ketvirtadienis
Working Your ass off?
Imagine situation – there are 100 bugs and release is in a week. Till release date – 25% of bugs was reopened and 30% had to be tested in release period. Developers starts to fixing reopened bugs, merging them in release branch. Release is going on, everybody working their asses off. And finally regressions are done and release is sill not fully tested. More bugs are merged there. There was so much things to do in a week, that correctly test expected bugs amount was to difficult task.
So did I done my work or not?
Two weeks before release – there was 80 bugs fixed, but not tested. In next week 20 more appeared, was fixed, but not tested. And then I jump to work. In this situation I have one question – what I did last three weeks?
It doesn't matter what, but definitely not my job.
If in this case my manager would have looked to amount of new code lines in release, I think I would be fired. To check progress is not hard, but this need to be done, and even if I don't have manager, I should check my progress just to know if I could sleep next couple days, or I will be working as horse to catch up.
To make your whole team sweat – just do Your job late. It definitely will make every one enjoy extra stress.
This case is just theoretical idea we discussed, and most of thoughts was not even mine. But using both approaches can be useful – for example if You hate Your job and coworkers, well just do what You wouldn't do if You appreciate Your job. Or just extra stress before Christmas is useful for every one.
2016 m. liepos 14 d., ketvirtadienis
I need to become architect (still issues with environment planning)
After long and hard bug hunting day and evening in gym, I want to go home as fast as I could, so I am walking in the shortest distance, that means that I need go over paths that are not tiled (don't know correct term and to lazy to search more). My shoes gets dirty or dusty, depends on weather, and if I am correct, I am passing private property. But I am not only one like this, big part of neighborhood is using same path.
Same things can be seen in my work too. Sometimes feels like designs are engineered, not created for ordinary users to be used. So users if they must use software – they starts to find work around(s) or use products in unexpected ways. Good example from my experience – people better change error message text then registers bugs and waits for fix. Sounds strange, but I sow is at least several times, how 'must use' software becomes people imagination drawing board to make life easier. Like a path I walking daily. I wasn't first who walked there, but I am one of users.
So I will keep struggling on same issues and will do nothing about it, like most of us. And I will try to get most of it – come back home faster, even if my shoes are dirty...
Yours friendly neighborhood Tester.
2016 m. liepos 11 d., pirmadienis
View of the bug - project manager
These are waters where I have not much knowledge. Worked just with several project managers and I have just abstract understanding about they perspective to the bug. Just only of they face expression changes then they hear about issue. And I have seen some not happy faces than in the end of project there is some major issue, or even better, when issue appears after some time then project is in production and no money left to fix it.
(I feel joy seeing other people struggling.)
That project managers don't like bug late in the project is understandable, because later bug appears it cost more to fix. And than You are managing money, people and time to deliver project - everything that affects project, burns money, nobody is happy with it.
2016 m. birželio 23 d., ketvirtadienis
Why release should be postponed
Having monthly releases and one of them postponing for two weeks affects whole company schedules, other releases, time to market, and I don't even know what more, but 100% sure it was affected.
Other interesting thing about that feature was that it was required by customers, I don't know details, but a lot of people were pissed because of this situation.
Image situation - Microsoft releasing new office packet, and for some reason there aren't "Save" button, just only two "Open" buttons and one of then works as save other as open. Do this bug is reason to postpone the release? Or other example - new FPS game has one level where just half of enemies are generated, this would be reason to postpone game release date? I wouldn't talk about military or medicine, there are different rules.
So both times I would suggest to release product and after release hot fix, but who I am to make such decisions. But these was small things, but if for example, product from office package crashes if document is with picture, or game has level without exit, these would be reasonable to postpone release. It could make huge impact on trust from users of these products. But line sometimes is so blurred out that it is hard to decide what to do.
In such situations clear head is needed, because of pressure from project manager or other management can make things even worse and bad decisions can be made. Always watch Your ass and what must need to be done - released on time, no matter what.
2016 m. birželio 16 d., ketvirtadienis
Today I need to find a bug
While still on the way to work I need to think about place which is critical or highly important to whole system. "Product" is one of the main things for system. A lot of changes can be done to it, it is used for sales, reports, inventory management. Whole product depends on "product" to work properly (strange sentence, but self explaining). So I will focus on that.
One new setting was implemented for "product", to make it non-returnable if disabled. New stuff maybe more vulnerable so this maybe one of area's to focus. Now I am trying to use my knowledge and error guessing technique. This is my most used techniques then I am testing stuff.
2016 m. birželio 3 d., penktadienis
View of the bug - Support
Not so long ago our company started hire support in my country and office. Quite fast office became full of people. Just couple of month passed and I started to see faces of disappointment and eyes full of sadness. Yeap, I am trying to sound more dramatic, but this is really close to reality. Hours of taking with crazy customers, dealing with they lack of knowledge and ignorance. And they also had to handle bugs. All this work makes this job tough.
Not so long ago I was witnessed of horrible accident. I am not sure about roots of issue, but I will try to explain as it was explained to me. Front-end application had its end of expiration date. And just couple of company heads knew about it. And one evening app stopped working for hundreds of clients. What I heard about situation, that there was about 45 customers for every support employee waiting in line to be connected. Hundreds of angry customers were that day (or night, depending on region, for me was night). And workaround was not that easy – time had to be turn back for 24 hours, clients database saved, app deleted, new app installed and database uploaded to new app. And it took some time ti figure this out, and to do this procedure for every calling customer.
2016 m. gegužės 16 d., pirmadienis
View of the bug - customer
Starting from the bottom. Customer.
Now I will try to split customers in two groups. I will call them beta tester and working customers.
First group are actual customers who decided to work with product which is still in development stage. Sometimes this decision is for training or acceptance purposes, in other cases this is way to get product cheaper or get knowledge from that area where product is focused.
When customer knows that product is still in development for him to find a bug is not huge problem. Just to get fast response and hot fix is main requirement. This beta tester customer provides good info and feed back and gets updates and fixes faster. So this case finding bug is not such big deal for customer or company.
Funny part is working customers – they are people who wants to get the best and well working product. This time then bug appears – things can get crazy. Situation – customer decides to get rid off the old product and get new "my" product. "My" product have more features and other stuff which is not supported by previous product. Everything seems working fine, but after some time customer finds issue which for any reasons blocks customer from work or at least requires additional work to maintain working with this bug. From customer issue comes to support, later it is approved, fixed and tested, new release comes and only, only after some time fix will be introduced to customer.
Imagine how person or company should feel if they had to work with issue for month, maybe two or even a year. And how much customer is furious if he finds out that fix will come after two months or longer.
For this type of customers new bug can be unpleasant experience (softly saying).
This post doesn't seem very wrong for me. Two types of customer, it can be more, like something in between, customer which is same company, or something from specific area there bugs just can't occur. I didn't go to much left or right, tried to scratch surface, I hope I did what I wanted. Part 1 of unknown.
2016 m. gegužės 7 d., šeštadienis
Sitting together is good, sitting together is bad
According ISTQB book independent tester or testing team provides better results (I think there was even a diagram of independence), because they aren't affected by developer or other same environment factors. I'm trying to think it through, and I see few pluses and minuses in this situation, regardless if I am independent or same environment player.
Pluses of sitting near developer would be that You get knowledge from first hands, and You can setup environments more "correctly" and easily, came to issue with more knowing about its roots than just from bug description. But pluses really soon becomes minuses. If You have developers knowledge about issue so in a way You see issue like developer who was fixing it. And like everybody he(or she, it doesn't matter, just for this situation leave it as he, next time maybe it will be she, I work with males and females developers) is protecting his work and can't truly see an issues clearly. And this confidence and don't believing affects me and I start to get careless. Loose my focus and can't work as that person who is miles away and is the closest to client point of view. Other minus I can think is eating lunch, joking or just chatting with same people, with whom You will need to work later and check their work, can make You irrational to decisions about founded issue.
To sit far away from developer, literally or theoretically, gives advantages of independent thinking. You aren't affected by developers sweet words, minds or his knowledge. You do what You must – testing. Project description mostly is available, bugs have reproduce steps. Seems everything can be fine and doing Your work goes to best result. But here comes disadvantages – lack of first hand knowledge, understanding, which sometimes goes to 1+1=3 is true and without knowing that You are working with things You don't know. This can lead to reopening same bug again and again until someone will provide information, or mentality differences will not make You see an issue, or maybe without small chat with developer You wouldn't be able to think test case which leads to issue. Or even more – sometimes testing projects that doesn't have much info, so without developer help – several bugs are founded and fixes, system kinda works, but without internal company or team knowledge, final product isn't what is needed to be or it is, but lack of knowledge not all major issues was founded.
Yes, independent tester or team is great, but situation not always allows that, independent must be mentality and view. So sitting close or sitting far can be just mental state, and by sitting in same room You can provide similar or greater results.
2016 m. balandžio 28 d., ketvirtadienis
Nothing relaited with testing
Some topics was just add extra info to already existing knowledge or refreshed memories. Other ones was unexpected good ones. Conference was in Poland, so some topics was in Polish, so stayed in one presentation because it was in English, and left it quite amazed(hope to write something about it later). "Never judge book by its cover" it is suitable to this situation. Overall conference was great. Would love to come back.
I understood one thing, there were more things that I got better view of, but this one is clear and hope it going to stuck in my head for some time. People who gives speeches in these conferences are same people like everybody, they have their struggles, stories, good and bad examples from experience, and experience. After having a chat with them I got little bit inspired to present some topic about testing myself, sometime in the future, when my experience will be relevant.
Other good thing was to stay little bit after presentations ended and chat with people. Almost all attenders left in 20-30 minutes after event. But not me, I stayed little bit longer. I had very good opportunity to listen and talk with four presenters in neutral environment with a drink in hand. Got interesting options on testing and overall things that is happening around in this area.
So, how correctly end this post without sounding dumb – didn't expected that conference will be that good, it not perfect, but if I will have possibility to go to other conferences I will try to do that. And I should apply at least several thing I learned there. Hope that didn't sounded dumb, at least not in my head today.
Your friendly neighborhood Tester
2016 m. balandžio 21 d., ketvirtadienis
Just don't believe me
See patterns, questioning everything, and don't believe anybody are the keys, which keeps mind straight. Like a nice quote from the MD. House poster which is hanging on my wall - 'It's basic truth of the human condition that everybody lies. The only variable is about what.' And it helps. Never believe in developer who is saying that the issue is fixed. Test it. Otherwise it is not fixed, if not tested.
So about everything and nothing at the same time. Hope ideas was not to much messed, if it was just don't believe me! Find it out Yourself.
Your friendly neighborhood Tester.
2016 m. balandžio 12 d., antradienis
Sanity is needed everywhere
2016 m. balandžio 7 d., ketvirtadienis
Cutting corner over parking lot
This situation got me thinking - does planner thought about possibilities how to break the system, this case cutting corner over parking lot. I can bet for 100 euros that tester wasn't involved in planning. Actually in my previous job and current one testers aren't involved in planning of projects. So often we(I mean I or my tester colleagues) need to deal with projects that already have design issue, flawless logic or other crap, with which we need to deal, and it can't be changed easily or at all.
Books about testing writes - as soon as tester is involved in developing project, issues are found and can be fixed sooner and cheaper. This sounds great - issues are founded faster, cost less to fix, project developed with better quality, because tester is closest thing to client and could see a problem which client will or may have.
Actual situation is - testing need to be done by company policy, so it is left until project is fully developed or to have little bit more time for fixing - tester is involved while project is still in developing process. If company or team policy doesn't involve testing as a must thing to do, it is skipped and consequences hits hard.
I would like to be involved in project development as soon as I could be useful, but I am not that lucky. At least I am not working with other team which are fixing issue directly in production. That would be thought thing to deal with, maybe in the future about this.
And I'm still thinking - does architects use testers in planing and building thinks, or this is just new area where I could find place to test my skills.
2016 m. kovo 30 d., trečiadienis
View of the bug(test version 1.0)
2016 m. kovo 25 d., penktadienis
Everything need to be registered
I'm trying to do job as good as I can. Register all the issues, defects and other stuff which looks important to me. But I am just a ordinary person - who makes mistakes, and a lot of them.
2016 m. kovo 22 d., antradienis
Beginning
Who am I?
I'm tester, quality assurance engineer, QA analyst or anything I need to be at the moment - who I need to be at the moment.
To my self I'm person who is still a child playing and breaking all the toys all the time - and "I loving it". Just my toys are expensive and not always possible to touch. Sometimes it is printer, sometimes part of software, or just a string in description. Anything can be tested, and most of the times need to be tested. And I am doing it all the time.
I think I became tester long ago I came to testing area. While I was still kid and I don't remember I went to school jet or not, but I remember very clearly how I busted my toys and often checking that is in side and how they work. Even now I remember how I destroyed quite expensive toy train just to look how electronic motor is spinning its wheels, it was nice toy and still regretting I did that, but it is a part of me. I broken a lot of things in my life, but that helped me to understand how they work and sometimes how to fix them. But I am here writing not about fixing but about braking, destroying or simply testing. Fixing is a part of my job too, and maybe later i will write or include in posts about it.
I begin this journey couple years ago. Most of the stories still in my head, other almost fade away. But other are just coming to me. And i hope to share them all.
Yours friendly neighborhood Tester.