Showing posts with label System Testing. Show all posts
Showing posts with label System Testing. Show all posts

Effective Web page testing

How do we conduct effective testing in a Web page/form when we have many different fields -- textboxes, dropdown, ListBox, etc. Do we need to implement the equivalence class partitioning and boundary value analysis for all the fields?

The short answer: All testing is risk-based; we cannot test everything. So we make educated assumptions. Certain fields may contain data which is not persisted in the database -- these fields might be lower-risk and perhaps do not need as much testing as others. Or the developer who coded the form may be poorly familiar with field validation and you may need to test more.

The long answer? Yes, each and every field should be tested. It is the challenge of a tester to rise to the occasion and develop methodologies and tools which make him or her more efficient and more effective. Through the use of automation, it may be possible to test each field for boundary and equivalence class partitions. Perhaps by writing code which creates the HTTP POST or GET, rather than filling in each form, this coverage can be obtained. Or using data-driven testing and Selenium or Watij (Watin, Watir, etc.) it might be possible to automated the form once and loop through a series (or generate a series of data programmatically) to test boundaries and equivalence classes. Also, making use of PICT tools (pairwise, interdependent, combinatorial testing) can help you use science to narrow the field of tests you need to run to gain adequate coverage.

The key to rising above other testers and QA engineers is to tackle these challenges head-on. There are many who think testers are just developers who "couldn't cut it" as developers. Unfortunately, in some cases, this is true. But the true tester will take these complicated challenges and rise above them, and will come up with creative ways to apply their engineering skills to accomplish the work at hand. And even when it's not possible to test everything, a good tester will know through logic, experience, and science when testing is complete.

So the full answer is simple, but not easy. Be smart and make use of any and all tools around you. Figure out what you can accomplish in the time given, and get to it. Be scientific and think through the problem, and leverage technology to implement the solution. The goal is to have tested as much as possible in the time provided, and you will be amazed what you can do if you just take some time to figure it out.

Like the guide, then subscribe by entering you mail id to get updates daily
Don't miss any article:Get it by E-mail

Software performance testing: There is no 'I' in 'team'

"When everyone on the team does his job and works together to support one another the net result is almost always dramatically more desirable"

It makes more sense to think about performance testing and tuning as a team sport in which the following takes place:
  • The team works together collaboratively
  • The team is informed and involved in the decision-making process about what to test next
  • The team generates ideas about how the performance tester can help isolate performance issues using the tools that are exclusively available to him
  • The team finds out about performance issues in real time
  • The team gets to work together to help find functional errors under load
  • The members of the team who best understand the various components of the system under test get to participate in analyzing the results data in real time
  • The performance tester gets to sit next to the developer during the tune-retest-retune-retest cycle (frequently shortening that cycle from days or weeks to hours)
    Maybe I should rethink my conference

When everyone on the team does his job and works together to support one another the net result is almost always dramatically more desirable.

Like the guide, then subscribe by entering you mail id to get updates daily
Don't miss any article:Get it by E-mail

Living life as a Software Tester!

Recently I read a very interesting article on “All I Ever need to know about testing” by Lee Copeland.I was so impressed with the concept of our day to day work comparison with the software testing.

I will extract only points related to software testing. As a software tester keep in mind these simple points:

Share everything:

If you are a experienced tester on any project then help the new developers on your project. Some testers have habit to keep the known bugs hidden till they get implement in code and then they write a big defect report on that. Don’t try to only pump your bug count, share everything with developers.

Build trust:

Let the developers know any bug you found in design phase. Do not log the bug repeatedly with small variations just to pump the bug count. Build trust in developer and tester relation.
Don’t blame others:As a tester you should not always blame developers for the bugs. Concentrate on bug, not always on pointing that bug in front of all people. Hit the bug and its cause not the developer!

Clean up your own mess:

When you finish doing any test scenario then reconfigure that machine to its original configuration. The same case applies for bug report. Write a clean effective bug report. Let the developer find it easy to repro and fix it.

Give credit to others for their work:
Do not take others credit. If you have referred any others work, immediately give credit to that person. Do not get frustrated if you not found any bug that later has been reported by client. Do work hard, use your skill.
Remember to flush Like the toilets flush all the software’s at some point. While doing performance testing remember to flush the system cache.

