This week interview question @ DST Global Solutions HYD
A computer bug is an error, flaw, mistake, failure, or fault in a computer program that prevents it from working correctly or produces an incorrect result.
2.What is a test case?
Test case is set of input values, execution preconditions, expected results and executionPost conditions, developed for a particular objective or test conditions, such as to exercise a particular program path or to verify compliance with a specific requirement.
3. What is the purpose of test plan in your project?
Test plan document is prepared by the test lead, it contains the contents like introduction, objectives, test strategy, scope, test items, program modules user procedures, features to be tested features not to tested approach, pass or fail criteria, testing process, test deliverables, testing, tasks, responsibilities,resources,schedule, environmental requirements, risks & contingencies, change management procedures, plan approvals, etc all these things help a test manager understand the testing he should do & what he should follow for testing that particular project.
4. When the relationships occur between tester and developer?
Developer is the one who sends the application to the tester by doing all the necessary code in the application and sends the marshal id to the tester. The tester is the one who gives all the input/output and checks whether he is getting required output or not. A developer is the one who works on inside interfacing where as the tester is the one who works on outside interfacing
5. When testing will starts in a project?
The testing is not getting started after the coding. After release the build the testers perform the smoke test. Smoke test is the first test which is done by the testing team. This is according to the testing team. But, before the releasing of a build the developers will perform the unit 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
Effective Web page testing
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
Living life as a Software Tester!
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
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
Finding and Logging a Bug-A good video from Sara Ford
Like the guide, then subscribe by entering you mail id to get updates daily
Topics to learn before attending interview
Anyway i will try to list important and most real time using things:
- Testing Terminology
- SDLC Models
- Test Life cycle(STLC)
- V-Model for testing
- Defect Life cycle
- Test case Preparation
- a. Functional Test Case Preparation
- b. GUI Test Case Preparation
- Test Data Preparation
- Test case Review
- Test Case Execution
- Smoke/Sanity Testing
- Retesting ,Regression Testing Process
- Bug/Defect Report writing
- Bug or Defect Reporting and Tracking
- Test summary Report Preparation
- 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 dailyDon't miss any article:Get it by E-mail
Manual vs. Automated
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
Software Test Life Cycle(STLC)
- Software requirements phase.
- Software Design
- Implementation
- Testing
- Maintenance
In the whole development process, testing consumes highest amount of time. But most of the developers oversee that and testing phase is generally neglected. As a consequence, erroneous software is released. The testing team should be involved right from the requirements stage itself.
The various phases involved in testing, with regard to the software development life cycle are:
- Requirements stage
- Test Plan
- Test Design.
- Design Reviews
- Code Reviews
- Test Cases preparation.
- Test Execution
- Test Reports.
- Bugs Reporting
- Reworking on patches.
- Release to production.
Requirements Stage:
Normally in many companies, developers itself take part in the requirements stage. Especially for product-based companies, a tester should also be involved in this stage. Since a tester thinks from the user side whereas a developer can’t. A separate panel should be formed for each module comprising a developer, a tester and a user. Panel meetings should be scheduled in order to gather everyone’s view. All the requirements should be documented properly for further use and this document is called “Software Requirements Specifications”.
Test Plan:
Without a good plan, no work is a success. A successful work always contains a good plan. The testing process of software should also require good plan. Test plan document is the most important document that brings in a process – oriented approach. A test plan document should be prepared after the requirements of the project are confirmed. The test plan document must consist of the following information:
- Total number of features to be tested.
- Testing approaches to be followed.
- The testing methodologies
- Number of man-hours required.
- Resources required for the whole testing process.
- The testing tools that are to be used.
- The test cases, etc
Test Design:
Test Design is done based on the requirements of the project. Test has to be designed based on whether manual or automated testing is done. For automation testing, the different paths for testing are to be identified first. An end to end checklist has to be prepared covering all the features of the project.The test design is represented pictographically. The test design involves various stages. These stages can be summarized as follows:• The different modules of the software are identified first.
• Next, the paths connecting all the modules are identified.
Then the design is drawn. The test design is the most critical one, which decides the test case preparation. So the test design assesses the quality of testing process.
Test Cases Preparation:
Test cases should be prepared based on the following scenarios:
- Positive scenarios
- Negative scenarios
- Boundary conditions and
- Real World scenarios
Design Reviews:
The software design is done in systematical manner or using the UML language. The tester can do the reviews over the design and can suggest the ideas and the modifications needed.
Code Reviews:
Code reviews are similar to unit testing. Once the code is ready for release, the tester should be ready to do unit testing for the code. He must be ready with his own unit test cases. Though a developer does the unit testing, a tester must also do it. The developers may oversee some of the minute mistakes in the code, which a tester may find out.
Test Execution and Bugs Reporting:
Once the unit testing is completed and the code is released to QA, the functional testing is done. A top-level testing is done at the beginning of the testing to find out the top-level failures. If any top-level failures occur, the bugs should be reported to the developer immediately to get the required workaround.The test reports should be documented properly and the bugs have to be reported to the developer after the testing is completed.
Release to Production:
Once the bugs are fixed, another release is given to the QA with the modified changes. Regression testing is executed. Once the QA assures the software, the software is released to production. Before releasing to production, another round of top-level testing is done. The testing process is an iterative process. Once the bugs are fixed, the testing has to be done repeatedly. Thus the testing process is an unending process.
More Related Topics:
What types of testings we have?
Don't miss any article:Get it by E-mailDefect Report Template
Purpose of a defect report is multifold in any organization. Defect reports are used to
- Alert software programmers about the defect and gives them sufficient information to find root cause and fix the problem.
- Provide information to technical writers who are writing troubleshooting, known limitation etc.
- Provide starting point for the next release
- Add test cases in the regression suite for next release.
According to IEEE 829, A good defect reports should be simple, understandable, reproducible, legible and non-judgmental.
Defect Report Template :
A good defect report might have following sections.
Headline: One line description of the defect. Remember, A good headline will always be clear, related to the defect and give some hints on how critical defect could be.
Product: In most cases defect tracking system is used for more than one product. So specifying appropriate product and version is very important.
Component: Products are normally very complex, and can be divided into components. A defect report containing proper information about component can help managers in assigning it to appropriate person.
Defect Type: Defect type could be, functionality, specification, regression, UI etc. This classification can be used to analyze how defects are distributed in the system.
Priority: Priority is the impact of defect on business. This field gives an indication of the impact of this defect on business. In some organizations, testers do not specify priority, It is defined my manager or triage team members.
Severity: Severity is the impact of the defect on the product. For example if you hit five keys together and your product crashes, it is a very severe defect. But its priority is probably low because normally people might not hit five keys together. Now consider that the company logo is not proper on the splash screen. From severity point of view it is not severe as it is not crashing application or blocking user from using the application. However, it is hig priority as it is affecting organization's image.
Environment: Proper information about your test execution environment should be present. For example, information about platform, databases, run times everything should be included in your defect report. This information helps development team in reproducing the defects.
Steps: All the steps should be specified clearly. You should not assume that programmer will understand this. Programmer might be looking at your defect report when are not around to explain. Your steps should be clear enough for a novice user to follow and reproduce or verify the defect .
Attachments: Whatever additional information is needed for the defect, should also be attached. This additional information could be logs generated by system, application etc. It could be screen shots or any other thing that might help developers in reproducing the defects.
Comments: If you have any additional comments on the defect, you should specify it clearly. For example if you observe/think that defect is related to some other defects filed in the same component with little variation. You should specify that.
Hope this template was useful for you. You can also visit test plan Here.
In every organization defects are reported or tracked in a defect tracking system
Don't miss any article:Get it by E-mailSmoke Testing Vs Sanity Testing
1. "Smoke Testing" is usually done on the nightly/interim build to test its stability. Therefore "smoke Testing" is often called as "Build verfication Testing" too. In contrast, "Sanity Testing" is usually done during the later cycles after thorough regression cycle are over. When multiple cycle of testing are executed, "Sanity Testing " is done towards the product release phase.
2. "Smoke Testing" is done following a shallow and wide approach where all the basic and major areas are tested without going too deep into the functionality. In contrast, "Sanity Testing" is usually a focused but limited form of regression testing, which follows a deep and narrow approach to test a particular functionality in detail.
3. "Smoke Testing" is done by developers before the build is released or by testers before accepting a build for further testing. On the other hand, "Sanity Testing" is done mostly by the testers.
4. "Smoke Tests" are mostly in form of scripted form whereas "Sanity Tests" are mostly non-scripted.
5. "Smoke Testing" can be compared with the normal health check-up of the product whereas the "Sanity Testing" can be compared with some specialized tests to reveal possible problem with a particular functionality of the product.
Don't miss any article:Get it by E-mail
Manual testing
As a tester, it is always advisable to use manual white box testing and black-box testing techniques on the test software. Manual testing helps discover and record any software bugs or discrepancies related to the functionality of the product.
Manual testing can be replaced by test automation. It is possible to record and playback manual steps and write automated test script(s) using Test automation tools. Although, test automation tools will only help execute test scripts written primarily for executing a particular specification and functionality. Test automation tools lack the ability of decision-making and recording any unscripted discrepancies during program execution. It is recommended that one should perform manual testing of the entire product at least a couple of times before actually deciding to automate the more mundane activities of the product.
Don't miss any article:Get it by E-mail