Friday, November 6, 2009

What's the difference between Static Testing and Dynamic Testing?

Dynamic testing:Required program to be executed and Verification and validation performed by executing the system code .Dynamic testing is process of running and using the s/w for testing . ie. testing the s/w which is running . unit integration system and their various parts comes under this dynamic testing.

Dynamic Testing requires the code to be in an executable state to perform the tests. Most validation tests are dynamic tests.
Dynamic testing are:
1) Unit Testing:
2) Integrated Testing:
3) System Testing:
4) User Acceptance:


Static testing: Does not involve program execution.Verification performed with out executing the system code .static testing - static testing is process of examining and reviewing the specification or product witout executing it . Review walkthrough inspection comes under static testing . ie. static testing is testing s/w which is not running.Static testing is performed using the software documentation. The code is not executing during static testing. Most verification techniques are static tests .
verification techniques are static tests
1.Feasibility Review
2. Requirement Reviews



The program is run on some test cases & results of the program’s performance are examined to check whether the program operated as expected
E.g. Compiler task such as Syntax & type checking, symbolic execution, program proving, data flow analysis, control flow analysis

Wednesday, October 7, 2009

What is the future of Software Testing?

1. Will depend on programming trends
2. Future of testing in automation: automated unit testing; automated functional testing .Both automated testing, the future will depend on the software trends and how much work it will take to automate. It will also depend on how current manufacturers of automation software get on board the new changes.
3. Software testing will get harder, more expensive and therefore less efficient
4. Software testing will always have a future. As long as developers will write code there will be bugs, and the need for specialists to test them
5. Reduction of QA costs, by increasing the quality of the code and reducing production time. Bugs and humans will be around so testers will be there. Cost will flucuate because there is always new features and new developers.
6. Non-functional testing: performance, application security testing etc. should increase

Wednesday, September 9, 2009

What is Change Control?

Change control is a formal process used to ensure that changes to a product or system are introduced in a controlled and coordinated manner. It reduces the possibility that unnecessary changes will be introduced to a system without forethought, introducing faults into the system or undoing changes made by other users of software. The goals of a change control procedure usually include minimal disruption to services, reduction in back-out activities, and cost-effective utilization of resources involved in implementing change.

Change control is currently used in a wide variety of products and systems. For Information Technology (IT) systems it is a major aspect of the broader discipline of change management. Typical examples from the computer and network environments are patches to software products, installation of new operating systems, upgrades to network routing tables, or changes to the electrical power systems supporting such infrastructure.

Change control
process is used for identifying and maintaining changes to baselines of a project. Change Control Procedure is a process of creating a formal method for identifying, documenting, evaluating, and communicating all changes to projects. The major roles and responsibilities involved in change control process are Project Manager who is responsible for creating a change-sensitive environment from the beginning of the project by educating project participants about need of change control.

Project team members provide estimate of effort needed to evaluate change request. Evaluates change request to determine potential alternatives for implementing changes, recommend alternatives, and estimate the effort to implement. Project board reviews and approves change request referred from the Project Manager.

The Change Request Form is a formal document
where the requester describes the changes that need to be applied to the system
. The form records the required change as well as recommended changes and estimated costs of making the change. The Change Request Log provides a register of all requested changes to the project. The Project Manager
monitors
the status of Change Request and takes action as necessary to ensure sufficient progress towards acceptance/rejection. The flow of Change control procedure is as follows:

• Submit request for change
• Estimate effort to evaluate change request
• Determine whether change request should be
evaluated
• Analyze change request
• Assess need for escalation
• Make implementation decision

Thursday, July 2, 2009

What is Software Configuration Management ?

In software engineering, software configuration management (SCM) is the task of tracking and controlling changes in the software. Configuration management practices include revision control and the establishment of baselines.

Configuration management (CM) is the detailed recording and updating of information that describes an enterprise's computer systems and networks, including all hardware and software components. Such information typically includes the versions and updates that have been applied to installed software packages and the locations and network addresses of hardware devices. Special configuration management software is available.

An advantage of a configuration management application is that the entire collection of systems can be reviewed to make sure any changes made to one system do not adversely affect any of the other systems

Configuration management is also used in software development, where it is called Unified Configuration Management (UCM). Using UCM, developers can keep track of the source code, documentation, problems, changes requested, and changes made.

Thursday, June 18, 2009

Skills Required for a Good Software Tester