Take a nap everyday:
We need time to think, get refresh or to regenerate our energy.Some times its important to take one step back in order to get fresh insight and to find different working approach.

Always work in teams, team score are always better and powerful than individuals.

Like the guide, then subscribe by entering you mail id to get updates daily
Don't miss any article:Get it by E-mail

Testing Metrics - Do you have examples?

Possible testing metrics are here:

• Number of test cases
• Number of tests executed
• Number of tests passed
• Number of tests failed
• Number of re-tests
• Number of Requirements tested
• Number of Defects per lines of software code or per function
• Number of Defects found in computer file types (e.g. jav, aspx, xml, xslt, html, com, doc)

Like the guide, then subscribe by entering you mail id to get updates daily
Don't miss any article:Get it by E-mail

What are the 10 best steps for software testing?

Here are the top 10 steps to follow while doing software testing

1. Establish the Test Methodology you wish to follow ... E.g. ISEB
2. Establish the Test Principle ... E.g. Fail fast
3. Define the Requirements ... If there are no requirements then there is nothing to test
4. Document the Requirements Traceability matrix ... This should work in both directions
5. Define the specific tests which apply in your situation
6. Document the test plan
7. Document the test cases
8. Define the start of testing
9. Conduct testing
10. Define the point at which testing can stop ... When the benefit of continuing testing is outweighed by the effort of continuing testing

Like the guide, then subscribe by entering you mail id to get updates daily
Don't miss any article:Get it by E-mail

133 Software Testing Interview Questions

I have so many questions in my mind when I think of any interview questions for Software testing / QA Engineer.These are all the questions extracted from the web and these are most asked interview questions too. Would you be able to answer all of them?

If you know the answers please post your ans along with the question number.
Ofcourse am giving links to some of the questions to find the correct answer.
Do post your answers and help the people in finding answers.

