Monday, 24 August 2015

REALTIME MANUAL,QTP,SELENIUM INTERVIEW QUESTIONS




1)  Why do we need testing?
Each and every customer having some expectations so we need to satisfy the all the customer requirements, based on the customer requirements developer developed application right or not, so compulsory we need to do testing


2)  Tell me how have you tested your project?

3)   Write the test case template of your company?
The format of a test case template is given below
TCID
TC TYPE
DESCRIPTION
EV
AV
Result
Severity
Priority
Reference

1
Gui
+ve
-ve
What action v ferforming
Customer
requirement
responce
If it is both same
Pass
Otherwise
fail






5) what is the difference between Sanity and smoke test?

It is a types of testing in which one will conduct over all testing on the released build in order to check whether it is proper for further detailed testing or not so this type of testing is sanity testing
Smoke testing means before releasing the build the developers will conduct the overall testing on the build that is known as smoke testing and once the build is released whatever the test engineers do in order to accept the build is known Sanity Testing.


6) What is RTM?
(Requirement traceability matrix)


It is a document which contains a table of linking information used for tracing back for the reference in any kind of confusion or Questionable situation.


7) What is the proof of Test case?

8) What is debugging?
              Debugging:
                            Debugging is a process of executing the script or  a  program in a user desired passion with some temporary breaks in order to identify the errors
                To do the same QTP has provided step commands and break point feature.

                Step commands: -
                There are three step commands
                        1.Step into
                        2.Step Out
                        3.Step over
                                  4.debug from step
                                  5.run to step

        1.Step into:
Step into is used for executing a single statement then it will step in to the function or action and stops the execution.
        2.Step Out:
                                Step out is used for executing all the remaining statements from the position of pointer in the function of the action and comes out of the function or action and stops execution
        3.Step Over:
                                Step over is used for executing the single statement if that statement is a function call or action call then it will execute all the statements inside the function or action once and stops the execution
        4.debug form step:it work as a run button
        5.it will executes the all the actions and functions


9) Tell us the components of selenium?
Selenium components:
Selenium IDE:  it is set of programs + a user interface from where the user can interact with that set of programs.









Oval: User interface




 




Advantages: 
v Free software
v Easy to install
v Its main feature is record and playback
v  Scripts recorded in IDE can be converted into other language like Java, C#, Python and Ruby
v  It is not only a time saver but also an excellent way of Learning scripts syntax
v We can insert comments, commands

Disadvantages:

v Main disadvantage of IDE is that it runs only in Firefox
  Browser
v We can’t write the script manually
v Cannot upload files
v It does not directly support loops and conditions
v Reading from external files like .txt, .xls is not possible
v We can perform very limited testing

Selenium RC (remote control): it is a set of programs to perform automation testing, to interact with those programs we need to configure them in any user interface. Generally people use eclipse as it is a powerful editor for writing java programs.
Note: after selenium rc they have made selenium web driver as more powerful. Selenium web driver is providing more facilities for automation testing when compare to RC people started using web driver and slowly RC is getting deprecated.







Oval: Programs


Oval: User interface




 





Disadvantages:
v There are very limited features in RC when working with Ajax based UI elements
v  we need to start, stop the server manually
v  Controlling multiple windows is somewhat difficult
Selenium web driver: it is a set of powerful programs to perform automation testing, to interact with those programs we need to configure them in any user interface.
       Generally people use eclipse for configuring the web driver programs into eclipse
Eclipse is a powerful editor for writing the java programs.








Oval: Programs


Oval: User interface




 





Advantages;
1)  Support for iPhone and Android testing
2)  Implementation of listeners - a much awaited feature
3)   Better features for Ajax testing.
4)  You can easily simulate clicking on front and back button of browser.
5)  You can extract objects in bulk like QTP. For ex - extract all links of page. With RC this was a big hastle
6)  Unlike RC you don’t have to start a server in web driver.
7)  You can simulate movement of a mouse using selenium.
8)  ) Tabs and pops are more or less the same. RC can also handle and Web driver can also handle.
9)  You can find coordinates of any object using Web driver.
10)              You have classes in Web driver which help you to simulate key press events of keyboard.
11)              Keyword driven framework is very easy to build in web driver.

Selenium grid:  it is a set of programs used for executing the tests parallel on multiple machines in order to increase the performance of execution.

 To configure the selenium web driver we have to do the following


10)write the workflow of QC?
Quality Center: it has 6 modules
1.  Business module: this module is used by the subject matter experts (SME) to design the components for all the end to end scenario of an application which belongs to a critical domain. Once the business components designed based on than the test engineers will develop the test & perform testing on the application. This type of testing is known as Business process testing.


2.  Requirements: this module is used for the following
Ø It is used for adding the main requirements
Ø It is used for adding the child requirements
Ø It is used for viewing the direct cover status
Ø It is used for used for viewing the review status etc…

