10 prostych sposobów, aby programiści znienawidzili cię

Jeśli pracujesz jako tester, możesz wiedzieć coś na temat relacji tester vs. programista. Musimy współpracować, aby projekt szedł naprzód. Oto dziesięć sposobów, aby zniszczyć tę kruchą równowagę.

  1. Zgłaszaj błędy opisane jak najbardziej ogólnie
    • Tytuł: „System nie działa”
    • Opis: „System po pewnym czasie przestaje działać na moim komputerze
    • Priorytet: krytyczny
  2. Programiści często czują się źle, kiedy w ich kodzie zostanie znaleziony błąd. Możesz wzmocnić ten efekt dokładnie wskazując, kto napisał dany fragment kodu.
  3. Krytykuj publiczne.
  4. Przetestuj nieaktualny build. Zgłoś krytyczny błąd. Pozwól programiście spędzić dzień na analizie problemu. Kiedy w końcu zorientuje się, że testowałeś na starej wersji, na pewno zapamięta twoje imię.
  5. Jeśli masz taką możliwość, wskaż sposób poprawienia błędu i wyznacz deadline.
  6. Nalegaj, aby każdy znaleziony przez ciebie błąd został poprawiony. Nawet jeśli czujesz, że nie warto tego poprawiać.
  7. Eskaluj do przełożonych w projekcie. Zaangażuj ich w długie, techniczne dyskusje prowadzone wyłącznie drogą mailową.
  8. Najlepsze zachowaj na koniec. Blokujący dostawę, krytyczny błąd zgłaszaj tuż przed końcem etapu testów. Liczy się efekt WOW i miny deweloperów.
  9. Zgłaszaj zduplikowane raporty błędów. Nie spędzaj swojego czasu na przeglądnięcie listy istniejących defektów.
  10. Przerywaj im regularnie, kiedy kodują. Powrót do rytmu pracy zajmuje średnio 20 minut. Ale to nie twoje minuty.

Bumper Stickers for Software Testers