And also do mention your mail id in comment to get the answers for all the 133 Questions.
Best of luck..!!

  1. What is Software Testing?
  2. What is the Purpose of Testing?
  3. What types of testing do testers perform?
  4. What is the Outcome of Testing?
  5. What kind of testing have you done?
  6. What is the need for testing?
  7. What are the entry criteria for Functionality and Performance testing?
  8. What is test metrics?
  9. Why do you go for White box testing, when Black box testing is available?
  10. What are the entry criteria for Automation testing?
  11. When to start and Stop Testing?
  12. What is Quality?
  13. What is Baseline document, Can you say any two?
  14. What is verification?
  15. What is validation?
  16. What is quality assurance?
  17. What is quality control?
  18. What is SDLC and TDLC?
  19. What are the Qualities of a Tester?
  20. When to start and Stop Testing?
  21. What are the various levels of testing?
  22. What are the types of testing you know and you experienced?
  23. What exactly is Heuristic checklist approach for unit testing?
  24. After completing testing, what would you deliver to the client?
  25. What is a Test Bed?
  26. What is a Data Guidelines?
  27. Why do you go for Test Bed?
  28. What is Severity and Priority and who will decide what?
  29. Can Automation testing replace manual testing? If it so, how?
  30. What is a test case?
  31. What is a test condition?
  32. What is the test script?
  33. What is the test data?
  34. What is an Inconsistent bug?
  35. What is the difference between Re-testing and Regression testing?
  36. What are the different types of testing techniques?
  37. What are the different types of test case techniques?
  38. What are the risks involved in testing?
  39. Differentiate Test bed and Test Environment?
  40. What ifs the difference between defect, error, bug, failure, fault?
  41. What is the difference between quality and testing?
  42. What is the difference between White & Black Box Testing?
  43. What is the difference between Quality Assurance and Quality Control?
  44. What is the difference between Testing and debugging?
  45. What is the difference between bug and defect?
  46. What is the difference between verification and validation?
  47. What is the difference between functional spec. and Business requirement specification?
  48. What is the difference between unit testing and integration testing?
  49. What is the diff between Volume & Load?
  50. What is diff between Volume & Stress?
  51. What is the diff between Stress & Load Testing?
  52. What is the Diff between Two Tier & Three tier Architecture?
  53. What is the diff between Client Server & Web Based Testing?
  54. What is the diff between Integration & System Testing?
  55. What is the Diff between Code Walkthrough & Code Review?
  56. What is the diff between walkthrough and inspection?
  57. What is the Diff between SIT & IST?
  58. What is the Diff between static and dynamic?
  59. What is the diff between alpha testing and beta testing?
  60. What are the Minimum requirements to start testing?
  61. What is Smoke Testing & when it will be done?
  62. What is Adhoc Testing? When it can be done?
  63. What is cookie testing?
  64. What is security testing?
  65. What is database testing?
  66. What is the relation ship between Quality & Testing?
  67. How do you determine, what to be tested?
  68. How do you go about testing a project?
  69. What is the Initial Stage of testing?
  70. What is Web Based Application Testing?
  71. What is Client Server Application Testing?
  72. What is Two Tier & Three tier Architecture?
  73. What is the use of Functional Specification?
  74. Why do we prepare test condition, test cases, test script (Before Starting Testing)?
  75. Is it not waste of time in preparing the test condition, test case & Test Script?
  76. How do you go about testing of Web Application?
  77. How do you go about testing of Client Server Application?
  78. What is meant by Static Testing?
  79. Can the static testing be done for both Web & Client Server Application?
  80. In the Static Testing, what all can be tested?
  81. Can test condition, test case & test script help you in performing the static testing?
  82. What is meant by dynamic testing?
  83. Is the dynamic testing a functional testing?
  84. Is the Static testing a functional testing?
  85. What are the functional testing you perform?
  86. What is meant by Alpha Testing?
  87. What kind of Document you need for going for an Functional testing?
  88. What is meant by Beta Testing?
  89. At what stage the unit testing has to be done?
  90. Who can perform the Unit Testing?
  91. When will the Verification & Validation be done?
  92. What is meant by Code Walkthrough?
  93. What is meant Code Review?
  94. What is the testing that a tester performs at the end of Unit Testing?
  95. What are the things, you prefer & Prepare before starting Testing?
  96. What is Integration Testing?
  97. What is Incremental Integration Testing?
  98. What is meant by System Testing?
  99. What is meant by SIT?
  100. When do you go for Integration Testing?
  101. Can the System testing be done at any stage?
  102. What are stubs & drivers?
  103. What is the Concept of Up-Down & Down-Up in Testing in integration testing?
  104. What is the final Stage of Integration Testing?
  105. Where in the SDLC, the Testing Starts?
  106. What is the Outcome of Integration Testing?
  107. What is meant by GUI Testing?
  108. What is meant by Back-End Testing?
  109. What are the features, you take care in Prototype testing?
  110. What is Mutation testing & when can it be done?
  111. What is Compatibility Testing?
  112. What is Usability Testing?
  113. What is the Importance of testing?
  114. What is meant by regression Testing?
  115. When we prefer Regression & what are the stages where we go for Regression Testing?
  116. What is performance testing?
  117. What is the Performance testing; those can be done Manually & Automatically?
  118. What is Volume, Stress & Load Testing?
  119. What is a Bug?
  120. What is a Defect?
  121. What is the defect Life Cycle?
  122. What is the Priority in fixing the Bugs?
  123. Explain the Severity you rate for the bugs found?
  124. Diff between UAT & IST?
  125. What is meant by UAT?
  126. What all are the requirements needed for UAT?
  127. What are the docs required for Performance Testing?
  128. What is risk analysis?
  129. How to do risk management?130. What are test closure documents?
  130. What is traceability matrix?
  131. What ways you followed for defect management?and finally
  132. What is diff betn Smoke Testing and Sanity Testing?
  133. What is the though situation you ever faced in testing?
Like the guide, then subscribe by entering you mail id to get updates daily
Don't miss any article:Get it by E-mail

Finding and Logging a Bug-A good video from Sara Ford

I was going through the web to find some good stuff on testing for my lovely readers and got a good video from Sara's blog at msdn. and am sharing the same with you all enjoy this..!!


