Saturday, July 18, 2015

Software Testing Interview Questions For Freshers And Experienced - PART 1

Here I am sharing some important common interview questions for Fresher and experienced professionals. Below are the most frequently questions that I have shared in my Part 1 blog. Most of the interview questions are covered under Software testing FAQ's

1.Tell Me About You/yourself ?
If you are fresher:
I am ABC, I have completed my Engineering/MCA/MCM/Etc in 2015. I have completed my Testing Course from XYZ institute. I am aware of Testing Methodology, STLC & SDLC.
My Short Term Goal is to become a Sr. Tester down the line 2 years and long term goal is to
become a Test Manager.
My Strength is – I am a good listener, workaholic & easily gel with others.
Talking about my weakness – Sometimes, I get so excited and caught up in my work that I forget that my family life should be my number one priority.”

If you are having experience:
I am ABC, completed Engineering/MCA/MCM/Etc in 2010, having around 4+ years of experience in Software Testing and Automation. Currently working as a Software Test Engineer/QA Engineer in XYZ Company. My Responsibilities includes Test Case Creation and Execution by understanding Requirements and Functionality, Logging and fixing a Defect, Sending Build Wise Status Report to my Lead, participation in the client call, and involvement in writing down Test Plan etc.
My Strength is – I can work under Pressure, Result Oriented, workaholic & easily gel with others.
Talking about my weakness includes – I lose my efficiency if I work at a stretch for more than 24
hours.

2. Tell me your Role and Responsibilities?
I am currently working here as a Software Test Engineer/QA Engineer. My Responsibilities includes Test Case Creation and Execution by understanding Requirements and Functionality, Logging and fixing a Defect, Sending Build Wise Status Report to my Lead, participation in the client call, and involvement in writing down Test Plan etc.
• Prepare Test Cases and Test Data as per the Test Basics
• Peer reviews the Test cases and Test data
• Execute the test cases and record the execution status in the Test Management tool,
• Log all detected defects in the identified defect tracking tool,
• Provides status to the Assignment Manager/ Test Analyst, as and when required.
• Attending the Team Meetings
• Involved in Test Planning
• Ensuring that Deliveries of the application are in time and above expectations.

3. Why you think that you are fit for testing? / Why have you chosen this Testing Field? Why testing, tell me in only in one sentence? Or what should be the qualities of a tester?
· I know well how to break the thing than to make it &
· My attitude towards testing is thoroughly destructive but my work is constructive
· I am having lot of patience
· I am always thinking from the end user perspective.
Because of all these reason I think that I am fit for testing.

4. What is Software Testing? (Most important question for Fresher)
Software testing is nothing but running the application/system under both normal and
abnormal condition and comparing the result against Requirement/functionality. At the
same time taking the corrective action on the result which we don’t expect.

5. What should be the mindset of a tester?
· He should think from the end customer point of view.
· His attitude towards testing should be thoroughly destructive but his work should be
constructive then and then he will able to find out more and more bugs in the application.
· He should be go getter and having ability to prove his opinion in spite of all odds.
· Having Lot of patience.

6. At what stage of the SDLC does testing begin in your opinion? When should testing start in your project? Why?
In SDLC testing begin from the Requirement Gathering stage. But here in this stage we are testing the ideas not a code. We are testing following things during Requirement
gathering stage
· Is this the right requirement?
· Are they complete?
· Are they compatible?
· Are they achievable?
· Are they testable? Etc.

7. What is Quality?
Quality is nothing but degree of excellence with reference to customer satisfactions.

8. QA VS QC?
QA is nothing but Quality Assurance, which gives assurance towards quality
QC is nothing but Quality Control, which does not ensure quality, it only exposes lack of quality
QA is Process Oriented QC is Product Specific
QA is prevention of defects QC is detection of Defects
QA belongs to Verification QC belongs to Validation

9. Explain SDLC in Detail?
Software Development Life Cycle is a process of developing an Application or a Product.
SDLC divides into different phases and each phase has a definite Start and End along with the
deliverable. Different Phases in SDLC are
· Project initiations
· Requirement Analysis & Gathering
· System Design
· System Development
· System Testing
· UAT
· System Implementation
· System Maintenance

10. Tell me different SDLC models?
Different SDLC models are
· Water Fall Model
· Spiral Model
· Code & Fix Model
· Big Bang Model
· Scrum Model
· Prototype Model
· V Model

