MOBILE TESTING CHECKLIST

February 5, 2014 Leave a comment

Source: https://hackpad.com/MOBILE-TESTING-CHECKLIST-xmKUV3boruR

Setting up a mobile test lab

  • What mobile devices will you use to test?
  • What devices are officially supported?
  • make a decision based on user stats
  • When to use simulators
  • When not to use simulators?
  • How to charge the devices
  • Where to store the devices
  • How will you load apps onto multiple devices?

What makes a mobile app or website accessible?

  • Does it work with text to speech apps?
  • How large can the font be?
  • How large can on-screen buttons and navigation be?
  • Is there voice activation / control?
  • Does it work with text speech apps

What makes a mobile app or website social?

  • How easy is to register, log in and remain in the app / site?
  • Has the app / website social authentication method support?
  • How easy is to share media content, links, or files as well as comments / notes?

What makes a mobile app or website a powerful experience?

  • It’s intuitive and easy to learn?
  • Can the user increase her/his ability to operate the app / site?
  • How easy is to perform a complex flow?
  • How simple is a simple flow?

What makes a mobile app secure?

  • Can the app be decompiled?
  • How secure is the connection to the cloud server, if used? Can the data in transit be intercepted and decoded?
  • Is any data and temporary data that the app uses stored securely on the device?
  • Is all app data removed when the app is uninstalled?
  • Is the app is obfuscated using ProGuard/DexGuard (Android only)
  • Does the app authenticate? How?

                    

About The Product 

  • Can I download the app?
  • Can I download an update?
  • Can I update the app when there are multiple updates? What happens if I don’t update?
  • What happens when the OS is updated?
  • What should it work with? OS. Platforms. Browsers.
  • Can I uninstall the app?
  • Can I re-install the app?
  • After I update, is my data safe?
  • Can I downgrade? Should I be able to downgrade?

How is data saved? 

  • Does the app write to the SD card?
  • What happens if it is filled/full? What happens if it is removed?
  • What happens if it is changed?
  • Is data saved online (in the cloud)?
  • Is the data saved securely?

Functional Testing – What Does It Do? 

  • Does the app perform the designed tasks?
  • Does the app perform non-designed tasks?
  • Is prevention of actions adequate?
  • Does the app ask me to turn on services? Location specific. Wifi. Social media.
  • Is the user redirected? To full site. From app to web. From web to app. What do errors look like?
  • UI – does the UI and design work as intended? Is there room for misunderstanding or error? Is the UI appropriate for the form factor (phone vs tablet, screen size, resolution, existence of hardware buttons / keyboard)
  • Is it accessible?
  • Does it comply with any standards, good practice or guidelines?
  • Is the mobile app consistent with a desktop version if it exists?
  • There are a lot of devices available on the market. How we’re choosing the right devices used in our testing process?

Data – Testing What It Processes 

  • How does time apply to the app? Based on phone time? Server time? Consider different time zones.
  • What does it track and update? Reward points? Friends. Purchases. Check-ins
  • Does it sync?
  • Web Services calls made in mobile app (how to debug the requests)
  • Does it update?
  • What happens when it can’t sync or update?
  • Is there consistency between web and mobile?
  • What clues can analytics provide?
  • History – how are things saved? User details? Data?
  • Data input / output – what goes in and out. Locations. Preferences. Friends. Contacts. Languages. Files. Size. Media.
  • Offline
  • Connected but with no Internet connectivity (e.g. have WiFi connection to router, but Internet connection is down)
  • Connecting through a paywall and haven’t yet authenticated e.g. Wifi in Starbucks, local pub etc
  • Web filtering rejected the request

Platform – What Does It Depend On?

  • Device settings. Default settings and non-default settings.
  • What permissions does the app need? Are they appropriate? On platforms that prompt for some permissions (e.g. Contacts on iOS), does the app handle rejection well?
  • What tablet device is being used? What version of hardware or software?
  • On app store – Submission requirements. User guides. Development specs 3G / Wifi – Reliability. Strength. Availability. Hotspots. Dead spots.
  • Content – Text size. Content adjustment. Responsive design.
  • UI – Touchscreen gestures – Swipe. Zoom. Pinch. Multi touch. Shake. Orientation.
  • Peripherals – Keyboards. Mifi devices. BT peripherals, iBeacon, Syncing Peripherals
  • Software – GPS (Location Services). Email. Standard /pre-installed Software? Multi-tasking / Switching between apps
  • NFC
  • Use of camera
  • Long usage tests
  • Affect on battery life
  • Running when the device is locked

Operations – How is it used?

  • Connectivity
  • Moving about
  • None
  • Wifi
  • 3G
  • 4G
  • Intermittent
  • Airplane mode
  • NFC
  • Through a proxy

Interruptions 

  • Phone calls
  • Text messages
  • App notifications
  • Battery
  • Forced updates
  • Voicemail
  • Locking and unlocking the screen
  • Music playing while using the app
  • MAM/MDM solution running on the device
  • Out of memory (general performance interruptions)

Rumors / Social Proof

  • What are people saying about it?
  • App reviews
  • App ratings / comments
  • Comments on the (social) web
  • Similar applications
Categories: Mobile Testing

GUI Testing Checklist

This GUI test checklist can ensure that all the GUI components are thoroughly tested. In the first part of this checklist, we will cover Windows compliance standard and some test ideas for field specific tests.

Windows Compliance Standards

These compliance standards are followed by almost all the windows based application. Any variance from these standards can result into inconvenience to the user. This compliance must be followed for every application. These compliances can be categorized according to following criteria

Compliance for each application

  • Application should be started by double clicking on the icon.
  • Loading message should have information about application name, version number, icon etc.
  • Main window of application should have same caption as the icon in the program manager.
  • Closing of the application should result in “Are you sure?” message.
  • Behaviour for starting application more than once must be specified.
  • Try to start application while it is loading
  • On every application, if application is busy it should show hour glass or some other mechanism to notify user that it is processing.
  • Normally F1 button is used for help. If your product has help integrated, it should come by pressing F1 button.
  • Minimize and restoring functionality should work properly
  • Compliance for each window in the application
  • Window caption for every application should have application name and window name. Specially, error messages.
  • Title of the window and information should make sense to the user.
  • If screen has control menu, use the entire control menu like move, close, resize etc.
  • Text present should be checked for spelling and grammar.
  • If tab navigation is present, TAB should move focus in forward direction and SHIFT+TAB in backward direction.
  • Tab order should be left to right and top to bottom within a group box.
  • If focus is present on any control, it should be presented by dotting lines around it.
  • User should not be able to select greyed or disabled control. Try this using tab as well as mouse.
  • Text should be left justified
  • In general, all the operations should have corresponding key board shortcut key for this.
  • All tab buttons should have distinct letter for it.

Text boxes

  • Move mouse to textbox and it should be changed to insert bar for editable text field and should remain unchanged for non-editable text field.
  • Test overflowing textbox by inserting as many characters as you can in the text field. Also test width of the text field by entering all capital W.
  • Enter invalid characters, special characters and make sure that there is no abnormality.
  • User should be able to select text using Shift + arrow keys.
  • Selection should be possible using mouse and double click should select entire text in the text box.

Radio Buttons

  • Only one should be selected from the given option.
  • User should be able to select any button using mouse or key board
  • Arrow key should set/unset the radio buttons.

Check boxes

  • User should be able to select any combination of checkboxes
  • Clicking mouse on the box should set/unset the checkbox.
  • Spacebar should also do the same

Push Buttons

  • All buttons except OK/Cancel should have a letter access to them. This is indicated by a letter underlined in the button text. The button should be activated by pressing ALT
  • Clicking each button with mouse should activate it and trigger required action.
  • Similarly, after giving focus SPACE or RETURN button should also do the same.
  • If there is any Cancel button on the screen, pressing Esc should activate it.