Logging bugs is easy. Logging “QA” quality bugs takes a little more time, energy, and focus. Logging a bug requires a well-written title and the fewest number of steps to reproduce the bug.


In this clip, SaraF “raids” a product bug found while investigating a test case failure, demo’ing how to minimize the number of repro steps and how to write an effective bug title.
Here is the video:



Like the guide, then subscribe by entering you mail id to get updates daily
Don't miss any article:Get it by E-mail

Topics to learn before attending interview

Testing is not a simple subject:
Anyway i will try to list important and most real time using things:
  1. Testing Terminology
  2. SDLC Models
  3. Test Life cycle(STLC)
  4. V-Model for testing
  5. Defect Life cycle
  6. Test case Preparation
  7. a. Functional Test Case Preparation
  8. b. GUI Test Case Preparation
  9. Test Data Preparation
  10. Test case Review
  11. Test Case Execution
  12. Smoke/Sanity Testing
  13. Retesting ,Regression Testing Process
  14. Bug/Defect Report writing
  15. Bug or Defect Reporting and Tracking
  16. Test summary Report Preparation
  17. Excel using skills

The above mentioned things are minimum that you should learn to survive in software testing profession.Please try to learn atlest above things before going to any testing interview.

Like the guide, then subscribe by entering you mail id to get updates daily
Don't miss any article:Get it by E-mail

Software Testing Certification Programs

What are certification programs?

If you are in software field, you might have heard about java certified boy or oracle certified girl. Basically these are exams which are specific to a software discipline conducted by some institutes.When you pass the exam with or without flying colors you become certified in that discipline.

Why should I be certified or what are the advantages of getting certified?
Well most of these institutes are international bodies, so when you get certified in a discipline, its a formal recognition that you have demonstrated a certain level of competence in the corresponding discipline

Advantages:
'Exam',the one word that forced us to open even the most boring books and made us go through them all night as if they were J.K Rowling Novels.Well here, by volunteering yourself to take the exam and by paying large sums of money, you force yourself to gain knowledge in the corresponding discipline.

You will get Recognized by your peers and most importantly your boss.Management respects those who put forth the personal effort needed for self-improvement. The rewards may come in the form of promotions, increased pay.Adds color to your resume.

Are there any certifications for software testing?
Yup,the following are some of the certification programs for software testing
  • Certified Software Tester (CSTE): This certification mostly tests the knowledge of the software testing concepts, principles and practices
  • Advanced Software Tester (ASTE):This certification tests the ability to develop real solutions to software testing challenges in the current IT organizations, by proposing a solution to a real-world problem.
  • Master Software Tester (MSTE):This certification tests the ability to innovate beyond current testing practices insolving IT challenges, as well as, demonstrate public service in the IT testingprofession.

How can I get certified?

Cool dude's four steps for getting certified

Step1: Apply for the exam - fill some applications, pay some money

Step2: Study for 3 months - For 2 months and 3 weeks 'we can always postpone'.Last week, study very seriously

Step3: Write the exam

Step4: Get passing gradesCongratulations! you are certified.

For more informaton on where can I get the applicaton form, how much money I should spend etc., visit the site softwarecertifications

Like the guide, then subscribe by entering you mail id to get updates daily
Don't miss any article:Get it by E-mail

Software Testing Challenges

As per William Perry and Randall Rice, the authors of the book 'Surviving the Top Ten Challenges of Software Testing, A People-Oriented', the following are the top ten challanges of software testing.
  1. Training in testing
  2. Relationship building with developers
  3. Using tools
  4. Getting managers to understand testing
  5. Communicating with users about testing
  6. Making the necessary time for testing
  7. Testing “over the wall” software
  8. Trying to hit a moving target
  9. Fighting a lose-lose situation
  10. Having to say “no”

Like the guide, then subscribe by entering you mail id to get updates daily
Don't miss any article:Get it by E-mail

VMWare - A Tester's Best Friend-1

Adding Resources:
The most important part of VMImage is adding additional memory or hard disk or even CPU. You add these resources only when the Image is shutdown. This can be done from the VM settings.