Zbiór sentencji i cytatów na temat roli i pracy testera.

  • Ask me about my latest bug.
  • Honk if you love to crash software.
  • My other car is a bug.
  • Have you hugged your software tester today?
  • Software Testers: Always looking for trouble.
  • Software Testing is Like Fishing, But You Get Paid.
  • Software Testers: “Depraved minds…Usefully employed.” ~Rex Black
  • Software Testing: Where failure is always an option.
  • Software Testing: When Your System Actually Has to Work
  • Software Quality: Don’t ship without it.
  • I don’t make software; I make software better.
  • Improving the world one bug at a time.
  • Software Testing: You make it, we break it.
  • Software Testers don’t break software; it’s broken when we get it.
  • Software Testers: We break it because we care.
  • To err is human; to find the errors requires a tester.
  • If developers are so smart, why do testers have such job security?
  • My software can beat up your software.
  • A good tester has the heart of a developer…in a jar on the desk.
  • Test is my copilot.
  • If your software works, thank a tester.
  • Old Model-Based Testers Never Die; They Just Transition to a Higher State.
  • Life is too short for manual testing.
  • Friends don’t let friends do capture-replay.
  • Support spec-based testing: Be code-dependent no more!
  • People should think and machines should test.
  • Test never sleeps.
  • Visualize Great Software
  • Trust, But Verify.
  • Pertempto ergo sum – I test, therefore I am.
  • Testers don’t like to break things; they like to dispel the illusion that things work. ~ Kaner, Bach, Pettichord
  • I came, I saw, I found lots of #$@% bugs in your %$#@ spaghetti code!
  • I test, therefore it works.
  • Testers don’t go to work to make friends.
  • Bad Code is Not Bad, Its Just Misunderstood.
  • Test everything. Hold on to that which is good.” – 1 Thessalonians 5:21
  • Brain on, eyes open…test.” ~ James Whittaker
  • There’s always one more bug.
  • Testing…a target-rich environment.
  • It did what? Well, it’s not supposed to do that.
  • My software never has bugs. It just develops random features.
  • The Definition of an Upgrade: Take old bugs out, put new ones in.
  • We break software so you don’t have to.
  • I used to build software…now I break it! Its a lot more fun!!
  • We travel fast and we travel light – let’s hunt some bugs!
  • Bugs, bugses, we finds them, Preciousss.
  • Software Testing: That Which Does Not Kill Us, Still Hurts A Lot
  • We don’t find bugs by chance , we create them by choice
  • Ashes to ashes, dust to dust, and more bugs to squash!
  • Our job is tell you your baby is ugly!
  • Your code is buggy and your mom dresses you funny.
  • Does your mother know what kind of code you write?
  • Just test it
  • To test, or not to test — there is no question
  • Be verwy verwy quiet, I am hunting defects
  • Passion-driven testing: Making every line of code feel dirty.
  • Software Testing is a second-childhood: You broke it, and I’m telling.
  • Code-Coverage Testing: Making every line of code feel dirty and used.
  • All code is guilty, until proven innocent.
  • Siamese Twins- Developers and Testers
  • If it ain’t broke, you’re not trying hard enough.
  • Only certainties in life: Death, taxes and bugs in code!
  • Bug-Checking Is Brutally Cool! – Doonesbury
  • Testing Delayed is Testing Denied
  • Bugs are that which, when you stop believing in them, don’t go away.
  • Those are the bugs, if you don’t like them…I have others
  • Development is what you’re capable of doing. PM determines what you do. Testing determines how well you do it.
  • Development and testing are indispensable to each other.
  • Only certainties in life: Death, taxes and bugs in code!
  • Faith is fine in private life, but poison in software testing.
  • Testing is organised skepticism.
  • Testers do it over and over.
  • Software Entomologist: Get bugs or die trying!
  • Project Managers want it to work. Developers try to make it work. Customers hope it works. Testers know how it works.
  • Software Testers – We succeed where others fail!
  • I’m a Software Tester. Bug me all you want!
  • Credit the Developer, Debit the Tester.
  • If it works, its the developer, if not it’s QA
  • Hate the Tester,Love the programmer
  • Down QAs, Up Developers
  • Breakage is our business… and business is good.
  • It’s Automation, Not Automagic!
  • It compiled on your system, but it committed suicide on mine!
  • Test it now or test it later, either way it’s gonna be tested.
  • Semper Pertemptum: Always Testing
  • Keep on Testin’
  • You build it, we break it!
  • Software Testing, not just a checkbox on your project plan.
  • Software Testing, we save the best for last.
  • Software Testing, we crash so you don’t burn
  • Quality Assurance, we take the blame so you don’t have to.
  • We don’t create defects, we just find yours.
  • My defect was a showstopper on build .645!
  • I saved our customers from the showstopper in build .645!
  • Software Testers Always go to Heaven … they’ve already had their share of Hell!
  • Old testers never die, they just regress.
  • SQA: We eat bugs for breakfast.
  • Software testers: we don’t get headaches – we’re just carriers.
  • Got quality?
  • QA Princess — Breaking hearts, breaking code!
  • Hard on software but soft on programmer.
  • Honk if you believe in bug free code, or the Easter bunny.
  • Have bug?, will find!
  • Development Is Like A Box of Chocolates, Testers Never Know What They Are Going To Get!!
  • A tester is for life, not just Christmas.
  • I brake for blue screens of death.
  • In bugs we trust.
  • Software Testing: The Bug Stops Here.
  • In God we trust, and for everything else we test.
  • If you can read this sticker it passed the usability test
  • Exploratory Tester: Spec’s are for wimps
  • The great tragedy of Testing: the slaying of a beautiful hypothesis by an ugly fact.
  • A bug in the hand is better than one as yet undetected.
  • And on the seventh day, He shipped.
  • Any sufficiently advanced bug is indistinguishable from a feature.
  • Software Testing … because computers are only human.
  • Seeking out complexity is the essence of bug finding.
  • Bugs are not an option: they’re bundled with the software!
  • Agile Testers of the world UNIT!
  • If you can read this sticker it passed the usability test
  • Exploratory Tester: Specs are for wimps
  • The great tragedy of Testing: the slaying of a beautiful hypothesis by an ugly fact.
  • When the testing gets tough, switch to test generation.
  • Quando omni flunkus testerati (When all else fails, try testing.)
  • Software testing – because computers are only human.
  • Every morning is the dawn of a new error.