What does it take to become an excellent professional in software testing? There are certain qualities and attitudes that you must have to become an effective software test person. Here are five qualities that define a good software tester.

1. Attitude Matters: In any kind of effort attitude is always the key to success. Inborn passion for what you do always define their interest and enthusiasm towards their work. Successful and efficient software testers often describe themselves as tough, rigorous, uncompromising and firm and have a passion for analysis and evaluation.

2. Intellectual and technical capacity: There should be a good ,analytical and logicical ability. He must be able to cope with complex logic and should be able to perform at a high level in this kind of adjustment in short, a good software tester must be intelligent. A good test engineer must have a excellent background in coding in order to grasp the concept of the system being tested.

3. Flexibility: Ability to adapt and willingness to learn is one of the most essential qualities of a good software tester. He must have an embedded inclination to be continuing learners and have dedication in upgrading and developing their skills.

4. Communication Skills: An effective test engineer must have strong written and verbal communication skills. He must have the ability to listen critically and rationally speaking clearly convey the message in person to the meetings. A good software tester must be able to read and analyze the product documentation, writing test plans, write bug reports clear, coherent writing status reports to management, both in official reports and special reports on email .

5. Business Sense: It is important for a good software to have good business sense. Must have the ability to see the larger picture of a company's global business strategy. This allows a software tester to actively participate in a higher level than just an individual contributor.

Monday, May 18, 2009

What is Software Life Cycle?

A software life cycle model (SLCM) is a representation of the major components of software development work and their interrelationships in a graphical framework that can be easily understood and communicated.
The Software Life Cycle begins when an application is first conceived and ends when it is no longer in use. It includes aspects such as initial concept, requirements analysis, functional design, internal design, documentation planning, test planning, coding, document preparation, integration, testing, maintenance, updates, retesting, phase-out, and other aspects.
You must have a defined SLCM for your project to:
  • Determine project milestones at which project performance can be evaluated
  • Define the sequence of work units
  • Provide a framework for definition and storage of the deliverables produced by the project
  • Communicate your development strategy to project stakeholders

A SLCM achieves this by:

  • Providing a simple graphical representation of the work to be performed
  • Allowing focus on important features of the work, downplaying excessive detail
  • Providing a standard work unit hierarchy for progressive decomposition of the work into manageable chunks
  • Providing for changes (tailoring) at low cost

Friday, May 8, 2009

Few More Interview Questions.

  • What is the structure of the company?
  • Who is going to do the interview-possible background information of interviewer?
  • What kinds of assignments might I expect in the first six months of the job?
  • What do you like best about your company?
  • What is the employer's environment (platforms, tools, etc.)?
  • What are the employer's methods and processes used in software arena?
  • What is the employer's philosophy?
  • What is the project all about you are interviewing for-as much information as possible.
  • Any terminologies that the company may use.
    What is the structure of the software testing team?
  • What are the responsibilities of the software testing team members?
  • How many computers are in the software testing lab?
  • What kinds of software testing tools are installed in the software testing lab?
  • What is the ratio between software developers and testers in the company?
  • What development and QA methodologies is the company using?
  • What are your growth projections for next year?
  • Have you cut your staff in the last three years?
  • Is this a new position or am I replacing someone?
  • What types of documents would you need for QA, QC, and Testing?
  • What did you include in a test plan?
  • What is Software Quality Assurance?
    Quality Assurance makes sure the project will be completed based on the previously agreed specifications, standards and functionality required without defects and possible problems. It monitors and tries to improve the development process from the beginning of the project to ensure this. It is oriented to "prevention

Saturday, May 2, 2009

How to Write Effective Bug Reports?

The Purpose Of A Bug Report:
When we uncover a defect, we need to inform the developers about it. Bug report is a medium of such communication. The primary aim of a bug report is to let the developers see the failure with their own eyes.
If you can't be with them to make it fail in front of them, give them detailed instructions so that they can make it fail for themselves.
The bug report is a document that explains the gap between the expected result and the actual result and detailing on how to reproduce the scenario.

After Finding The Defect
* Draft the bug report just when you are sure that you have found a bug, not after the end of test or end of day. It might be possible that you might miss out on some point. Worse, you might miss the bug itself.
* Invest some time to diagnose the defect you are reporting. Think of the possible causes. You might land up uncovering some more defects. Mention your discoveries in your bug report. The programmers will only be happy seeing that you have made their job easier.
* Take some time off before reading your bug report. You might feel like re-writing it.