From the Hardware Tab you can add resources to it, like Memory can be increased to 1024 mb which is by default 384 MB. You can even allocate two processors to your VM Machine if your host machine is capable of supporting this. This option of adding additional Processor was very useful for me. As we were doing Japanese Testing and our application was such that with single CPU it was using 100% CPU. This resulted in VMImage being very slow. So we just shutdown the VM Image and through the VM->Settings we just changes the Number of processors from one to two, then restarted the Virtual Image. And Great!!!! It was running smoothly.
You can also add additional Hard Disk by Clicking on Add it will add new hard disk just specify size as 4 GB or anything that you want. This is just one part now Power on the VMImage. After you have logged on to the VMImage Go to Control Panel ->Administrative Tools->Computer Management->Disk Management. There you will see the newly added Hard disk listed on the right side. Select that Disk and R-Click Format. Once you have formatted it then restart the VMImage. Now this Hard Disk will be visible in My Computer.

Snapshots:
A snapshot is a frozen image of your virtual OS at any particular point of time. This feature is very useful for backups. In my case, when I had setup the entire Japanese Environment by installing the SQL Server 2005 Japanese and Sun Java System Application server 9.1 Multi language. The application was up and running I created a snapshot for this. Snapshots enable a tester to return to last stable environment if anything goes awry. You can create snapshots only when the Vmimage is Powered Off. The snapshot created is saved in the same folder as your VMImage. You can just revert to snapshot if your setting gets corrupted. This saves time of the testers of uninstalling and installing or setting the corrupted environment right.

Replicating The Environment:

Once a VMImage is created it is a ‘Reusable Asset’. I had Created a Japanese VMImage and used the same for different databases. The Environment can be replicated by just copying the VMImage from one machine to another. Copy a VMImage from one machine to another. When you will power on this VMImage it will give a message that the Image is being copied so do you want to create a new identifier. Just say yes. Now this VMImage works fine on any machine. The same environment can be replicated on any number of machines simply by copying, which otherwise would have taken hours or even days.

Hope this will help you in using VMImages and improve your productivity.
Like the guide, then subscribe by entering you mail id to get updates daily
Don't miss any article:Get it by E-mail

VMWare - A Tester's Best Friend

‘Configuration Testing’, ‘Localization Testing’,’Internationalization Testing’ these are few key words which cause chaos amongst the software testers and the system administrators. The above mentioned testing types require setting up of the test environment with

  • Different OS Platforms
  • Different Browsers.
  • Different Databases
  • Different Application servers

The requirement of different hardware resources is directly proportional to the complexity of the configuration matrix. This causes a pain in the neck of software testers as they will have to invest most of their time in setting up different environments. ‘VIRTUALISATION’ can help you rise to the occasion.

The different sections of this article would explain

  1. What is VMWare?
  2. How to create VMImages?
  3. How to add hardware resources?
  4. What is a snapshot?
  5. Replicating the Environments

The sections contain very useful tips especially for adding resources. I faced difficulty in adding hard disks so I want to share my information with other people so that they do not have to re-invent the wheel.

What is VMWare?

VMWare is virtualisation software. In simple terms, VMWare Workstation allows one physical machine to run two or more operating systems simultaneously. The machine on which the Vmware software runs is called the Host Machine. Within this software you can create and run virtual operating systems known as VMImages. The figure below shows two Vmimages of Windows Server 2000 and Windows XP Pro being run on host Windows Server 2003 machine.


Fig 1:Two Vmwares running different applications on one host machine and using the h/w resources of the host machine

Creating VMImages:
After having a good understanding of the VMImages it is time to create one. There are two important parts of creating a VMImage
  • VMDK files- This is virtual machine disk file. It encapsulates an entire server or desktop environment information. The vmdk file describes and documents the virtual machine environment and how it is stored. Click here for more info.

  • VMX- This file is used for storing the configuration information about the VMImage.More information about Vmx files can be obtained from here.