Drop down list boxes

  • Pressing the arrow should give list of options available to the user. List can be scrollable but user should not be able to type in.
  • Pressing Ctrl-F4 should open the list box.
  • Pressing a letter should bring the first item in the list starting with the same letter.
  • Items should be in alphabetical order in any list.
  • Selected item should be displayed on the list.
  • There should be only one blank space in the dropdown list.

Combo Box

  • Similar to the list mentioned above, but user should be able to enter text in it.

List Boxes

  • Should allow single select, either by mouse or arrow keys.
  • Pressing any letter should take you to the first element starting with that letter
  • If there are view/open button, double clicking on icon should be mapped to these behaviour.
  • Make sure that all the data can be seen using scroll bar.

Hope this checklist will help you in testing your GUI components in a better way. In next template, TestingGeek will discuss information about field specific tests and usage of shortcuts in the application GUI.

Important interview questions for QA

Please find below mentioned questions…good to know all these things before get into Software QA job. And Most important …i know that you guyz can get all these information @ internet or google…it, but my intention is to collect&share all types of QA interview questions..so that you guyz can pass/refer to rest of your friendz..

1. What types of documents would you need for QA, QC, and Testing?

2. What did you include in a test plan?

3. Describe any bug you remember.

4. What is the purpose of the testing?

5. What do you like (not like) in this job?

6. What is quality assurance?

7. What is the difference between QA and testing?

8. How do you scope, organize, and execute a test project?

9. What is the role of QA in a development project?

10. What is the role of QA in a company that produces software?

11. Define quality for me as you understand it

12. Describe to me the difference between validation and verification.

13. Describe to me what you see as a process. Not a particular process, just the basics of having a process.

14. Describe to me when you would consider employing a failure mode and effect analysis.

15. Describe to me the Software Development Life Cycle as you would define it.

16. What are the properties of a good requirement?

17. How do you differentiate the roles of Quality Assurance Manager and Project Manager?

18. Tell me about any quality efforts you have overseen or implemented. Describe some of the challenges you faced and how you overcame them.

19. How do you deal with environments that are hostile to quality change efforts?

20. In general, how do you see automation fitting into the overall process of testing?

21. How do you promote the concept of phase containment and defect prevention?

22. If you come onboard, give me a general idea of what your first overall tasks will be as far as starting a quality effort.

23. What kinds of testing have you done?

24. Have you ever created a test plan?

25. Have you ever written test cases or did you just execute those written by others?

26. What did your base your test cases?

27. How do you determine what to test?

28. How do you decide when you have ‘tested enough?’

29. How do you test if you have minimal or no documentation about the product?

30. Describe me to the basic elements you put in a defect report?

31. How do you perform regression testing?

32. At what stage of the life cycle does testing begin in your opinion?

33. How do you analyze your test results? What metrics do you try to provide?

34. Realising you won’t be able to test everything – how do you decide what to test first?

35. Where do you get your expected results?

36. If automating – what is your process for determining what to automate and in what order?

37. In the past, I have been asked to verbally start mapping out a test plan for a common situation, such as an ATM. The interviewer might say, “Just thinking out loud, if you were tasked to test an ATM, what items might you test plan include? “These type questions are not meant to be answered conclusively, but it is a good way for the interviewer to see how you approach the task.

38. If you’re given a program that will average student grades, what kinds of inputs would you use?

39. Tell me about the best bug you ever found.

40. What made you pick testing over another career?

41. What is the exact difference between Integration & System testing, give me examples with your project.

42. How did you go about testing a project?

43. When should testing start in a project? Why?

44. How do you go about testing a web application?

45. Difference between Black & White box testing

46. What is Configuration management? Tools used?

47. What do you plan to become after say 2-5yrs (Ex: QA Manager, Why?)

48. Would you like to work in a team or alone, why?

49. Give me 5 strong & weak points of yours

50. Why do you want to join our company?

51. When should testing be stopped?

52. What sort of things would you put down in a bug report?

53. Who in the company is responsible for Quality?

54. Who defines quality?

55. What is an equivalence class?

56. Is a “A fast database retrieval rate” a testable requirement?

57. Should we test every possible combination / scenario for a program?

58. What criteria do you use when determining when to automate a test or leave it manual?

59. When do you start developing your automation tests?

60. Discuss what test metrics you feel are important to publish an organization?

61. In case anybody cares, here are the questions that I will be asking:

62. Describe the role that QA plays in the software lifecycle.

63. What should Development require of QA?

64. What should QA require of Development?

65. How would you define a “bug?”

66. Give me an example of the best and worst experiences you’ve had with QA.

67. How does unit testing play a role in the development / software lifecycle?

68. Explain some techniques for developing software components with respect to testability.

69. Describe a past experience with implementing a test harness in the development of software.

70. Have you ever worked with QA in developing test tools? Explain the participation Development should have with QA in leveraging such test tools for QA use.

71. Give me some examples of how you have participated in Integration Testing.

72. How would you describe the involvement you have had with the bug-fix cycle between Development and QA?

73. What is unit testing?

74. Describe your personal software development process.

75. How do you know when your code has met specifications?

76. How do you know your code has met specifications when there are no specifications?

77. Describe your experiences with code analyzers.

78. How do you feel about cyclomatic complexity?

79. Who should test your code?

80. How do you survive chaos?

81. What processes / methodologies are you familiar with?

82. What type of documents would you need for QA / QC / Testing? 83. How can you use technology to solve problem?

84. What type of metrics would you use?

85. How to find that tools work well with your existing system?

86. What automated tools are you familiar with?

87. How well you work with a team?

88. How would you ensure 100% coverage of testing?

89. How would you build a test team?

90. What problem you have right now or in the past? How you solved it?

91. What will you do during the first day of job?

92. What would you like to do five years from now?

93. Tell me about the worst boss you’ve ever had.

94. What are your greatest weaknesses?

95. What are your strengths?

96. What is a successful product?

97. What do you like about Windows?

98. What is good code?

99. Who is Kent Beck, Dr Grace Hopper, Dennis Ritchie?

100. What are basic, core, practises for a QA specialist?

101. What do you like about QA?

102. What has not worked well in your previous QA experience and what would you change?

103. How you will begin to improve the QA process?

104. What is the difference between QA and QC?

105. What is UML and how to use it for testing?

106. What is CMM and CMMI? What is the difference?

107. What do you like about computers?

108. Do you have a favourite QA book? More than one? Which ones? And why.

109. What is the responsibility of programmers vs QA?

110. What are the properties of a good requirement?

111. Ho to do test if we have minimal or no documentation about the product?

112. What are all the basic elements in a defect report? ____________________________________________________________________________________

Additional Questions for interview purpose… (Some questions may repeat again…)

1. What is Software Testing?

2. What is the Purpose of Testing?

3. What types of testing do testers perform?

4. What is the Outcome of Testing?

5. What kind of testing have you done?

6. What is the need for testing?

7. What are the entry criteria for Functionality and Performance testing?

8. What is test metrics?

9. Why do you go for White box testing, when Black box testing is available?

10. What are the entry criteria for Automation testing?

11. When to start and Stop Testing?

12. What is Quality?

13. What is Baseline document, Can you say any two?

14. What is verification?

15. What is validation?

16. What is quality assurance?

17. What is quality control?

18. What is SDLC and TDLC?

19. What are the Qualities of a Tester?

20. When to start and Stop Testing?

21. What are the various levels of testing?

22. What are the types of testing you know and you experienced?

23. What exactly is Heuristic checklist approach for unit testing?

24. After completing testing, what would you deliver to the client? 25. What is a Test Bed?

26. What is a Data Guidelines?

27. Why do you go for Test Bed?

28. What is Severity and Priority and who will decide what?

29. Can Automation testing replace manual testing? If it so, how? 30. What is a test case?

31. What is a test condition?

32. What is the test script?

33. What is the test data?

34. What is an Inconsistent bug?