Defect Summary : The summary of the bug report is the reader’s first interaction with your bug report. The fate of your bug heavily depends on the attraction grabbed by the summary of your bug report. The rule is that every bug should have a one-liner summary. It might sound like writing a good attention-grabbing advertisement campaign. But then, there are no exceptions.
A good summary will not be more than 50-60 characters. Also, a good summary should not carry any subjective representations of the defect.

The Language
* Do not exaggerate the defect through the bug report. Similarly, do not undertone it.
* However nasty the bug might be, do not forget that it’s the bug that’s nasty, not the programmer.
* Keep It Simple & Straight. You are not writing an essay or an article, so use simple language.
* Keep your target audience in mind while writing the bug report. They might be the developers, fellow testers, managers, or in some cases, even the customers. The bug reports should be understandable by all of them. Steps

Thursday, March 19, 2009

QA FAQ:

  1. What is 'Software Quality Assurance'?
  2. What is 'Software Testing'?
  3. What are some recent major computer system failures caused by software bugs?
  4. Does every software project need testers?
  5. Why does software have bugs?
  6. How can new Software QA processes be introduced in an existing organization?
  7. What is verification? validation?
  8. What is a 'walkthrough'?
  9. What's an 'inspection'?
  10. What kinds of testing should be considered?
  11. What are 5 common problems in the software development process?
  12. What are 5 common solutions to software development problems?
  13. What is software 'quality'?
  14. What is 'good code'?
  15. What is 'good design'?
  16. What is SEI? CMM? CMMI? ISO? Will it help?
  17. What is the 'software life cycle'?
  18. What makes a good Software Test engineer?
  19. What makes a good Software QA engineer?
  20. What makes a good QA or Test manager?
  21. What's the role of documentation in QA?
  22. What's the big deal about 'requirements'?
  23. What steps are needed to develop and run software tests?
  24. What's a 'test plan'?
  25. What's a 'test case'?
  26. What should be done after a bug is found?
  27. What is 'configuration management'?
  28. What if the software is so buggy it can't really be tested at all?
  29. How can it be known when to stop testing?
  30. What if there isn't enough time for thorough testing?
  31. What if the project isn't big enough to justify extensive testing?
  32. How does a client/server environment affect testing?
  33. How can World Wide Web sites be tested?
  34. How is testing affected by object-oriented designs?
  35. What is Extreme Programming and what's it got to do with testing?

Tuesday, March 10, 2009

SoftwareTesting FAQ

Welcome to Software Testing Help!


What is software Testing?
A basic to start with:Software testing is the process used to help identify the correctness, completeness, security, and quality of developed computer software.
Testing is a process of technical investigation, performed on behalf of stakeholders, that is intended to reveal quality-related information about the product with respect to the context in which it is intended to operate.

For more information about AutomationSoftware Testing refer the below link.
http://www.qatesting-logic.blogspot.com/


Software Testing FAQ :

1. What is Test Bed?
An execution environment configured for testing. May consist of specific hardware, OS, network topology, configuration of the product under test, other application or system software, etc. The Test Plan for a project should enumerated the test beds(s) to be used.

2. What is Software Requirements Specification?
A deliverable that describes all data, functional and behavioral requirements, all constraints, and all validation requirements for software.

3. What is Soak Testing?
Running a system at high load for a prolonged period of time. For example, running several times more transactions in an entire day (or night) than would be expected in a busy day, to identify and performance problems that appear after a large number of transactions have been executed.

4. What is Smoke Testing?
A quick-and-dirty test that the major functions of a piece of software work. Originated in the hardware testing practice of turning on a new piece of hardware for the first time and considering it a success if it does not catch on fire.

5. What is Scalability Testing?
Performance testing focused on ensuring the application under test gracefully handles increases in work load.

6. What is Release Candidate?
A pre-release version, which contains the desired functionality of the final version, but which needs to be tested for bugs (which ideally should be removed before the final version is released).

7. What is Ramp Testing?
Continuously raising an input signal until the system breaks down.

8. What is Race Condition?
A cause of concurrency problems. Multiple accesses to a shared resource, at least one of which is a write, with no mechanism used by either to moderate simultaneous access.

9. What is Quality System?
The organizational structure, responsibilities, procedures, processes, and resources for implementing quality management.

10. What is Quality Policy?
The overall intentions and direction of an organization as regards quality as formally expressed by top management.

Followers