Steps to create a new VmImage, using Vmware Workstation or VMware Server Console.

  • Go to File New->Virtual Machine. It will open a wizard to guide you through the creation of VMImage.

  • Select a guest operating system from the wizard screen
  • Just give defaults for everything. It will take 8 GB as the default size of the disk. When you finish the wizard and press ok it will start creating the Disk File.

  • Once the Disk File is created you need to create Vmx file by starting the Virtual machine you have saved in earlier steps.

  • On starting the virtual machine the VMWare software will search for a bootable CD in the CD drive. Just insert the CD of the OS of which you have to create a VMImage. In my case I had to create a Japanese VMImage. So I inserted the CD of windows server 2003 Japanese.

It is similar to normal OS Installation now

Next Page>>

Like the guide, then subscribe by entering you mail id to get updates daily
Don't miss any article:Get it by E-mail

V-Model for Testing-A famous interview Question

The V-model is a software development model which can be presumed to be the extension of the waterfall model. Instead of moving down in a linear way, the process steps are bent upwards after the coding phase, to form the typical V shape. The V-Model demonstrates the relationships between each phase of the development life cycle and its associated phase of testing.
Verification Phases:
Requirements analysis:In this phase, the requirements of the proposed system are collected by analyzing the needs of the user(s). This phase is concerned about establishing what the ideal system has to perform. However, it does not determine how the software will be designed or built. Usually, the users are interviewed and a document called the user requirements document is generated. The user requirements document will typically describe the system’s functional, physical, interface, performance, data, security requirements etc as expected by the user. It is one which the business analysts use to communicate their understanding of the system back to the users. The users carefully review this document as this document would serve as the guideline for the system designers in the system design phase. The user acceptance tests are designed in this phase.


System Design:System engineers analyze and understand the business of the proposed system by studying the user requirements document. They figure out possibilities and techniques by which the user requirements can be implemented. If any of the requirements are not feasible, the user is informed of the issue. A resolution is found and the user requirement document is edited accordingly.The software specification document which serves as a blueprint for the development phase is generated. This document contains the general system organization, menu structures, data structures etc. It may also hold example business scenarios, sample windows, reports for the better understanding. Other technical documentation like entity diagrams, data dictionary will also be produced in this phase. The documents for system testing is prepared in this phase.


Architecture Design:This phase can also be called as high-level design. The baseline in selecting the architecture is that it should realize all which typically consists of the list of modules, brief functionality of each module, their interface relationships, dependencies, database tables, architecture diagrams, technology details etc. The integration testing design is carried out in this phase.


Module Design:This phase can also be called as low-level design. The designed system is broken up in to smaller units or modules and each of them is explained so that the programmer can start coding directly. The low level design document or program specifications will contain a detailed functional logic of the module, in pseudocode - database tables, with all elements, including their type and size - all interface details with complete API references- all dependency issues- error message listings- complete input and outputs for a module. The unit test design is developed in this stage.

Like the guide, then subscribe by entering you mail id to get updates daily
Don't miss any article:Get it by E-mail

Manual vs. Automated

Some writers believe that test automation is so expensive relative to its value that it should be used sparingly. A challenge with automation is that automated testing requires automated test oracles (an oracle is a mechanism or principle by which a problem in the software can be recognised). Such tools have value in load testing software (by signing on to an application with hundreds or thousands of instances simultaneously), or in checking for intermittent errors in software. The success of automated software testing depends on complete and comprehensive test planning. Software development strategies such as test-driven development are highly compatible with the idea of devoting a large part of an organization's testing resources to automated testing.

Many large software organizations perform automated testing. Some have developed their own automated testing environments specifically for internal development, and not for resale.

Like the guide, then subscribe by entering you mail id to get updates daily
Don't miss any article:Get it by E-mail

20 Top Tips for Software Testing-Must listen Audio

CIO's Meridith Levinson talks about best practices for enterprise software testing:

Click here to listen:20 Top Tips for Software Testing

Like the guide, then subscribe by entering you mail id to get updates daily Don't miss any article:Get it by E-mail

Testing vs QA vs QC

Testing: The process of executing a system with the intent of finding defects including test planning prior to the execution of the test cases.

Quality Control: A set of activities designed to evaluate a developed working product.

Quality Assurance: A set of activities designed to ensure that the development and/or maintenance process is adequate to ensure a system will meet its objectives.