3.  Test plan: this module is used for the following
Ø Creating the folder structure
Ø Creating the empty tests
Ø It provides the provision to launch the corresponding automated tool for developing the tests
Ø It provides the provision to write the test cases
Ø It provides the provision to establish a link between tests & requirements

4.  Test Lab: It is used for the following
Ø It is used for creating the folder structure
Ø It provides the provision to build the test sets
Ø It provides the provision to executes test sets & individual test

Once the execution is done, analyzing the results than there is chance do identifying
                   The defects, if at all any defects are found then one will use the next module.
5.  Defect Module: this module is very much similar to a bug tracking tool which provides all the facilities for bug tracking & reporting.

6.   Dash Board: dash board is a special module provided by Quality Center which is used by the manager cadre people for generating common reports access multiple projects.


11)what is Testframe work?
Framework is a generic work (outline work) or a set of guidelines designed by an expert to perform a task in an effective, efficient and optimized way

Types of frame works: - (Mainly)
1.  Linear frame work
2.  Modular frame work
3.  Key-word driven frame work
4.  Hybrid frame work
5.  Data frame work



12)              what is Hybrid and keyworddriven framework?
Hybrid framework is nothing but any mixer of two frameworks is known as hybrid framework

Key word driven framework:
·        Create the folder structure as follows

·        Crate the required test data file and save them in the corresponding folders
·        Create the required shared repository files and save them in the corresponding folder
·        Create the required library files and save them in the corresponding folder
·        Create the required environment files and save them in the corresponding folder
·        Create the required recovery files and save them in the corresponding folder
·        Open the main test and associate all the required files to each
·        Develop the script in such a weather it executes based on the key words specified in the data table








13)              How will you use check points in selenium?
14)              Checking with assertions: assertion is something like a checking statement which is used for checking whether the application is up to the exceptions or not
finding an element, getting attribute value and comparing with expected value



14)what is selenese?

Selenese is a high level, cross-platform and language-independent convention for representing Selenium commands. The term ''Selenese HTML'' is less to do with how you'd target elements in the HTML user interface of the application under test and is more a description of how the commands are formatted.

Selenese is the set of selenium commands which are used to test your web application. Tester can test the broken links, existence of some object on the UI, Ajax functionality, Alerts, window, list options and lot more using selenese.
Selenium command tells selenium automation engine to perform certain tasks. Selenium commands are classified into 3 basic categories.
1.  ActionsCommands which change the state of the application are classified as actions, like click on some link, select some options on the page, select a value from drop down etc. When action is performed on page the test will fail if the action is not successful. Most common action action commands of selenium are:
a. ClickAndWait
b. Click
2.  AccessorsThese commands check the state of the application and stores the application state in some variable. Some examples of accessors are as follows.a. storeTitle
b. storeTextAccessors are also used to evaluate whether the desired result is present on the page and store the result in the variable.
Examples:
a. storeTextPresent: If text is found on the page then it stores the boolean value as true else store false.
b. storeElementPresent: If UI element is present on the page then it stores boolean value as true else stores false.
3.  AssertionsAssertions are used like the checkpoints or verification points in automation. Assertion verifies the state of the application conforms to the expected state.Example:a. verifyText
b. verifyTitle
c. assertText


15)what is test scenario
Scenario is nothing but situation
What we need  t5o be tested will be listed out here

Ex:login application testing






16)what is Test plan and test strategy?
Test Plan: -
        It is a strategic document, which describes how to perform testing on an application in an effective, efficient and optimized way.

Test strategy is defined as an organizational level term, which is used for testing all the projects in the organization.

Test Plan: -
        It is defined as a project level term, which is used for testing a particular project in the organization.

Note: - Test strategy is common for all the projects but the test plan is specific for a particular project


17)what is the diff between regression and Retesting
2.Regression Testing: -

        It is a type of testing in which one will perform testing on the already tested functionalities again and again.
It is usually done in two scenarios.

1.  Whenever the testers has raised the defects, rectified by the developers and next build is released to the testing department then the test engineer’s will test the defect functionality as well as the related functionality once again.
2.  When ever some new features are incorporated by the developers, next build is released to the testing department then the test engineers will once again test the related functionalities of the new features in order to confirm that they are working same as previous.

Note: - Testing the new functionalities for the first time is known as new testing but not Regression Testing.

3.Re-Testing: -

        It is a type of testing in which one will test the same functionality again and again with different sets of values in order to come to a conclusion whether it is working or not.


18) Expalin the waterfall model?

Based on the customer requirements companies will choose sdlc models
Waterfall model is the one of the model
Any model we can implements the all the faces of software development life cycle 6 phases
Like
1.  Initial phase or requirements phase.
2.  Analysis phase
3.  Design phase
4.  Coding Phase
5.  Testing Phase
6.  Delivery & Maintenance Phase.                                                     