11. Which SDLC Models you are using? Explain in details. Or Which development module is used in your organization?
We are using Agile Methodology for developing software and the Models we used are SCRUM.
In Scrum, projects are divided into small group of requirements, called as sprints, which are typically one week, two weeks, or three weeks in duration.
In Scrum we have a SCRUM Master who acts a Bridge between Product owner and Development Team. Based on the size of sprints DEV & Test Team will provide the estimations to our SCRUM Master in terms of hours. Then SCRUM Master will publish the release Schedule by Date. We have a daily SCRUM Meeting where we discussed about the Progress of Sprint from Dev, Test and Analysis point of view on daily basis. If anything is blocking to us we are discussing that also in the SCRUM meeting.

12. What is the Advantage of Scrum Model /Agile methodology? (Now a days most of the companies use Scrum methodology)
· Very Productive
· Business gets something new after every 2 or 3 weeks.
· New Ideas go into TO DO List.
· Due to small sprints Tester & Developer can focus well on the given functionality.

13. When do you start writing Test Cases?
We start writing down the test cases when we get a FSD i.e. Functional Specification Document.

14. Tell me the difference between Regression testing and retesting? Or What is retesting and what is regression testing?
Regression Testing is nothing but to test the known set of test cases to ensure that nothing has been affected either due to bug fix or addition of any new enhancement. Basically
Regression Testing is used to find out the side effect of existing functionality on other functionality.
&
Retesting is nothing but testing the same thing with different set of data.

15. How to identify the regression test cases? Why need of regression testing?
If Functionality B is depending on Functionality A and with the change in Functionality A if the Functionality B is getting affected then all the test cases related to functionality B will be our regression test cases. And If Functionality A & B are interdependent then all the test cases related functionality A & B will be our regression test cases. By using regression testing we will ensure that nothing has been affected either due to bug fix or addition of any new enhancement.

16. Regression: what is it? How will u run all regression suit if u have less time?
Regression Testing is nothing but to test the known set of test cases to ensure that nothing has been affected either due to bug fix or addition of any new enhancement. Basically Regression Testing is used to find out the side effect of existing functionality on other functionality.
Even though we have less time available we need to execute all the Regression Suite by sitting late nights or coming over weekend to ensure that all the functionalities are working fine.
We cannot take a risk of excluding some test cases from execution.

17. What is Validation and Verification?
Are you doing a thing right? Is Verification & have you done thing right? Is validation.
Verification is a QA Activity and Validation is the QC activity.

18. Tell me the difference between Scenario and Use Case and Test Case? Or difference between Scenario and Test Case?
Scenario is nothing but how the End User will use the given functionality in real time
environment.
While Use Case is nothing but the interaction of the end user with that application.

19.What is Test Case?
Test Case is nothing but a sequence of keywords or steps used to test the particular feature of
an application.

20.How will you ensure that your test cases are complete? Which tool you use to write test cases or use simple excel file?
We are writing down our test cases in excel sheet. And with the help of Requirement
Tractability matrix we will ensure that whether all the Requirements have properly covered or
not. And we will perform Peer Test Case Review and Formal Test Case Review to find out the
missed test cases which we will add after this review.

I will share more questions in my next Software Testing Interview Questions For Freshers And Experienced - PART 2 post..

Wednesday, September 26, 2012

Organizational Hierarchy

Depending on the organization interviewer will ask particular questions. Like, if you are looking for a project manager testing position you will be asked around 20% technical questions and 80% management questions.
There are many small and medium software companies which do not follow this hierarchy and have their own adhoc way of defining positions in the company.

General hierarchy across most IT companies

There are basically two teams in a software association. First one is project teams and second is quality teams. Project teams are those who execute the project and quality teams are comprised of testers and SQA (Software Quality Assurance Testers). The quality team looks after the quality part of the project. Director and CTO (chief technical officer) are on the top of the hierarchy of the company. The main role of the director is to handle finances; he is responsible of all activities in the company. The CTO’s main role is to have a bird’s eye view of technical as well as management operations in the project. CTO and project managers to see to higher level day-to-day operation in every project.
The program manager normally does not interact directly with the developers or testers, he only takes daily reports and from project managers and monitors the project.
Software engineers have around 1 to 2 years of experience. Interviewers expect software engineers to be technically at a medium level.
Senior software engineers have around 2 to 4 years of experience. Interviewers expect them to technically be very strong.
Project leads handle the majority of technical aspects of the project and should have around 4 to 8 years of experience.
Project managers are expected to be roughly 40% technically strong and should have experience above 10 years. But they are more interviewed from the aspect of project management, client interaction, people management, proposal preparation, etc. So now judge where you stand, and where you want to go.