The key difference to remember is that QA is interested in the process whereas testing and quality control are interested in the product. Having a testing component in your development process demonstrates a higher degree of quality (as in QA).

Like the guide, then subscribe by entering you mail id to get updates daily
Don't miss any article:Get it by E-mail

Funny Software Testing Terminology !

Here is a list of types of testing that we'd like not to see:

AGGRESSION TESTING: If this doesn't work, I'm gonna kill somebody.

COMPRESSION TESTING: []

CONFESSION TESTING: Okay, okay, I did program that bug.

CONGRESSIONAL TESTING: Are you now, or have you ever been a bug?

DEPRESSION TESTING: If this doesn't work, I'm gonna kill myself.

EGRESSION TESTING: Uh-oh, a bug... I'm outta here.

DIGRESSION TESTING: Well, it should work, but let me tell you about my truck...

EXPRESSION TESTING: #@%^&*!!!, a bug!

OBSESSION TESTING: I'll find this bug if it is the last thing that I do.

OPPRESSION TESTING: You will test this, now!

POISSION TESTING: Alors! Regardez le poission!

REPRESSION TESTING: It's not a bug, it's a feature.

SUCCESSION TESTING: The system is dead. Long live the new system!

SUGGESTION TESTING: Well, it works but wouldn't it be better if...

PRESIDENTIAL TESTING: Using the definition of testing as defined in the affidavit...

Like the guide, then subscribe by entering you mail id to get updates daily
Don't miss any article:Get it by E-mail

Who is a Good Developer ?

A good programmer is someone who looks both ways before crossing a one-way street.

Like the guide, then subscribe by entering you mail id to get updates daily
Don't miss any article:Get it by E-mail

Think of it and Answer

How many testers does it take to change a light bulb?

ANSWER: Testers just report that it's dark.

Like the guide, then subscribe by entering you mail id to get updates daily
Don't miss any article:Get it by E-mail

Developers are not good testers. What you say?

This can be a big debate. Developers testing their own code - what will be the testing output? All happy endings! Yes, the person who develops the code generally sees only happy paths of the product and don’t want to go in much details.

The main concern of developer testing is - misunderstanding of requirements. If requirements are misunderstood by developer then no matter at what depth developer test the application, he will never find the error. The first place where the bug gets introduced will remain till end, as developer will see it as functionality.


Optimistic developers - Yes, I wrote the code and I am confident it’s working properly. No need to test this path, no need to test that path, as I know it’s working properly. And right here developers skip the bugs.


Developer vs Tester: Developer always wants to see his code working properly. So he will test it to check if it’s working correctly. But you know why tester will test the application? To make it fail in any way, and tester surely will test how application is not working correctly. This is the main difference in developer testing and tester testing.


Should developers test their own work?

I personally don’t mind developers testing their own code. After all it’s there baby They know their code very well. They know what are the traps in their codes. Where it can fail, where to concentrate more, which is important path of the application. Developer can do unit testing very well and can effectively identify boundary cases.


This is all applicable to a developer who is a good tester! But most of the developers consider testing as painful job, even they know the system well, due to their negligence they tend to skip many testing paths, as it’s a very painful experience for them. If developers find any errors in their code in unit testing then it’s comparatively easier to fix, as the code is fresh to them, rather than getting the bug from testers after two-three days. But this only possible if the developer is interested in doing that much testing.


It’s testers responsibility to make sure each and every path is tested or not. Testers should ideally give importance to all small possible details to verify application is not breaking anywhere.


Developers, please don’t review your own code. Generally you will overlook the issues in your code. So give it to others for review.


Everyone is having specialization in particular subject. Developers generally think how to develop the application on the other hand testers think how the end user is going to use the application.


Conclusion:


So in short there is no problem if developers are doing the basic unit testing and basic verification testing. Developers can test few exceptional conditions they know are critical and should not be missed. But there are some great testers out there. Through the build to test team. Don’t waste your time as well. For success of any project there should be independent testing team validating your applications. After all it’s our (testers) responsibility to make the ‘baby’ smarter!!


What you say? Comment here

Like the guide, then subscribe by entering you mail id to get updates daily
Don't miss any article:Get it by E-mail
Post Credits: Softwaretestinghelp