Wednesday, 10 April 2013

Common Problems with Testing? - Interview question asked in Syscom, Noida

Common Problems with Testing?
There are major problems with the efficiency and effectiveness of testing as it is currently performed in practice. In the course of three decades of developing systems and software—as well my involvement in numerous independent technical assessments of development projects—I have identified and analyzed testing-related problems that other engineers, managers, and I have observed to commonly occur during testing. 


The large number of testing problems necessitated that they be categorized. At the top level, these problems were organized into two groups
general testing problems that are not specific to any type of testing, but apply to all different types of testing 
test type-specific problems that are specific to a single type of testing such as unit testing, integration testing, and system testing.

The remainder of this post will focus on general testing problems, which can be divided into eight categories:


Test planning and scheduling problems often occur when there is no separate test plan, but rather highly incomplete and superficial summaries in other planning documents. Test plans are often ignored once they are written, and test case descriptions are often mistaken for overall test plans. The schedule of testing is often inadequate for the amount of testing that should be performed, especially when testing is primarily manual. Significant testing is often postponed until too late in the development process, especially on projects using traditional sequential development cycles.
Stakeholder involvement and commitment problems include having the wrong testing mindset (that the purpose of testing is to show that the software works instead of finding defects), having unrealistic testing expectations (that testing will find all of the significant defects), and having stakeholders who are inadequate committed to and supporting of the testing effort.
Management-related testing problems involve the impact of inadequate management. For example, management can fail to supply adequate test resources or place inappropriate external pressures one testing. There may be inadequate test-related risk management or test metrics. Testing lessons learned are far too often ignored, so the same problems are repeated project after project.
Test organizational and professionalism problems include a lack of independence, unclear testing responsibilities, and inadequate testing expertise.
Test process problems often occur when testing and engineering processes are poorly integrated. Organizations sometimes take a “one-size-fits-all” approach taken to testing, regardless of the specific needs of the project. Testing may not be adequately prioritized so that functional testing, black-box system testing, orwhite-box unit and integration testing may be overemphasized. Testing of components, subsystems, or the system may begin before they are sufficiently mature for testing. Other problems include inadequate test evaluations and inadequate test maintenance.   
Test tools and environments problems include an over-reliance on manual testing or COTS testing tools. Often, there are an insufficient number of test environments. Some of the test environments may also have poor quality (excessive defects) or insufficient fidelity to the actual system being tested. Moreover, the system and software under test may behave differently during testing than during operation. Other common problems are that tests were not delivered or the test software, test data, and test environments were not under sufficient configuration control.
Test communication problems primarily involve inadequate test documentation. These types of problems often occur when test documents are not maintained or inadequate communication concerning testing is taking place.
Requirements-related testing problems are related to the requirements that should be driving testing. Often, the requirements are ambiguous, missing, incomplete, incorrect, or unstable. Lower-level requirements may be improperly derived from their higher-level sources. Likewise, verification methods may be unspecified and the tracing between requirements and tests may be lacking.












Can you tell me the difference between smoke and system testing? Interview question asked in CSC, Noida


tell me the difference between smoke and system testing?

  A smoke test is specialized system test to verify that system will not have a critical failure, usually done after significant changes or a new code release. System testing is much more comprehensive and done after the smoke test passes (always considering the time constraints that you are under).


 Smoke testing is perform to verify the critical features of an application while in system testing is done to thoroughly test the application and verify all aspects not only critical or basic features.And also system testing is performed on environment similar to production environment.


Regression Testing, Smoke Testing and Sanity Testing? - Interview question asked in Naggaro


Which come first to next place in testing Regression Testing, Smoke Testing and Sanity Testing?

Smoke Testing - 
1) A Smoke test is designed to touch every part of the application in a cursory way. 
2) Smoke testing is conducted to ensure whether the most crucial functions of a program are working 
3) Smoke testing is normal health check up to a build of an application before taking it to testing in depth. 

Sanity Testing - 
1) A sanity test is a narrow regression test that focuses on one or a few areas of functionality. Sanity testing is usually narrow and deep. 
2) Sanity testing is a cursory testing, it is performed whenever a cursory testing is sufficient to prove the application is functioning according to specifications. 

Regression Test - 
1) The intent of regression testing is to provide a general assurance that no additional errors were introduced in the process of fixing other issues.

 System Testing:- It is end to end testing.Where testing environment is just similar to production environment.here we check 1.Region Specific 2.Page Specific 3.Text Specific 4.Time duration specific 5.Cost specific. 
We start system testing when- minimum number of features are ready. 
basic functionality of all the module must be working.


a. Smoke Testing : To make sure the build is not breaking and can be testable. 
b. Sanity Testing : To check the basic functionality without going into detail. 
c. Regression: To make sure the existing functionality is not been impacted because of new changes.

 First smoke test checking basic availibility 
Then sanity check: basic functionalities work as required 
then regression test : control all desired functionalities

Tuesday, 9 April 2013

Hiring Wisdom: Top 10 Ways to Guarantee Your Best People Will Quit