35. What is the difference between Re-testing and Regression testing?

36. What are the different types of testing techniques?

37. What are the different types of test case techniques?

38. What are the risks involved in testing?

39. Differentiate Test bed and Test Environment?

40. What ifs the difference between defect, error, bug, failure, fault? 41. What is the difference between quality and testing?

42. What is the difference between White & Black Box Testing?

43. What is the difference between Quality Assurance and Quality Control?

44. What is the difference between Testing and debugging?

45. What is the difference between bug and defect?

46. What is the difference between verification and validation?

47. What is the difference between functional spec. and Business requirement specification?

48. What is the difference between unit testing and integration testing?

49. What is the diff between Volume & Load?

50. What is diff between Volume & Stress?

51. What is the diff between Stress & Load Testing?

52. What is the Diff between Two Tier & Three tier Architecture?

53. What is the diff between Client Server & Web Based Testing?

54. What is the diff between Integration & System Testing?

55. What is the Diff between Code Walkthrough & Code Review?

56. What is the diff between walkthrough and inspection?

57. What is the Diff between SIT & IST?

58. What is the Diff between static and dynamic?

59. What is the diff between alpha testing and beta testing?

60. What are the Minimum requirements to start testing?

61. What is Smoke Testing & when it will be done?

62. What is Adhoc Testing? When it can be done?

63. What is cookie testing?

64. What is security testing?

65. What is database testing?

66. What is the relation ship between Quality & Testing?

67. How do you determine, what to be tested?

68. How do you go about testing a project?

69. What is the Initial Stage of testing?

70. What is Web Based Application Testing?

71. What is Client Server Application Testing?

72. What is Two Tier & Three tier Architecture?

73. What is the use of Functional Specification?

74. Why do we prepare test condition, test cases, test script (Before Starting Testing)?

75. Is it not waste of time in preparing the test condition, test case & Test Script? 7

6. How do you go about testing of Web Application?

77. How do you go about testing of Client Server Application?

78. What is meant by Static Testing?

79. Can the static testing be done for both Web & Client Server Application?

80. In the Static Testing, what all can be tested?

81. Can test condition, test case & test script help you in performing the static testing?

82. What is meant by dynamic testing?

83. Is the dynamic testing a functional testing?

84. Is the Static testing a functional testing?

85. What are the functional testing you perform?

86. What is meant by Alpha Testing?

87. What kind of Document you need for going for an Functional testing?

88. What is meant by Beta Testing?

89. At what stage the unit testing has to be done?

90 Who can perform the Unit Testing?

91. When will the Verification & Validation be done?

92. What is meant by Code Walkthrough?

93. What is meant Code Review?

94. What is the testing that a tester performs at the end of Unit Testing?

95. What are the things, you prefer & Prepare before starting Testing?

96. What is Integration Testing?

97. What is Incremental Integration Testing?

98. What is meant by System Testing?

99. What is meant by SIT?

100 .When do you go for Integration Testing?

101 Can the System testing be done at any stage?

102. What are stubs & drivers?

103. What is the Concept of Up-Down & Down-Up in Testing in integration testing?

104. What is the final Stage of Integration Testing?

105. Where in the SDLC, the Testing Starts?

106. What is the Outcome of Integration Testing?

107. What is meant by GUI Testing?

108. What is meant by Back-End Testing?

109. What are the features, you take care in Prototype testing?

110. What is Mutation testing & when can it be done?

111. What is Compatibility Testing?

112. What is Usability Testing?

113 What is the Importance of testing?

114. What is meant by regression Testing?

115. When we prefer Regression & what are the stages where we go for Regression Testing?

116. What is performance testing?

117. What is the Performance testing; those can be done Manually & Automatically?

118 What is Volume, Stress & Load Testing?

119. What is a Bug?

120. What is a Defect?

121. What is the defect Life Cycle?

122. What is the Priority in fixing the Bugs?

123. Explain the Severity you rate for the bugs found?

124. Diff between UAT & IST?

125. What is meant by UAT?

126. What all are the requirements needed for UAT?

127. What are the docs required for Performance Testing?

128. What is risk analysis?

129. How to do risk management?

130. What are test closure documents?

131. What is traceability matrix?

132. What ways you followed for defect management?

Source:

http://kiranusa.wordpress.com

Categories: Interview Questions

Interview Questions on Agile Development

November 29, 2012 Leave a comment

Interview Questions on Agile Development Methodologies

1) What is Agile Development model and explain about different methodologies in Agile Software development?

Agile Development model is an Incremental or iterative model,
It has several methodologies,

Types of Agile Methodologies

o Scrum

o Extreme Programming (XP)

o Agile Unified Process (AUP)

o Dynamic Systems Development Method (DSDM)

o Essential Unified Process (EssUP)

o Exia Process (ExP)

o Feature Driven Development (FDD)

o Open Unified Process (OpenUP)

o Crystal Clear

o Velocity tracking

2) What is the difference between Agile and Waterfall 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.

3) How Agile is different?

Agile is different because
a) Greater Collaboration.
b) Shorter work cycle and constant feedback.
c)  Need to embrace Change.
d) Greater flexibility.
e) Greater discipline.
f) Greater stakeholder accountability.
g) Greater range of skills.

4) What are the implications for testing in Agile?

– Agile testing must be iterative.
– Testers cannot rely on having complete specification.
– Agile testers must be flexible.

5) What are the Agile quality strategies?

Agile quality strategies are:
a) Re-factoring.
b) Non-solo development.
c) Static and dynamic code analysis
d) Reviews and inspection
– Iteration/sprint demos
– All-hands demo
– Light-weight milestone reviews
e) Short feedback cycles.
f) Standards and guidelines.

6) Explain about the Agile process?

The agile process follows the software development life cycle which includes requirements gathering, analysis, design, coding, testing and delivers partially implemented software and waits for the customer feedback. In the whole process, customer satisfaction is at highest priority with faster development time.

7) What are the new features of agile process?
In agile process new features can be added easily by using multiple iterations.

1. Iterative: The main objective of agile software processes is satisfaction of customers, so it focuses on single requirement with multiple iterations.
2. Modularity
Agile process decomposes the complete system into manageable pieces called modules. Modularity plays a major role in software development processes.
3. Time Boxing
As agile process is iterative in nature, it requires the time limits on each module with respective cycle.
4. Parsimony
In agile processes parsimony is required to mitigate risks and achieve the goals by minimal number of modules.
5. Incremental
As the agile process is iterative in nature, it requires the system to be developed in increments, each increment is independent of others, and at last all increments are integrated into complete system.
6. Adaptive
Due to the iterative nature of agile process new risks may occurs. The adaptive characteristic of agile process allows adapting the processes to attack the new risks and allows changes in the real time requirements.
7. Convergent
All the risks associated with each increment are convergent in agile process by using iterative and incremental approach.
9. Collaborative
As agile process is modular in nature, it needs a good communication among software development team.
Different modules need to be integrated at the end of the software development process.
10. People Oriented
In the agile processes customer satisfaction is the first priority over the technology and process. A good software development team increases the performance and productivity of the software.

8) Where the agile methods focus on?

The agile methods are focused on different aspects of the software development life cycle. Some focus on the practices (extreme programming, pair programming), while others focus on managing the software projects (the scrum approach).

9) What are the benefits of Agile Modeling?

Agile methodology has an adaptive team which is able to respond to the changing requirements.
The team does not have to invest time and effort and finally find that by the time they delivered the product, the requirement of the customer has changed.
Face to face communication and continuous inputs from customer representative leaves no space for guesswork.
The documentation is crisp and to the point to save time.
The end result is the high quality software in least possible time duration and satisfied customer.

Database Testing questions asked by Interviewer @IGATE

October 13, 2012 Leave a comment

Below are the few database testing questions which have been asked by interviewer when I’ve attended the  IGATE walk-in Drive.