Let’s see the bottom of the hierarchy:
Junior tester: Junior testers normally have 1 to 2 years of experience or are entry level. Their main task is executing test procedures prepared by seniors.

Senior tester: Senior testers generally have 2 to 4 years of experience and are expected to know how to prepare test plans. They are also aware of various metrics and testing techniques which help them to communicate project health. But the main expectation from a senior tester is that he should independently prepare test plans based on the requirement documents.

Team lead tester: Team lead testers mainly help and guide the senior testers. They are primarily involved in deciding the testing strategy, what kind of automation tool used, etc. They also act as a bridge between the project manager and the other team members.

Project test manager: The main job of a project test manager is to collect accurate metrics and report them to the project manager. He is also responsible for interacting with SQA to give updates on the quality of the project. They are also involved in the requirement phase.

SQA: If you are starting your career as a tester then you would surely aim to become an SQA leader somewhere down the line. The main job of SQA is to define the quality standard of the organization and to ensure that every project follows the quality process.

Monday, September 24, 2012

Difference between Bug, Defect and Error

Bug, Defect and Error
Bug, defect, and error are terms that are commonly used in software development, but they have slightly different meanings:

Bug:
A bug is a coding error or mistake in software that causes it to behave unexpectedly or not according to its specifications. Bugs can be introduced at any stage of software development, including design, coding, and testing.

Defect:
Defect is a deviation from the requirements or specifications of a software product. It can be caused by a bug, a design flaw, or a misinterpretation of the requirements. A defect is essentially a problem with the software that prevents it from working as intended.

Categories of defects - There are three main category of defects;
Wrong: The requirements have been implement the wrong way. This defect is a variance from the given specification.

Missing: There was a requirement given by the client and it was not done. This is a variance from the specifications, an indication that a specification was not implemented, or a requirement of the customer was not noted correctly.

Bug, Defect and Error
  Extra: A requirement incorporated into the product that was not given by the end   customer. This is always a variance from the specification, but may be an attribute  desired by the user of the product. However, it is considered a defect because it’s  a variance from the existing requirements.

  Error: An error is a human mistake that results in a problem with the software. Errors can occur at any stage of software development, including requirements gathering, design, coding, and testing. An error can cause a bug or a defect.

Fault: A wrong or mistaken step, process or Data definition in a computed program which causes the program to perform in an unintended or unanticipated manner.

In summary, bugs and defects are related to the actual software code, while errors are related to human actions or decisions. Bugs and defects are often used interchangeably, but they have slightly different meanings.

Thursday, September 20, 2012

Difference between SRS, BRS & FRS Documentation


Most of the times the interviewer asked you that have you familiar with SRS, BRS & FRS Documentation or tell me the difference between SRS, BRS and FRS. Well, I tell you the differentiation in general and as per the CMMI process what is the difference between all above. Basically, usage of this document depends on the organization and company type, their standards and how organization follows processes.

SRS - System Requirement Specification:
It describes entire system flow, how data is going to flow into the system and overall functionality of the system. SRS says brief about each module's functionality and doesn't include in-depth functionality of each page and module. SRS documentation is written by IEEE Std. 830. If you want to know How to write the SRS documentation then click here
SRS documentation includes a set of use cases that explain all the interactions the users will have with the software. Use cases are also known as functional requirements. In addition to use cases, the SRS also contain non-functional requirements.

NOTE: The Software Requirements Specification should contain descriptive labels for and references to every figure, table, and diagram included within the document.

BRS - Business Requirement Specification:
This document is called as high level document includes the entire requirement demanded by the client. Ideally, this document simply includes all the requirements should be part of proposed system. BRS includes list of requirements which are demanded by client and should be part of proposed system.

Business Requirements Specification Contents
The purpose of the project
The Client, the Customer, and other stakeholders
Users of the product
The scope of the work
The scope of the product
Features and Functionalities
Usability and Humanity Requirements
Performance Requirements

FRS - Functional Requirement Specification:
FRS includes requirements, converted into functionality and says that how this requirement is going to work as a part of proposed system. FRS includes requirement converted into the way it is going to work as a part of proposed system.