10 Ways to Guarantee Your Best People Will Quit...

Here are 10 ways to guarantee that your best people will quit:
10. Treat everyone equally. This may sound good, but your employees are not equal. Some are worth more because they produce more results. The key is not to treat them equally, it is to treat them all fairly.
9. Tolerate mediocrity. A-players don’t have to or want to play with a bunch of C-players.
8. Have dumb rules. I did not say have no rules, I said don’t have dumb rules. Great employees want to have guidelines and direction, but they don’t want to have rules that get in the way of doing their jobs or that conflict with the values the company says are important.
7. Don’t recognize outstanding performance and contributions. Remember Psychology 101 — Behavior you want repeated needs to be rewarded immediately.
6. Don’t have any fun at work. Where’s the written rule that says work has to be serious? If you find it, rip it to shreds and stomp on it because the notion that work cannot be fun is actually counterproductive. The workplace should be fun. Find ways to make work and/or the work environment more relaxed and fun and you will have happy employees who look forward to coming to work each day.
5. Don’t keep your people informed. You’ve got to communicate not only the good, but also the bad and the ugly. If you don’t tell them, the rumor mill will.
4. Micromanage. Tell them what you want done and how you want it done. Don’t tell them why it needs to be done and why their job is important. Don’t ask for their input on how it could be done better.
3. Don’t develop an employee retention strategy. Employee retention deserves your attention every day. Make a list of the people you don’t want to lose and, next to each name, write down what you are doing or will do to ensure that person stays engaged and on board.
2. Don’t do employee retention interviews. Wait until a great employee is walking out the door instead and conduct an exit interview to see what you could have done differently so they would not have gone out looking for another job.
1. Make your onboarding program an exercise in tedium. Employees are most impressionable during the first 60 days on the job. Every bit of information gathered during this time will either reinforce your new hire’s “buying decision” (to take the job) or lead to “Hire’s Remorse.”
The biggest cause of “Hire’s Remorse” is the dreaded Employee Orientation/Training Program. Most are poorly organized, inefficient, and boring. How can you expect excellence from your new hires if your orientation program is a sloppy amalgamation of tedious paperwork, boring policies and procedures, and hours of regulations and red tape?
To reinforce their buying decision, get key management involved on the first day and make sure your orientation delivers and reinforces these three messages repeatedly:
A. You were carefully chosen and we’re glad you’re here;
B. You’re now part of a great organization;
C. This is why your job is so important.
This was originally published in the April 2013 Humetrics Hiring Hints newsletter.
Mel Kleiman, CSP, is an internationally-known authority on recruiting, selecting, and hiring hourly employees. He has been the president of Humetrics since 1976 and has over 30 years of practical experience, research, consulting and professional speaking work to his credit. Contact him atmkleiman@humetrics.com.

Monday, 8 April 2013

Test Planning

Test Plan - The Strategic side of Testing

There are many software organizations where the term QA refers to a group of testers who randomly receive builds from the developers and proceed to ―play‖ with the system in order fish out the bugs. In some cases these engineers use some informal flows or scripts to base their tests but these documents are not even close to a testing strategy or test plan of any sort.

We all agree that one of the main objectives of the QA team is to rid the product of the most important and disruptive bugs, but doing it completely Ad-Hoc and without a good preparation is the most ineffective and inefficient way to go about this process.

The common testing project is composed of 4 phases:
a. Planning
b. Preparation
c. Execution
d. Post-analysis
In this post I will focus on the planning stage, since I believe this is the most important phase and the one that we take for granted the most.

So now we can start with 2 big questions:
- What do we need to plan?
AND
- How do we go about planning it?
The answer to both questions is the Test Plan (also known as Software Test Plan, Testing Strategy, etc). The Test Plan is both a document and a process; by this I mean that at the end of the day you will have a document you can look at and admire (you may even hang it on the wall!), but not less important is the process you need to follow to create and communicate all the aspects that conform the document with all its sections.

What makes a good Test Plan?
Each company has different needs and thus each will require a different Test Plan template. The important thing is to understand that this document will represent your Scope of Work  for the specific project. It should be the place where you and your external stakeholders (Product Management, Development, Support, etc) turn to in order to understand what your team is testing and how are they approaching each testing task.
To look at it in a simple way, imagine your company decides to outsource all its testing tasks to an external group (your group) and you need to put together a contract explaining what your team will do and what will it need in order to do it. Like all contracts, the idea is to review all the details and agree on them before signing the deal (or starting the project).

Following are the usual sections I include in my MTPs (remember to take them only as a suggestion and to modify them based on your needs!):

1. Objectives of the testing process:
The objectives of the testing process depend on the nature of the development project. Examples of testing objectives are: new feature validation, additional configuration certification, translation validations, installation and/or upgrade testing, etc.
Just make sure you don‘t write trivial stuff like: to find all the bugs in the system or to assure we release a quality product.
This section is to communicate what YOU will be thinking when planning and running your tests.

