Wednesday, September 11, 2013

Start with Rational Functional tester (RFT)

Welcome to the world of RFT !!! RFT as in Rational Functional Tester. We want to know what is RFT ? How RFT works ? What is the use of RFT ? etc etc. So, let us start with the introduction of RFT.
RFT- Rational Functional Tester. 
Yess !! RFT is nothing but a Tester which tests the functionality. This is a 'Rational' product . Now, Rational has been owned by IBM. So we call RFT as - IBM Rational Functional Tester. 
RFT is used for automation testing of the functionality. So what RFT does is, it makes the manual job of testing easy. How ? The answer is, manually if the tester has to test a functionality then the tester opens the application, does some action on the screen, compares the actual result with the expected result, tells if the functionality test is passed or failed. Now, all this work of entering the data, comparing the results and announcing the result is done by RFT. 
In order to make RFT do the job for us, we have to teach RFT how to do it. This can be done by writing the scripts. These scripts can be written using either Java or .net.
Now let us understand how to write the scripts. There are two ways to do this job.
  • Recording - Click On Record , perform the testing steps manually and once we are done press stop. A '.java' file will get created. In order to run it again and test; press the run button. RFT works !!  
  • Write the scripts(Customization of scripts) - First ask yourself one question. Do I know Java? If Yes go ahead else learn java. In this case, we are going to write our own scripts instead of using RFT recorder. In order to accomplish this create an empty script. A '.java' file gets created. It will have a testMain method. Write the code inside the this method. Compile your code and play. RFT works !!!
This was about the basics of RFT. This article is meant for the beginners who have no idea about RFT.

Wednesday, September 4, 2013

IBM RFT (Rational Functional Tester) & HP QTP (QuickTest Professional)


  • The RFT is capable of generating VBscripts and Java scripts (Java statements). It is Eclipse based. 
  • QTP generates only VBscripts.
  • QTP is GUI based. Autodocumentation is created for each step performed by the user (in the table) in the keyword view and a novice tester finds the tool easy to work with.
  •  RFT requires some programming experience.
  • User actions performed during recording are replayed during playback. Multiple values selected using the shift keys did not work with the RFT. However,multiple select capabilities worked with QTP.
  • RFT has data driven commands to generate different test cases. QTP uses “parameterizing the tests” to generate test cases. However, the output values have to be manually entered with the RFT. With QTP the output values are generated automatically.
  • RFT is cheaper  than QTP
  • The two tools have features that allow one script to call another script & identical activities are not repeated. This process is easily accomplished with the RFT compared to the QTP which requires technical expertise.
  • The tools have smart recognition features which permit reuse of the script on a new build.
  • The test results are displayed in the html/text log for the RFT. 
  • But the QTP display the results in the form of a tree in the test result window. 
  • When the target object was selected, tool gives a visual representation of the snapshot (captured during recording) in the screen recorder.

Wednesday, January 11, 2012

How to test software requirements specification (SRS)?

Do you know “Most of the bugs in software are due to incomplete or inaccurate functional requirements?”  The software code, doesn’t matter how well it’s written, can’t do anything if there are ambiguities in requirements.
It’s better to catch the requirement ambiguities and fix them in early development life cycle. Cost of fixing the bug after completion of development or product release is too high.  So it’s important to have requirement analysis and catch these incorrect requirements before design specifications and project implementation phases of SDLC.
How to measure functional software requirement specification (SRS) documents?
Well, we need to define some standard tests to measure the requirements. Once each requirement is passed through these tests you can evaluate and freeze the functional requirements.
Let’s take an example. You are working on a web based application. Requirement is as follows:
“Web application should be able to serve the user queries as early as possible”
How will you freeze the requirement in this case?
What will be your requirement satisfaction criteria? To get the answer, ask this question to stakeholders: How much response time is ok for you?
If they say, we will accept the response if it’s within 2 seconds, then this is your requirement measure. Freeze this requirement and carry the same procedure for next requirement.
We just learned how to measure the requirements and freeze those in design, implementation and testing phases.
Now let’s take other example. I was working on a web based project. Client (stakeholders) specified the project requirements for initial phase of the project development. My manager circulated all the requirements in the team for review. When we started discussion on these requirements, we were just shocked! Everyone was having his or her own conception about the requirements. We found lot of ambiguities in the ‘terms’ specified in requirement documents, which later on sent to client for review/clarification.
Client used many ambiguous terms, which were having many different meanings, making it difficult to analyze the exact meaning. The next version of the requirement doc from client was clear enough to freeze for design phase.
From this example we learned “Requirements should be clear and consistent”
Next criteria for testing the requirements specification is “Discover missing requirements”
Many times project designers don’t get clear idea about specific modules and they simply assume some requirements while design phase. Any requirement should not be based on assumptions. Requirements should be complete, covering each and every aspect of the system under development.
Specifications should state both type of requirements i.e. what system should do and what should not.
Generally I use my own method to uncover the unspecified requirements. When I read the software requirements specification document (SRS), I note down my own understanding of the requirements that are specified, plus other requirements SRS document should supposed to cover. This helps me to ask the questions about unspecified requirements making it clearer.
For checking the requirements completeness, divide requirements in three sections, ‘Must implement’ requirements, requirements those are not specified but are ‘assumed’ and third type is ‘imagination’ type of requirements. Check if all type of requirements are addressed before software design phase.
Check if the requirements are related to the project goal.
Some times stakeholders have their own expertise, which they expect to come in system under development. They don’t think if that requirement is relevant to project in hand. Make sure to identify such requirements. Try to avoid the irrelevant requirements in first phase of the project development cycle. If not possible ask the questions to stakeholders: why you want to implement this specific requirement? This will describe the particular requirement in detail making it easier for designing the system considering the future scope.
But how to decide the requirements are relevant or not?
Simple answer: Set the project goal and ask this question: If not implementing this requirement will cause any problem achieving our specified goal? If not, then this is irrelevant requirement. Ask the stakeholders if they really want to implement these types of requirements.
In short requirements specification (SRS) doc should address following:
Project functionality (What should be done and what should not)
Software, Hardware interfaces and user interface
System Correctness, Security and performance criteria
Implementation issues (risks) if any

Smoke testing and sanity testing – Quick and simple differences

Despite of hundreds of web articles on Smoke and sanity testing, many people still have confusion between these terms and keep on asking to me. Here is a simple and understandable difference that can clear your confusion between smoke testing and sanity testing.
Here are the differences you can see:
SMOKE TESTING:
  • Smoke testing 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 fire and smoke. In software industry, smoke testing is a shallow and wide approach whereby all areas of the application without getting into too deep, is tested.
  • A smoke test is scripted, either using a written set of tests or an automated test
  • A Smoke test is designed to touch every part of the application in a cursory way. It’s shallow and wide.
  • Smoke testing is conducted to ensure whether the most crucial functions of a program are working, but not bothering with finer details. (Such as build verification).
  • Smoke testing is normal health check up to a build of an application before taking it to testing in depth.
SANITY TESTING:
  • 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.
  • A sanity test is usually unscripted.
  • A Sanity test is used to determine a small section of the application is still working after a minor change.
  • Sanity testing is a cursory testing, it is performed whenever a cursory testing is sufficient to prove the application is functioning according to specifications. This level of testing is a subset of regression testing.
  • Sanity testing is to verify whether requirements are met or not, checking all features breadth-first.
Hope these points will help you to clearly understand the Smoke and sanity tests and will help to remove any confusion.

Related Posts Plugin for WordPress, Blogger...

 
Powered by Blogger