Company: Patni Computer System ( Now it’s iGATE)

Interview Type: Walk-in Drive

Date :  18th September 2010, Saturday

  • What is Database testing & What we normally check for in the Database Testing?
  • How to Test database in Manually? Explain with an example.
  • What is data driven test?
  • How to check a trigger is fired or not, while doing database testing?
  • How to Test Database Procedures and Triggers?
  • Is a “A fast database retrieval rate” a testable requirement?
  • What SQL statements have you used in Database Testing?
  • What are different Joins, Give example of each.
  • Can you delete a parent table record if there is a child table record exits? How ?
  • What is Referential Integrity.
  • What is RowID
  • How to know the database version
  • How to execute SQL script in Query window
  • How to create temporary variable
  • How to print an Environment variable
  • What is meant by Database user, how it is different from Login

Knowledge Work Book – Interview Question Bank(QA)

August 24, 2012 1 comment

Company: Cybage Software [An SEI-CMMI Level 5 assessed &  V1.3 Company]  www.cybage.com

Interview Type: Walk-in/Referral walk-in

Date: 11th August 2012

Venue: CT1, Kalyaninagar, PUNE

Rakesh Hansalia (QA, Cybage, Gandhinagar )  http://www.linkedin.com/in/rakeshhansalia
Below are the questions which were asked to the candidates in the walk-in interview for QA position:

1)      Describe yourself

2)      Describe your current project?

3)      Which is the android latest version?

4)      What is the difference between Android 2.1 and Android 2.2?

5)      Oops concepts.

6)      Difference between a class and a interface.

7)      Different version control.

8)      SQL queries.

9)      Do you have any idea of join in sql?

10)  Test case format

11)  What are smoke, regression and functional testing?

12)  Bug Life cycle

13)  What is equivalence partitioning?

14)  How to identify an object in selenium and QTP?

15)  How to display a message in Selenium?

16)  Different views in QTP.

17)  Different modes in QTP.

18)  What is test automation framework?

19)  What are different types of automation frameworks?

20)  How you do security testing for an application?

21)  What content you include in test status report?

22)  How you have mentored your team? ( This question is applicable if you have written in your CV that you have mentored)

23)  Have you prepared test plan? If yes, then what content you include in test plan?

24)  Would you like to ask any questions from us?

25)  Describe application certification testing.

26)  How you do certification testing?

27)  What role you are playing in your current company?

28)  What are the differences and similarity between the mobile app which you are testing in your current project with the app if you tested it on windows?

29)  Difference between System testing and Functional testing.

30)  3 most important test scenarios for a pen.

31)  3 least important test scenarios for a pen from user point of view.

32)  Suppose 100 requirements are there, how will you estimate them?

33)  Suppose 1000 tcs are there, will you run all 1000 tcs on all devices?

34)  3 assert commands.

35)  Difference between Selenium Web driver, RC and IDE.

36)  Rate yourself for automation.

37)  What are the components of QTP?

38)  Do you have knowledge of sql?

39)  What is compatibility testing? Is compatibility testing functional or non functional?

40)  What is non-functional testing?

41)  Relate usability and reliability with your current project.

42)  Suppose somebody is not comfortable with you in your team and he/she does not tell anybody what he/she feels but you know that your peer is not comfortable then what will you do?

43)  If you have mentioned hobbies in your resume, then they can ask you questions related to your hobbies.

44)  Do you have any questions which you want to ask?

45)  What is root cause analysis?

46)  3 scenarios for which you as a tester can’t do root cause analysis or help developer to know the what is the reason for a bug?

47)  write a c program to create a pattern :       1

2 2

3  3  3

48) What is stdio.h?

49) What is a library?

50) Tell me the names of 3 libraries.

51) Tell me the names of 5 automation tools for mobile.

52) Suppose you are the only resource and work is of 3 days and you have to complete it in 2 days, then what will you do?

53) Suppose you have to select device for an application which should work on latest as well as previous Android versions, then which device will you select?

54) What is polymorphism?

Penetration Testing – Complete Guide with Sample Test Cases

June 30, 2012 1 comment

What is Penetration Testing?
It’s the process to identify security vulnerabilities in an application by evaluating the system or network with various malicious techniques. Purpose of this test is to secure important data from outsiders like hackers who can have unauthorized access to system. Once vulnerability is identified it is used to exploit system in order to gain access to sensitive information.

Causes of vulnerabilities:
– Design and development errors
– Poor system configuration
– Human errors

Why Penetration testing?

– Financial data must be secured while transferring between different systems
– Many clients are asking for pen testing as part of the software release cycle
– To secure user data
– To find security vulnerabilities in an application

Penetration testing

It’s very important for any organization to identify security issues present in internal network and computers. Using this information organization can plan defense against any hacking attempt. User privacy and data security are the biggest concerns nowadays. Imagine if any hacker manage to get user details of social networking site like Facebook. Organization can face legal issues due to a small loophole left in a software system. Hence big organizations are looking for PCI compliance certifications before doing any business with third party clients.

What should be tested?
– Software
– Hardware
– Network
– Process

Penetration Testing Types:

1) Social Engineering: Human errors are the main causes of security vulnerability. Security standards and policies should be followed by all staff members to avoid social engineering penetration attempt. Example of these standards include not to mention any sensitive information in email or phone communication. Security audits can be conducted to identify and correct process flaws.

2) Application Security Testing: Using software methods one can verify if the system is exposed to security vulnerabilities.

3) Physical Penetration Test: Strong physical security methods are applied to protect sensitive data. This is generally useful in military and government facilities. All physical network devices and access points are tested for possibilities of any security breach.

Pen Testing Techniques:
1) Manual penetration test
2) Using automated penetration test tools
3) Combination of both manual and automated process
The third process is more common to identify all kinds of vulnerabilities.

Penetration Testing Tools:

Automated tools can be used to identify some standard vulnerability present in an application. Pentest tools scan code to check if there is malicious code present which can lead to potential security breach. Pentest tools can verify security loopholes present in the system like data encryption techniques and hard coded values like username and password.

Criteria to select the best penetration tool:
– It should be easy to deploy, configure and use.
– It should scan your system easily.
– It should categorize vulnerabilities based on severity that needs immediate fix.
– It should be able to automate verification of vulnerabilities.
– It should re-verify exploits found previously.
– It should generate detailed vulnerability reports and logs.

Once you know what tests you need to perform you can either train your internal test resources or hire expert consultants to do the penetration task for you.

Examples of Free and Commercial Tools
Nmap, Nessus, Metasploit, Wireshark, OpenSSL, Cain & Abel, THC Hydra, w3af
Commercial services: Pure Hacking, Torrid Networks, SecPoint, Veracode.

Limitations of Pentest tools: Sometimes these tools can flag false positive output which results in spending more developer time on analyzing such vulnerabilities which are not present.

Manual Penetration Test:

It’s difficult to find all vulnerabilities using automated tools. There are some vulnerabilities which can be identified by manual scan only. Penetration testers can perform better attacks on application based on their skills and knowledge of system being penetrated. The methods like social engineering can be done by humans only. Manual checking includes design, business logic as well as code verification.

Penetration Test Process:
Let’s discuss the actual process followed by test agencies or penetration testers. Identifying vulnerabilities present in system is the first important step in this process. Corrective action is taken on these vulnerability and same penetration tests are repeated until system is negative to all those tests.

We can categorize this process in following methods:
1) Data collection: Various methods including Google search are used to get target system data. One can also use web page source code analysis technique to get more info about the system, software and plugin versions. There are many free tools and services available in the market which can give you information like database or table names, DB versions, software versions, hardware used and various third party plugins used in the target system.

2) Vulnerability Assessment: Based on the data collected in first step one can find the security weakness in the target system. This helps penetration testers to launch attacks using identified entry points in the system.

3) Actual Exploit: This is crucial step. It requires special skills and techniques to launch attack on target system. Experienced penetration testers can use their skills to launch attack on the system.