2. Testing scope:
For many people the testing scope is the heart of the Master Test Plan. It describes the things you will focus in each of the application areas and/or features to test. I tend to make this section a nested list, and for each item I describe:
- The main aspects to tests
- The product risks or potential bugs I foresee
- Concrete faults or main scenarios to validate
- Assumptions or requirements (documented API, stable GUI, etc)
- And any other aspects worth mentioning regarding the specific area under test.
This is the place where you provide your stakeholders with the information about what will you be testing on each section of the product, and here is also where you should look for comments and suggestions from developers, product architects, support engineers, fellow testers, etc.

Some Test Planning go the extra mile and provide a list of areas and features that are Out of the Scope of the testing process.

3. Testing configuration matrix:
Your application surely needs to support a defined number of configurations and platforms, here is where you should list these configurations together with the testing matrix you will run in order to validate it.
Keep in mind that by configurations we may refer to different things for different projects; on one project it may be Operating Systems and Browsers, while on another project it is additional product-components and specific versions required by your product to function correctly.
In any case, by configuration we mean the environmental (and thus external) parameters required by our system to work.
www.teatimewithtesters.com December 2012|43
In the cases when the list of officially supported configurations is more extensive than the systems you plan to test you should provide 2 separate lists:
(a) The list of theoretically supported configurations, as specified by your customer or product management team.
(b) The list of actual configurations you will test in order to achieve the above level of support, together with the distribution or percentage of tests that will be run on each.
In order to do this I suggest a presentation format and planning method similar to what I described in my last post.

4. Required Hardware / Software
Based on the testing scope and the required configurations you need to create a list of all the hardware and software resources you will need to complete your tests.
In addition to special machinery and/or licenses, this is the place to ask for specific stubs or simulators you may require during your tests.
If you plan to use automation of any sort include the number of software licenses as well as the amount of virtual users you will need for load and performance testing.

5. Testing preparations
By now it should be clear what you want to test, now you need to understand what preparations to do in order to test it.
For this point should make a high level review of your test plan inventory and compare it to your testing scope. You should end with tree lists of tests:
(1) Tests that are ready to be run as is
(2) Tests that need to be reviewed and/or updated to match the changes to the functionality
(3) Tests you need to write from scratch
For each list assign the amount of time you will require to work on the tests; you can also include the information and/or help you will need from other teams.
If you also need time to prepare testing environment or create testing data this is the section where to add this additional preparation costs

6. Testing schedule:
(The favorite section of all our Project Managers!)
Our operations are usually divided into stages and cycles. For example a project may have a preparation stage, an execution stage composed of 3 to 5 testing cycles, and a final product release stage/cycle.
For each one we should provide at least the following information:
(a) Expected time lines
(b) Entry and exit criteria
(c) Testing scope & objectives
(d) Testing resources (peopleware, software and hardware)
and any additional information pertaining to the specific cycle.

7. Testers & schedules
Following on the project side of the MTP you should list all your testers and the dates when they will be available for your project. List holidays, vacations, training and any other activities that may have an impact on the availability of a resource.
If part of your tester-resources will be new make sure to account for the training and ramp-up time they will require at the start of their work.

8. Risks
Like every project you should list the risk you may encounter. Examples of risks are difficulties in recruiting resources, instability of the product that may delay your schedule, high attrition rates, etc.
Each risk should include the following information:
(a) Person in charge of the risk
(b) Severity and likelihood of the risk materializing
(c) Dates of relevancy when the risk may materialize
(d) Consequence of the risk materializing
(e) Prevention & contingency plans

9. References & attachments
Add links to any additional documents and/or information referent to the project.
Add also a list of all the contact persons as well as their areas of responsibility.
A final word of advice - Some companies and processes are not ready to handle a full blown MTP, specially start-ups and/or companies working under less structured development process (e.g. Agile Development).
If you work on one of these companies it doesn‘t mean that you can or should work without a strategic QA plan, it simply means that you need to mold it in order for the plan to meet your company culture and way of life.

www.texira.com










Tea Time With Tester

Tea Time With Tester 

www.teatimewithtester.com
www.teatimewithtesters.com
I m the big fan of Tea Time With Tester  " first website provide free online magzines for testers only www.teatimewithtesters.com " i like it boss...hats off for your and your team members work..keep writing and we
Here i found the most common thing which everyone must knows that each and every companies have there own development & testing cultures and taste..so keep reading magzines from " www.teatimewithtesters.com ".

I'm with most folks here. this isn't the kind of place where this extensive subject can be addressed as you have asked besides we have no real context to work with. Every organization has a culture, the Testing needs to fit into the culture you are in as well as achieving an objective (or set of objectives). We don't know the user base, organizational goals and objectives, risks, is it cloud based or not, is it built on a commercial platform or built from scratch, etc, etc, etc.

May I ask the purpose of the discussion?

www.texira.com

Web Testing


Web Testing:

Check List for Web Testing:
1. Functionality testing

2. Usability testing

3. Interface testing

4. Compatibility testing

5. Performance testing

6. Security testing

for Clear cut description check below link..
http://www.softwaretestinghelp.com/web-application-testing/
www.teatimewithtesters.com
Author