Whenever customer having clear requirements then they will choose this model
Advantages:
                It is a simple model
                Project monitoring & maintenance is very easy
Less time taking model
Drawbacks:

                Con not accept the new requirements in the middle of the project





19) how different is agile model differ from water fall?

Agile Vs Waterfall Model

It is worth mentioning here that the Waterfall model is the primitive model type and has been implemented in the development phase time after time. Hence in the due course if time developers found many drawbacks in this model which were later rectified to form various other development models.
The common element to all of them being the basic phases of the waterfall approach. We can hence conclude that Agile is also another of its successors which has all the advantages of the primitive waterfall model and has also rectified the disadvantages in this evolved model.

Difference between Agile and Waterfall Model

1.  The main advantage is the backward scalability in Agile. Under waterfall approach we cannot change the decisions and implementations that we had made under the previous stages. If we want to make changes under waterfall we will have to build the entire project from the scratch once again.
2.  The flexibility to error check under any part of the development stage makes Agile more bug free and less erroneous as compared to Waterfall which can only test bugs at the end of the development module.
3.  Since Agile provides flexibility to make changes as per customer requirements it is more inclined towards better client satisfaction. This is a real set back for the Waterfall model which doesn’t allow any modifications once the module has been completed.
4.  Under Agile development modular partitioning of the software can be effectively carried out as compared to its counterpart. Though both of them allows option for segregation the later lacks the modifications in the implementation stage. The rules are set down before the commencement of the project hence it hinders further break down of the logical module. Whereas Agile can be of great help under such situations and can allow simultaneous development of different modules at the same time as per time bound requirement. If we want the project to be more segregated Agile comes as a pain relief for developers.



20) Explain agile methodology
Agile testing is a software testing practice that follows the principles of agile software development. Agile testing does not emphasize testing procedures and focuses on ongoing testing against newly developed code until quality software from an end customer's perspective results. Agile testing is built upon the philosophy that testers need to adapt to rapid deployment cycles and changes in testing patterns.

Figure 1. Agile Model Driven Development (AMDD) at the enterprise level.

 Challenges With Current Approaches

1.  There isn’t an enterprise architecture effort
2.  Skewed focus
3.  Project teams don’t know the enterprise architecture exists
4.  Project teams don’t follow the enterprise architecture.  
5.  Project teams don’t work with the enterprise architects.  
6.  Outdated architecture.   
7.  Narrowly focused architecture models.
8.  Dysfunctional “charge back” schemes.
9.  A “do all this extra work because it’s good for the company” attitude.  





Advantages
Ø  No Detail requirement needed
Ø  Face to face communication
Ø  High Quality
Disadvantages
Ø cost estimation may not be correct
Ø Need clear customer vision
The pressure for development organizations in software companies to provide greater value continues to increase. Better, faster and cheaper is the mantra. But this is a challenge with the increasing software complexity and reduced time to market demand. Further, incomplete or vague product specifications do not help. Consider this data:
·         31% projects get cancelled before they get completed
·         53% projects cost 189% of their original estimates
·         We often build stuff that is thrown away
For all these problems, AGILE is the answer.
Symphony's Global Agile™ methods improve the overall productivity of the development organization and communication between onshore and offshore teams. Symphony has more than 300 resources using Global Agile™ development methodologies, such as SCRUM and DSDM. While many think Agile is best practiced when team members are all in the same room, Symphony has adapted the process to a multi-shore environment, to make what some thought to be close to impossible, extremely dynamic and productive.
The fundamental assumption of Agile is that nothing is built perfectly the first time, but that a usable and useful 80% of the proposed system can be produced in 20% of the time. Adaptability rather than predictability, people rather than development process, and collaborative values and principles are at the core of the AGILE philosophy. Agile programming has the following benefits:
·         Higher Productivity: Agile teams are self-organizing, by definition, with no true "leader." In this format all team members contribute and gain wider product knowledge in a shorter period, enhancing flexibility in resource deployment as well as a better understanding of the business issues that create more opportunities for innovative solutions. A strong sense of teamwork, trust and ownership ensures stronger dedication and output. In addition, after each Sprint, reviews determine what improvements can be made for the next round further enhancing productivity.
·         Responsiveness to Change: Agile assumes that all requirements cannot be known at the start. Shorter build periods, daily check-ins and re-prioritization allows for the greater flexibility required in an ever-changing world.
·         Better Communication, Visibility and Control: Agile demands ongoing communication between onshore and offshore teams and between development and product marketing. Rapid development cycles and daily check-ins for feature and schedule refinement ensure transparency on progress.
·         Higher Quality: Agile places a premium on quality – working software is the way to measure progress in Agile. Continuous integration and regression testing result in catching bugs very early in the development cycle, resulting in quality improvement and reduced cost of quality.



No comments:

Post a Comment