4) Result analysis and report preparation: After completion of penetration tests detailed reports are prepared for taking corrective actions. All identified vulnerabilities and recommended corrective methods are listed in these reports. You can customize vulnerability report format (HTML, XML, MS Word or PDF) as per your organization needs.

Penetration testing sample test cases (test scenarios):

Remember this is not functional testing. In Pentest your goal is to find security holes in the system. Below are some generic test cases and not necessarily applicable for all applications.

1) Check if web application is able to identify spam attacks on contact forms used in the website.
2) Proxy server – Check if network traffic is monitored by proxy appliances. Proxy server make it difficult for hackers to get internal details of the network thus protecting the system from external attacks.
3) Spam email filters – Verify if incoming and outgoing email traffic is filtered and unsolicited  emails are blocked. Many email clients come with in-build spam filters which needs to be configured as per your needs. These configuration rules can be applied on email headers, subject or body.
4) Firewall – Make sure entire network or computers are protected with Firewall. Firewall can be a software or hardware to block unauthorized access to system. Firewall can prevent sending data outside the network without your permission.
5) Try to exploit all servers, desktop systems, printers and network devices.
6) Verify that all usernames and passwords are encrypted and transferred over secured connection like https.
7) Verify information stored in website cookies. It should not be in readable format.
8 ) Verify previously found vulnerabilities to check if the fix is working.
9) Verify if there is no open port in network.
11) Verify all telephone devices.
12) Verify WIFI network security.
13) Verify all HTTP methods. PUT and Delete methods should not be enabled on web server .
14) Password should be at least 8 character long containing at least one number and one special character.
15) Username should not be like “admin” or “administrator”.
16) Application login page should be locked upon few unsuccessful login attempts.
17) Error messages should be generic and should not mention specific error details like “Invalid username” or “Invalid password”.
19) Verify if special characters, html tags and scripts are handled properly as an input value.
20) Internal system details should not be revealed in any of the error or alert messages.
21) Custom error messages should be displayed to end user in case of web page crash.
22) Verify use of registry entries. Sensitive information should not be kept in registry.
23) All files must be scanned before uploading to server.
24) Sensitive data should not be passed in urls while communicating with different internal modules of the web application.
25) There should not be any hard coded username or password in the system.
26) Verify all input fields with long input string with and without spaces.
27) Verify if reset password functionality is secure.
28) Verify application for SQL Injection.
29) Verify application for Cross Site Scripting.
31) Important input validations should be done at server side instead of JavaScript checks at client side.
32) Critical resources in the system should be available to authorized persons and services only.
33) All access logs should be maintained with proper access permissions.
34) Verify user session ends upon log off.
35) Verify that directory browsing is disabled on server.
36) Verify that all applications and database versions are up to date.
37) Verify url manipulation to check if web application is not showing any unwanted information.
38) Verify memory leak and buffer overflow.
39) Verify if incoming network traffic is scanned to find Trojan attacks.
40) Verify if system is safe from Brute Force Attacks – a trial and error method to find sensitive information like passwords.
41) Verify if system or network is secured from DoS (denial-of-service) attacks. Hacker can target network or single computer with continuous requests due to which resources on target system gets overloaded resulting in denial of service for legit requests.

These are just the basic test scenarios to get started with Pentest. There are hundreds of advanced penetration methods which can be done either manually or with the help of automation tools.

Further reading:
Pen Testing StandardsPCI DSS (Payment Card Industry Data Security Standard), OWASP (Open Web Application Security Project), ISO/IEC 27002, OSSTMM (The Open Source Security Testing Methodology Manual).
CertificationsGPEN, Associate Security Tester (AST), Senior Security Tester (SST), Certified Penetration Tester (CPT).

Finally as a penetration tester you should collect and log all vulnerabilities in the system. Don’t ignore any scenario considering that it won’t be executed by end users.

 

Interview Questions @ Polaris

June 27, 2012 1 comment

a. Interview Date:29-05-2010
b. Company Name: Polaris
c. Location:Hyderabad

I faced following questions in Polaris Interview.

1. Tell me about u r current organization
2. what is Black box testing?
3. what is white box testing?
4. What is Functional Testing?
5. What is difference between Black box & functional
6. what is test plan?
7. what is test strategy?
8. what is difference between Test plan & test strategy?
9. What is smoke testing
10 what is sanity testing?
11. who will perform smoke testing?
12. Explain about Agile process?
13. How much you know about QTP? ( I mentioned in my resume as Exposure on QTP)
14. Explain about u r current project?
15. What is the Requirement Traceability Matrix?
16. Can u draw the template for Requirement Traceability Matrix?
17. What is Ad-hoc Testing?
18. What is difference between ReTesting and Regression Testing.
19. Can u explain about Bug life cycle?
20. How can u make sure  whether all requirements are covered or not?
21. Can u explain biggest complexity in current project?
22. what is difference between bug severity and priority?
23. Which bug tracking tool is u r using?
24. can u give one example for High severity and low priority bug?
25. can u give one example for High priority and low severity bug?
26. What is security Testing?

Selenium IDE Interview Questions & Answers -Rakesh Hansalia

1. What do you know about Selenium?
Selenium is a suite of tools for web automation testing. Selenium first came to life in 2004 when Jason Huggins was testing an internal application at Thought Works. Selenium was a tremendous tool, it wasn’t without its drawbacks. Because of its JavaScript based automation engine and the security limitations browsers apply to JavaScript, different things became impossible to do.
Selenium Suite of projects includes:
Selenium IDE
Selenium Core
Selenium 1 (known as Selenium RC or Remote Control)
Selenium 2 (known as Selenium Web driver)
Selenium-Grid

 

2. What are the technical challenges with selenium?

As you know Selenium is a free ware open source testing tool. There are many challenges with Selenium.

–>Selenium Supports only web based applications
–>It doesn’t support any non web based (Like Win 32, Java Applet, Java Swing, .Net Client Server etc) applications
–>When you compare selenium with QTP, Silk Test, Test Partner and RFT, there are many challenges in terms of maintainability of the test cases
–>Since Selenium is a freeware tool, there is no direct support if one is in trouble with the support of applications
–>There is no object repository concept in Selenium, so maintainability of the objects is very high
–>There are many challenges if one have to interact with Win 32 windows even when you are working with Web based applications
–>Bitmap comparison is not supported by Selenium

–>Any reporting related capabilities, you need to depend on third party tools

–>You need to learn any one of the native language like (.Net, Java, Perl, Python, PHP, Ruby) to work efficiently with the scripting side of selenium

 

3. What are the test types supported by Selenium?

Selenium could be used for testing the web based applications.

The test types can be supported are:

1. Functional,
2. Regression,
3. Load testing

The automation tool could be implemented for post release validation with continuous integration tools like:
1. Jenkins,
2. Hudson,
3. Quick Build
4. CruiseCont

 

4. What are the capabilities of Selenium IDE?

Selenium IDE (Integrated Development Environment) works similar to commercial tools like QTP, Silk Test and Test Partner etc. The below mentioned points describes well about Selenium IDE.

1. Selenium IDE is a Firefox add-on.
2. Selenium IDE can support recording the clicks, typing, and other actions to make a test cases.
3. Using Selenium IDE A Tester can play back the test cases in the Firefox browser
4. Selenium IDE supports exporting the test cases and suites to Selenium RC.
5. debugging of the test cases with step-by-step can be done
6. Breakpoint insertion is possible
7. Page abstraction functionality is supported by Selenium IDE
8. Selenium IDE can support an extensibility capability allowing the use of add-ons or user extensions that expand the functionality of Selenium IDE

 

5. What are the challenges with Selenium IDE?

Selenium-IDE does not directly support:

1. Condition statements
2. Iteration or looping
3. Logging and reporting of test results
4. Error handling, particularly unexpected errors
5. Database testing
6. Test case grouping
7. Re-execution of failed tests
8. Test case dependency
9. Capture screenshots on test failures
10. Results Report generations

 

6. Which are the browsers supported by Selenium IDE?

Selenium IDE supports only one browser Mozilla Firefox. The versions supported as of now are:

Mozilla Firefox 2.x
Mozilla Firefox 3.x

The versions not supported as of now are:
earlier versions of Mozilla Firefox 2.x
Mozilla Firefox 4.x

 

7. How to execute a single line command from Selenium IDE?

Single line command from Selenium IDE can be executed in two ways

1. Right click on the command in Selenium IDE and select “Execute This Command”
2. Select the command in Selenium IDE and press “X” key on the keyboard

 

8. How to insert a start point in Selenium IDE?

Start point Selenium IDE can be set in two ways

1. Right click on the command in Selenium IDE and select “Set / Clear Start Point”
2. Select the command in Selenium IDE and press “S” key on the keyboard
3. You can have only one start point
4. If you have already set one start point and you selected other command as start point. Then the first start point will be removed and the new start point will be set

 

9. How to insert a comment in Selenium IDE?

Comments in Selenium IDE can be set in two ways

1. Right click on the command in Selenium IDE and select “Inert New Comment”
2. If you want to comment an existing line. You need to follow the below mentioned steps.

a. Select the source tab in IDE
b. Select the line which you want to comment
c. Assume that if you want to comment a open command you need to write like below mentioned code

<tr>

<!–

<td>open&l/td>
<td>/node/304/edit&l/td>
<td></td>

–>

</tr>

 

10. How to insert a break point in Selenium IDE?

Break point can be set in two ways in Selenium IDE

1. Right click on the command in Selenium IDE and select “Toggle Break Point”
2. Select the command in Selenium IDE and press “B” key on the keyboard
3. If you want to clear the break point once again Spress “B” key on the keyboard
4. You can set multiple break points in Selenium IDE

 

11. How to debug the tests in Selenium IDE?

To debug or execute the test cases line by line. Follow the below mentioned steps

1. Insert a break From the location where you want to execute step by step
2. Run the test case
3. Execution will be paused at the given break point
4. Click on the step (Blue) button to continue with the next statement
5. Click on Run button, to continue executing all the commands at a time

 

12. How to export the tests from Selenium IDE to Selenium RC in different languages?

From selenium IDE the test cases can be exported into the languages

1. .Net
2. Java
3. Perl
4. Python
5. PHP
6. Ruby

The below mentioned steps can explain how to export the test cases

1. Open the test case from Selenium IDE
2. Select File -> Export Test Case As

 

13. How to export Selenium IDE Test Suite to Selenium RC Suites?

From selenium IDE the test suites can be exported into the languages as mentioned below

1. .Net
2. Java
3. Perl
4. Python
5. PHP
6. Ruby

The below mentioned steps can explain how to export the test suites

1. Open the test case from Selenium IDE
2. Select File -> Export Test Suite As

 

14. Which is the command used for displaying the values of a variable into the output console or log?

The command used for displaying the values of a variable into the output console or log – echo

If you want to display a constant string. The below mentioned command can be used
echo <constant string>
ex: echo “The sample message”

If you want to display the value of a variable it can be written like below
echo ${<variable name>>

ex: echo ${var1}

Note: Here var1 is the variable

 

15. Which are the browsers supported by Selenium RC?

Supported browsers for Selenium RC include:

1. *firefox
2. *mock
3. *firefoxproxy
4. *pifirefox
5. *chrome
6. *iexploreproxy
7. *iexplore
8. *firefox3
9. *safariproxy
10. *googlechrome
11. *konqueror
12. *firefox2
13. *safari
14. *piiexplore
15. *firefoxchrome
16. *opera
17. *iehta
18. *custom

 

16. Which are the Operating Systems supported by Selenium?

Selenium IDE
Works in Firefox 2+ Start browser, run tests Run tests
Operating Systems Supported:

1. Windows,
2. OS X
3. Linux
4. Solaris
5. Others whichever supports Firefox 2+

Selenium Remote Control
Used for starting browser and run tests
Operating Systems Supported:

1. Windows,
2. OS X
3. Linux
4. Solaris
5. Others

Selenium Core
Used for running tests
Operating Systems Supported:

1. Windows,
2. OS X
3. Linux
4. Solaris
5. Others

 

17. What is Selenium RC?

Selenium-RC is the solution for tests that need a little more than just simple browser actions and a linear execution. Selenium-RC leverages the full power of programming languages, creating tests that can do things like read and write external files, make queries to a database, send emails with test reports, and practically anything else a user can do with a normal application.

You will want to use Selenium-RC whenever your test requires logic not supported by running a script from Selenium-IDE

 

18. Why Selenium RC is used?

Selenium-IDE does not directly support:

1. condition statements
2. iteration
3. logging and reporting of test results
4. error handling, particularly unexpected errors
5. database testing
6. test case grouping
7. re-execution of failed tests
8. test case dependency
9. capture screenshots on test failures

The reason behind why Selenium-IDE does not support the above mentioned requirements is IDE supports only HTML language. Using HTML language we cannot achieve the above mentioned requirements. Because HTML does not support conditional, looping and external source connectives.

To overcome the above mentioned problems Selenium RC is used.

Since Selenium RC supports the languages .Net, Java, Perl, Python, PHP, and Ruby. In these languages we can write the programme to achieve the IDE issues

 

19. Which are the languages supported by Selenium RC?

The languages supported by Selenium RC

1. .Net,
2. Java (Junt 3, Junt 4, TestNG, Groovy)
3. Perl,
4. Python,
5. PHP,
6. Ruby

 

20. What is Selenium Grid?

Selenium Grid is part of Selenium suite of projects. Selenium Grid transparently distribute your tests on multiple machines so that you can run your tests in parallel, cutting down the time required for running in-browser test suites. This will dramatically speeds up in-browser web testing, giving you quick and accurate feedback you can rely on to improve your web application.

 

21. What is Selenium WebDriver or Google WebDriver or Selenium 2.0?

WebDriver uses a different underlying framework from Selenium’s javascript Selenium-Core. It also provides an alternative API with functionality not supported in Selenium-RC. WebDriver does not depend on a javascript core embedded within the browser, therefore it is able to avoid some long-running Selenium limitations.

WebDriver’s goal is to provide an API that establishes
• A well-designed standard programming interface for web-app testing.
• Improved consistency between browsers.
• Additional functionality addressing testing problems not well-supported in Selenium 1.0.

The Selenium developers strive to continuously improve Selenium. Integrating WebDriver is another step in that process. The developers of Selenium and of WebDriver felt they could make significant gains for the Open Source test automation community be combining forces and merging their ideas and technologies. Integrating WebDriver into Selenium is the current result of those efforts.

 

22. What are the capabilities of Selenium WebDriver or Google WebDriver or Selenium 2.0?

One should use WebDriver when requiring improved support for

• Mult-browser testing including improved functionality for browsers not well-supported by Selenium-1.0.
• Handling multiple frames, multiple browser windows, popups, and alerts.
• Page navigation.
• Drag-and-drop.
• AJAX-based UI elements.

 

23. What is the architecture of Selenium RC?

The Selenium Server which launches and kills browsers, and acts as an HTTP proxy for browser requests.

Client libraries for various programming languages, each of which instructs the Selenium Server in how to test the AUT by passing it your test script’s Selenium commands.

The diagram shows the client libraries communicate with the Server passing each Selenium command for execution. Then the server passes the Selenium command to the browser using Selenium-Core JavaScript commands. The browser, using its JavaScript interpreter, executes the Selenium command, which effectively, runs the check you specified in your Selenese test script.

 

24. What is the architecture of Selenium Grid?

The below mentioned theory explains about the setup of Selenium Grid with architecture and how it works.

Selenium Grid builds on the traditional Selenium setup, taking advantage of the following properties:

* The Selenium test, the application under test, and the remote control/browser pair do not have to be co-located. They communicate through HTTP, so they can all live on different machines.
* The Selenium tests and the web application under test are obviously specific to a particular project. Nevertheless, neither the Selenium remote control nor the browser is tied to a specific application. As a matter of fact, they provide a capacity that can easily be shared by multiple applications and multiple projects.

Consequently, if only we could build a distributed grid of Selenium Remote Controls, we could easily share it across builds, applications, projects – even potentially across organizations. Of course we would also need to address the scalability issues as described earlier when covering the traditional Selenium setup. This is why we need a component in charge of:

* Allocating a Selenium Remote Control to a specific test (transparently)
* Limiting the number of concurrent test runs on each Remote Control
* Shielding the tests from the actual grid infrastructure

Selenium Grid calls this component the Selenium Hub.

* The Hub exposes an external interface that is exactly the same as the one of a traditional Remote Control. This means that a test suite can transparently target a regular Remote Control or a Selenium Hub with no code change. It just needs to target a different IP address. This is important as it shields the tests from the grid infrastructure (which you can scale transparently). This also makes the developer’s life easier. The same test can be run locally on a developer machine, or run on a heavy duty distributed grid as part of a build – without ever changing a line of code.
* The Hub allocates Selenium Remote Controls to each test. The Hub is also in charge of routing the Selenese requests from the tests to the appropriate Remote Control as well as keeping track of testing sessions.
* When a new test starts, the Hub puts its first request on hold if there is no available Remote Control in the grid providing the appropriate capabilities. As soon as a suitable Remote Control becomes available, the Hub will serve the request. For the whole time, the tests do not have to be aware of what is happening within the grid; it is just waiting for an HTTP response to come back.

 

25. Does Selenium support mobile internet testing?

Selenium supports Opera. And opera is used in most of the Smart phones. So whichever Smart phone supports opera, selenium can be used to test. So, one can use Selenium RC to run the tests on mobiles.

 

26. Does Selenium support Google Android Operating System?

Yes, Selenium Web Driver or Google Web Driver or Selenium 2.0 supports Android Operating System. There are several libraries written to support Android Operating System.

 

27. What are the types of text patterns available in Selenium?

There are three types of patterns available in Selenium
1. globbing
2. regular expressions
3. exact

 

28. How to use regular expressions in Selenium?

Regular expressions in Selenium IDE can be used with the keyword – regexp: as a prefix to the value and patterns needs to be included for the expected values.

For example if you want to use the regular expression for a command
Command: verifyText
Target: //font/font/b/font[1]
Value: Flight Confirmation # 2011-05-02451

in the above example Flight Confirmation is continuously changing each time you run the test case. So this can be written with a regular expression as mentioned below

Command: verifyText
Target: //font/font/b/font[1]
Value: regexp:Flight Confirmation # [0-9]{4}-[0-9]{2}-[0-9]{5,10}

 

29. What are the regular expression patterns available in Selenium?

Selenium regular expression patterns offer the same wide array of special characters that exist in JavaScript. Below are a subset of those special characters

PATTERN MATCH
. any single character
[ ] character class: any single character that appears inside the brackets
* quantifier: 0 or more of the preceding character (or group)
+ quantifier: 1 or more of the preceding character (or group)
? quantifier: 0 or 1 of the preceding character (or group)
{1,5} quantifier: 1 through 5 of the preceding character (or group)
| alternation: the character/group on the left or the character/group on the right
( ) grouping: often used with alternation and/or quantifier

 

30. What is Selenese?

Selenium set of commands which are used for running the test are called as Selenese.

There are three types of Selenese, those are:
1. Actions – used for performing the operations and interactions with the target elements
2. Assertions – used as check points
3. Accessors – used for storing the values in a variable

 

31. How do you add check points or verification points in Selenium?

check points or verification points are known as Assertions in Selenium. The keywords with below mentioned prefix will be used for adding check points or verification points.

1. verify
2. assert
3. waitFor

 

32. What is Assertion in Selenium?

Assertion is nothing but a check or verification point.

Assertion verifies the state of the application conforms to what is expected.
Examples include “make sure the page title is X” and “verify that this checkbox is checked.

 

33. What are the types of Assertions there in Selenium?

Selenium Assertions can be used in 3 modes:

1) assert – When an “assert” fails, the test will be aborted. If you are executing test suite, the next state case will start