Źródło: www.stickyminds.com/se/S8299.asp

Mity na temat testowania oprogramowania

Przetestowanie całej aplikacji/systemu jest możliwe. Jeśli testy zostaną odpowiednio zaplanowane to możliwe jest znalezienie i poprawienie wszystkich błędów w aplikacji.
Oprogramowanie zawiera coraz więcej linii kodu, staje się coraz bardziej złożone. Coraz więcej aplikacji współpracuje ze sobą w ramach jednego, rozproszonego systemu. Pokrycie testami wszystkich ścieżek przejścia we wszystkich kombinacjach jest niemożliwe choćby z powodu ograniczeń związanych z budżetem i czasem.

Kiedy projekt zakłada, że po ostatniej fazie testów aplikacja będzie wolna od błędów, dział testów staje się odpowiedzialny za każdy problem znaleziony w wersji produkcyjnej. Z kolei próba przetestowania wszystkich aspektów tworzonej aplikacji spowoduje opóźnienie w dostarczeniu wersji produkcyjnej. W rzeczywistości prawie każda aplikacja zawiera błędy. Pytanie, jakiego są one rodzaju i jak często objawiają się w np. niestabilnym działaniu gotowego produktu.

Testy powinny być przeprowadzane w pełni skonfigurowanym środowisku.
Im bardziej środowisko testowe przypomina docelowe środowisko produkcyjne, tym bardziej można polegać na wynikach testów. Jeśli środowisko produkcyjne klienta jest przez niego w pełni kontrolowane, testowanie może odbywać się w jak najbardziej zbliżonych warunkach. Jeśli tak nie jest, testy przeprowadzone w pełni skonfigurowanym środowisku mogą spowodować, że ważne przypadki testowe mogą w ogóle nie powstać.

Testowanie jest potrzebne, aby udowodnić, że oprogramowanie nie zawiera błędów.
Testowanie samo w sobie nie służy do poprawienia jakości aplikacji, ale jest tej jakości miernikiem. Przystępując do testów nie należy robić tego z założeniem, że system działa.

Zazwyczaj przypadki testowe, których wykonanie nie spowodowało wykrycia błędu oznacza się statusami “passed”, “ok”, “tested ok”. Jednak z punktu widzenia testera to właśnie Test Case, który pozwolił na odkrycie błędu jest sukcesem.
Oprogramowanie oprócz tego, że powinno poprawnie wykonywać pożądane i zaimplementowane funkcjonalności, nie powinno pozwalać na operacje, do których wykonywania nie zostało stworzone.

Automatyzacja testów. Jeśli można coś zautomatyzować należy to zrobić.
Automatyzacja jest potrzebna. Oszczędza nam, testerom długich wieczornych godzin spędzonych przy manualnych testach regresywnych. Z kolei estymowana liczba godzin na testy manualne, może skłonić projekt do zainwestowania w automatyzację testów.

Jednak co z czasem spędzonym na nauce narzędzi do testów automatycznych, tworzeniu skryptów i ich aktualizacją? Jedynie odpowiednia kombinacja testów automatycznych, testów eksploracyjnych i manualnych testów wykonywanych na podstawie przypadków testowych może spowodować, że informacja o jakości testowanego oprogramowania będzie kompletna i wiarygodna.