2) verify – When a “verify” fails, the test will continue execution, logging the failure.

3) waitFor – “waitFor” commands wait for some condition to become true (which can be useful for testing Ajax applications). They will succeed immediately if the condition is already true. However, they will fail and halt the test if the condition does not become true within the current timeout setting

 

34. When to use Assert, Verify and WaitFor in Selenium?

1) assert – If the expected value is mandatory to continue with the next set of steps we will use Assert. As Assert aborts the test, if the expected value doesn’t match. It is good to use for any mandatory checks.

2) verify – If the expected value is optional to continue with the next set of steps we will use Verify. As Verify continues executing with the next set of steps, if the expected value doesn’t match. It is good to use for any optional checks.

3) waitFor – If your test needs to wait, if the expected value is not matching we use waitFor. We normally use waitFor for AJAX kind of controls loading within a page

 

35. What is an Accessor in Selenium?

Accessor is one of the type of Selenese.

I. Accessors are used for storing the value of a target in a variable.

Ex:
1) storeTitle – Stores the title of a window in a variable

2) storeText – Stores the target element text in a variable

II. Accessors are also used for evaluating the result and storing the result in a variable

Ex: storeTextPresent – Evaluates whether the text is present in the current window. If the text is present stores true in the variable else stores false

Ex: storeEementPresent – Evaluates whether the element is present in the current window. If the element is present stores true in the variable else stores false

 

36. When to use Accessors in Selenium?

Accessors are mostly used for storing the value in a variable.

The variable can be used for following reasons:

1) To get the value from an element and comparing with some dynamic value

2) To take a logical decision to execute the test steps
ex: if the value of the variable true execute step1 and step2 else step3 and step4

3) To execute some statements in a loop based on the value returned by the element

 

37. How to capture bitmaps in Selenium?

Bitmaps are captured using the Selenium set of commands. There are two modes of capturing the bitmaps

1) Capture the bitmap for the entire page – it captures the browser main page area of AUT
2) Capture the bitmap for the screen shots – it captures the entire screen shot like the print scree that you give from your keyboard

Selenium doesn’t support bitmap capturing for an element on AUT.

 

38. Which are the commands used for capturing the bitmaps?

captureEntirePageScreenshot
Saves the entire contents of the current window canvas to a PNG file. Contrast this with the captureScreenshot command, which captures the contents of the OS viewport (i.e. whatever is currently being displayed on the monitor), and is implemented in the RC only. Currently this only works in Firefox when running in chrome mode, and in IE non-HTA using the EXPERIMENTAL “Snapsie” utility. The Firefox implementation is mostly borrowed from the Screengrab! Firefox extension. Please see captureEntirePageScreenshot for more details

captureEntirePageScreenshotAndWait
Saves the entire contents of the current window canvas to a PNG file. Contrast this with the captureScreenshot command, which captures the contents of the OS viewport (i.e. whatever is currently being displayed on the monitor), and is implemented in the RC only. Currently this only works in Firefox when running in chrome mode, and in IE non-HTA using the EXPERIMENTAL “Snapsie” utility. The Firefox implementation is mostly borrowed from the Screengrab! Firefox extension. Please see
captureEntirePageScreenshotAndWait for details.

Note: This command runs with only mozilla firefox when you run the tests from RC. Other browsers it will not support

 

39. What is the difference between captureEntirePageScreenshot and CaptureScreenShot?

captureEntirePageScreenshot
1. This captures the AUT web page only
2. This supports only mozilla firefox
3. Accepts two arguments. one is the file name to be saved and other argument is back ground color

CaptureScreenShot

1. This captures the System screen shot
2. This supports all the browsers when you run from Selenium RC
3. Accepts one argument. That is the file name to be saved.

 

40. How do you set user extensions in Selenium IDE?

1. Open user-extensions.js with an editor (Notepad, etc.); it’s found in the selenium\core\scripts folder. If it doesn’t exist, just create it.
2. If you need to, commit the user-extensions.js file (like if you use subversion).
3. Open Selenium IDE and choose the Options menu and then Options… from that menu.
4. Make sure the path to your user-extensions.js file is entered in the Selenium Core extensions field (like \selenium\core\scripts\user-extensions.js)
5. Press OK button on options
6. Restart the IDE to reflect your extensions.

Note: After reopen, Selenium IDE may show compilations errors if the user-extensions.js file has any syntax errors.

 

41. What are the limitations of Selenium IDE

The limitations of Selenium IDE are:

1) Selenium IDE uses only HTML language
2) Conditional or branching statements execution like using of if, select statements is not possible
3) Looping statements using is not possible directly in Selenium HTML language in ide
4) Reading from external files like .txt, .xls is not possible
5) Reading from the external databases is not possible with ide
6) Exceptional handling is not there
7) A neat formatted Reporting is not possible with ide

To eliminate the above issues we use Selenium RC

 

ValueLabs (Hyderabad) Manual Testing – Written test Questions and Answers

ValueLabs (Hyderabad) Manual Testing – Written test Questions and Answers

Time: 90 Minutes ( 25 Questions)

Value Labs Manual Testing – Written test Questions and Answers- Prepared By_Rakesh Hansalia

1) What is Composite Primary Key.

  • A primary key can consist of one or more columns of a table. When two or more columns are used as a primary key, they are called a composite key. Each single column’s data can be duplicated but the combination values of these columns cannot be duplicated.
  • For example, if you have a Student table and a Course table, and one student can select many courses and one course can be selected by many students, so this is a many-to-many relationship. So you need to create the third table to define the relationship, say it’s called StudentCourse. It is important to note that you only need the StudentID and CourseID in this table as a composite key. You do not need an extra identity ID column in this table to uniquely identifies each row because only having an ID column to uniquely identifies each row is not sufficient. It cannot prevent the same student selecting the same course from being inserted into this table.

2) Difference between Table and View

Views are essentially logical table-like structures populated on the fly by a given query. The results of a view query are not stored anywhere on disk and the view is recreated every time the query is executed. Materialized views are actual structures stored within the database and written to disk. They are updated based on the parameters defined when they are created.

view uses a query to pull data from the underlying tables.

A materialized view is a table on disk that contains the result set of a query.

3) Difference between ECP and BVA

If I say in one line then ECP doesn’t include the boundary values in class partitions e.g. If we have three classes of 1-20, 21-40 and 41-60 then ECP we are not including the values 1,20,21,40,41 and 60 whereas  in BVA we include them also.

 4) Difference between Testing Scenario and Test Case

Test case is a condition which is executed for expected output with predefined set of   steps with known inputs. Generally a test case have

1) Precondition
2) Steps to execute
3) Input data
4) Expected output
5) Status (Pass/Fail)

Test Scenario is set of test cases. What it means, If you have to withdraw money from an ATM machine, then it is a scenario. But to withdraw money, you need to execute many test cases, needs to provide many inputs and you get many outputs and finally your money with receipt of transaction.

Test Scenario is ‘What to be tested’ and Test Case is ‘How to be tested’.

5) Explain V -model

    6) High Priority test cases for ATM application

 

1. Machine is accepting ATM card

2. Machine is rejecting expired card

3. successful entry of PIN number

4. unsuccessful operation due to enter wrong PIN number 3 times

5. successful selection of language

6. successful selection of account type

7. unsuccessful operation due to invalid account type

8. successful selection of amount to be withdraw

9. successful withdrawal.

10. Expected message due to amount is greater than day limit

11. unsuccessful withdraw operation due to lack of money in ATM

12. Expected message due to amount to withdraw is greater than possible balance.

13. unsuccessful withdraw operation due to click cancel after insert card

14. Check ATM machine is able to print receipts

15. Withdraw amount should be in the multiples of 100

7) Different DDL and DML commands

Data Definition Language (also known as DDL) is a computer language used to define data structures [ALTER  COMMENT  DROP  CREATE]
The most popular form of DML is the Structured Query Language (or SQL). This is a language used for databases, and is designed specifically for managing data in relational database management systems (or RDBMS) [UPDATE DELETE LOCK INSERT SELECT]

 9) Is functional Testing and System testing Same?

I would say ..No it’s not same.

-System testing is nothing but testing of the application as whole,where as Functional testing is nothing but testing of the application functionality.

-System testing is one of the phases of testing in SDLC .

For Eg in typical V model in  develeopement phase unit testing is performed, followed by integration test  and when the software is ready it is deployed to QA environment to perform “system testing “.

System testing is end to end application testing.

Functional testing is the Type of testing. It means testing the various  functionalities of the application (individual or integrated)    Other  type being Non functional.

In system testing phase both Functional and non functional testing is performed.

–          Most people think Functional testing and System testing is same. But they differ slightly in that functional testing verifies a software by checking it against designed specification documents while system testing validates a software by checking it against the user requirements.

    10) Bug live cycle states

  • Open
  • Fixed
  • Closed
  • Reopen
  • Obsolete

http://www.software-pointers.com/en-configuration-tools.html

11) Tell me 3 different Software Configuration Management Tools

http://www.software-pointers.com/en-configuration-tools.html

I’ve used VSS( Visual SourceSafe from Miscrosoft) & Tortoise when I was in iGATE patni, Gandhingar.

12) difference between Bug,error,defect

Bug : It is found in the development environment before the product is shipped to the respective customer.

Error : It is the Deviation from actual and the expected value.

Defect : It is found in the product itself after it is shipped to the respective customer.

13) What are the test deliverable in SDLC, when to deliver what doc?

Test cases Documents
Test Plan
Testing Strategy
Test Scripts
Test Data
Test Trace-ability Matrix
Test Results/reports
Test summary report
Install/config guides
Defect Report
Release notes

14) Tell me the concepts present in Test plan.

Refer this link : https://rakeshhansalia.wordpress.com/2012/05/14/test-plan-preparation-for-manual-testing/

15) What are the main issues found in Browser Comparability testing.

Alignment issues, JS errors, Image display problems, Ajax issue

16) bug life cycle

New Bug found > QA log a bug (Open State) > DEV Fix a big  (Fixed State) > QA test it (Closed if ok or Reopen it if fails)

17)which is test case optimization method

1)BVA 2) functional testing 3) incremental testing 4) big band

Ans: BVA ( Boundary value Analysis)

18) difference between the delete and  truncate command

 

ü  Delete and Truncate both are logged operation. But DELETE is a logged operation on a per row basis and TRUNCATE logs the de allocation of the data pages in which the data exists. You can’t rollback data in TRUNCATE but in DELETE you can rollback data. TRUNCATE removes(delete) the record permanently.

ü  You cannot TRUNCATE a table that has any foreign key
constraints.  You will have to remove the constraints, TRUNCATE the
table, and reapply the constraints.

19) integration testing would done after system testing

a) true b) false

Ans: False

 

20) what is static method

There are two types of methods.

  • Instance methods are associated with an object and use the instance variables of that object. This is the default.
  • Static methods use no instance variables of any object of the class they are defined in. If you define a method to be static, you will be given a rude message by the compiler if you try to access any instance variables. You can access static variables, but except for constants, this is unusual. Static methods typically take all they data from parameters and compute something from those parameters, with no reference to variables. This is typical of methods which do some kind of generic calculation. A good example of this are the many utility methods in the predefined Math class.

 

 

All the Best Yaarooooooo J