Interview Questions

Landing your first job can be tough sometimes, it really depends on the chemistry between you and the team interviewing you. The interview process can be long, depending on the recruiter, over the phone, and in person. It's incredibly important to educate yourself on these questions below to prevent being nervous or freezing up mid-interview.


Our basic training course covers the majority of these interview questions, so you're not just memorizing the question, but you have hands on experience and know the answers. 


Note: Mobile devices are supported but because of device fragmentation.. you might experience bugs.




What are 5 basic phases in the SDLC?

Planning, Design, Development Testing and release are the basic components of the SDLC.
Sometimes this is simplified into 4, where development and testing are merged into the same phase.

Ideally, all 6 are planned for:
Planning, Design, Development, Testing, Release, and Maintenance.

What is the software development life cycle?

The software development life cycle is a process used to plan, design, develop, test, release and maintain software. 

It starts with a simple idea, and over the SDLC process turns into a full application. 

What is Scrum

Scrum is the answer to solving planning for complex projects. It clarifies the product requirements and defines the scope.

Scum usually includes a backlog, doing and done column.  

The product owner or scrum master will prioritize the backlog and help reduce any ambiguities for the task.

The team will pull these tasks out of the backlog and plan what is known as a sprint. 

The ticket is moved into the "doing" column when it is being worked on.
The ticket is then moved into the "done" column once it has been completed.

When should you write a bug report?

You should stop what you're doing and write the bug down immediately. You may forget about the bug or skip some necessary steps if you decide to write it at a later time.

What is Quality Assurance?

In the tech world, quality assurance is a process engineers use to to determine if the product that is being developed meets the planned requirements. The company ususally has employees (known as qa, testers, or quality assurance engineers) dedicated to testing quality of the project.

The Quality Assurance process is used to increase the quality of the product, and hopefully the customers' confidence as well. The process helps unroot design flaws, bugs, crashes, and overalll --- increase the users experience.

What are the typical data transfer languages used in rest?

JSON, and XML. 

JavaScript Object Notation, and Extensible Markup Language

What is a PUT request?

PUT: puts a file or resource at a specific URI, and exactly at that URI. If there's already a file or resource at that URI, PUT replaces that file or resource. If there is no file or resource there, PUT creates one.

What is a DELETE request?

DELETE:  requests inform the server to delete some type of data. Such as deleting a users profile.

What is a POST request?

Post: requests typically submit information to a server for processing. It may return the updated payload in the response.

What is a GET request?

GET makes a request to a server that does not contain any type of payload body. It is a request that"gets" variables or settings from a server. 

Typically the response from the server is in Json format

What can iOS do to suspended apps if it's running low on memory?

iOS can terminate suspended apps without notice if it's running low on memory.

What is a suspended state?

An app is considered to be in a suspended state when it's in the background but code is not being executed.

What is a background state?

An app is considered to be in a background state when it is running in the background and executing code.

What is a non-running state?

An app is considered to be in a non-running state when it has not been launched.

What is an inactive state?

An app is in an inactive state when it is running in the foreground but not receiving events, such can occur when a call or text comes in on the device.

What is an active state?

An application is in an active state when it is running in foreground and is receiving events.

What are the different states an iOS application can be in?

There are 5:

  1. Active
  2. Incative
  3. Background
  4. Non-Running
  5. Suspended

Apps which are running in background behave differently vs those running in foreground? True/False? Why/Why not?

True. Apps that are running in the background behave differently because there is a limitation of resources in iOS.

Is Multitasking support by iOS devices?

Yes. OS version 4 and up supports multitasking. Multitasking allow the apps to remain in background after launching while other apps/features of the device are used. Apps are in background until they are terminated.

How can you test Apple iphone/ipad apps if you don't have the device?

Xcode has a built in iOS simulator in which you can select the type of device and OS version you want to test. Testing only on a simulator, however, is not recommended. The app needs to be tested on the actual device before releasing to production.

What is Xcode?

Xcode is the iOS version of an IDE (integrated development environment). It's used for creating Apple applications, managing workflow, testing, and submitting created applications into the Apple App store.

Give an example of an application that uses GeoFences

Almost every social networking application uses location services. 

For example:


FaceBook
Uploading an image or video on Facebook will prompt you if you want to add your current location. 


Tinder: the dating app, determines your matches based on the geo-proximity between you and the match.


iPolla survey site, sends your surveys based on your location to earn rewards.

What information does a geofence provide?

GeoFences provide a bunch of information.

Barring:

  • The application knows which direction the user is traveling in.

Velocity

  • The application knows the current speed the user is traveling.

Enter/Exit

  • GeoFence will trigger an alert once the user has entered or exited the GeoFence.

Loiter/Dwell

  • GeoFence can be set to only tigger after the user has been standing inside of the fence for x amount of time.
  • Example: Only trigger if the user has been at disneyland for 5 hours, not if they are driving past it.

What is a GeoFence?

A GeoFence is a virtual 'fence' around latitude and longitude points on a map.
GeoFencing is a feature within the mobile device that can track the users location. It uses the GPS and WIFI to determine the devices current location.

GeoFence 'fences' can be used in various different ways, such as monitoring a user, knowing where they live and where they like to shop.

What is the Jira workflow?

When a new issue or user story is created it will follow this flow.

Created 

Open

In progress

Validated

Reopened/Closed

Note: Some companies may add an additional column after "in progress" labeled as "In QA".

What is Jira?

Jira is a project management tool that was developed by Atlassian. It is one of the worlds most popular project management tools. 

It is used to track project requirements, issues, velocity and more.

How do you test the GUI?

The tester will test the appearance of the application by reviewing the design, colors, layout and clicking links and buttons.

What is the purpose of GUI testing?

GUI testing is required to analyze the look and feel of the application. This is how clients and customers will interact it. It's purpose is to validate that all functionality is working as expected.

How do you pronounce GUI?

You will hear it called "gooey" or each letter announced as G.U.I. 

This stands for graphical user interface.

What is GUI Testing?

In GUI Testing tester tests the application front end design to see whether its meets the client requirements or not.

What is a Smoke Test?

A Smoke Test is used to determine if all the basic components of an application are in good working order. This is typically done on new builds.

 .

What is Sanity Testing?

This testing type is used to determine if a new application version is in good enough shape for more in-depth testing.

What is Functional Testing?

Functional testing is a type of manual test used to determine whether or not an application's features perform as expected in the requirements.

What is Install/Uninstall Testing

This testing type tests how a user would install/uninstall and/or upgrade software. This is usually used for more robust desktop applications.

What is Exploratory Testing?

This is a manual testing technique which does not require documentation and planning. While ad-hoc testing tries to negatively test an application, exploratory testing is a positive testing technique. 

What is End to End Testing?

This testing technique involves testing a finished application as if it's being used by a real-life user. An example of this would be creating a Facebook account and using the all the features that a real life user might use to verify it they function as expected. 

What is Load Testing?

Load Testing is a technique that maximizes system resources of the server. 

What is Stress Testing?

Stress testing is used to determine how much stress a system or a product can handle before it breaks. For example, creating hundreds of users per second and scaling up the user creation until the system cannot keep up.

What is Performance Testing?

This type of functional test is usually done for applications with specific performance requirements.

What is Accessibility Testing?

Accessibility testing is a testing technique used to determine if an application or product could be used by people with disabilities such as deafness or blindness. This is common testing when automating mobile devices.

What is Assertion Testing?

Assertion testing is used to verify whether or not set conditions reflect the requirements of the product. .

What is automated testing?

Automated testing is performed using various automation testing tools such as JMeter and Selenium. 

What is Beta Testing?

Beta testing is testing that is done typically by end-users on an application right before it is commercially released.

What is Grey Box Testing?

Grey box testing is testing using a combination of white and black box techniques. It requires some knowledge of the application's inner workings, but not as much as would be necessary in white box testing. This can be performed by a team of testers or developers. 

Are applications 100% bug free before releasing?

No, ideally the majority of critical show stopping bugs are found and fixed before releasing. However, bugs are everywhere and can take a long time to find. Most applications ship with low priority bugs and have them fixed later. 

You should try to find as many as you can, it's best to not have any critical bugs in production that effect the user experience.

What type of testing yields the highest amount of bugs?

The two types of testing that yields a high amount of bugs is "Ad-hoc" and "Negative" testing.

What is functional testing?

Functional testing is done by both developers and testers. Testers should have more functional testing of the application. It is a type of black box testing. It is to specifically test a feature that has been created.

What is unit Testing?

Unit testing is typically done by a developer or automation engineer.  They write automated test cases for functionality that they are writing. This requires detailed knowledge of the application, design and code. 

Developers usually heavily follow this in test driven development.

What is white box testing?

This type of testing is accomplished with knowledge of internal design and source code. 

Tests are created after the source code has been reviewed. The tests are written to give "code coverage" to the application.

Note: This is not typically done by a manual tester.

What is black box testing?

This type of testing is accomplished without previous knowledge of internal design or source code. 

Test are completely based off of business requirements and functionality.

What is the difference between negative and positive testing?

Positive testing validates that the functionality actually works.

Example:

  • Standard format in an email field
  • Standard password in an password field
  • Pressing login will successfully log in the existing user.

Negative testing is an attempt to break the functionality in unexpected ways.

Example:

  • Special characters in an email field
  • Too many characters in a text area

Explain the difference between SDLC and STLC

SDLC is a process used by the entire project team, SDLC typically has 6 phases, planning, design, development, testing, deployment, and maintenance. 

STLC is the software testing life cycle. This life cycle starts at the same time as the SDLC, however, it focuses on the the quality of the application and validating that the product requirements are being achieved.

Describe a bug

A bug is typically unexpected behavior of functionality. We determine what is the expected behavior by requirements, technical specifications, standup meetings, or how other similar applications behave.

What is device fragmentation?

Device fragmentation is mobile QA job security :)

It's a major headache for developers as the mobile devices come in all shapes and sizes, large variations of operating system, different performance, and high quality or low quality screen resolutions.

Building an application could work perfectly on a single device, such as an iPhone 6, or Note 4, but be completely broken on the iPad Mini or Nexus 7. 

One major example of device fragmentation is the fact that android has 24,000+ unique devices. Testing all variations of android would be impossible.

What type of debugging tools does iOS provide?

XCode is the best too for debugging iOS mobile applications.

Xcode provides the same features as Android Studio such as:

  • Log output
  • Memory usage
  • CPU usage
  • Disk input/output (I/O)
  • Network input/output (I/O)

What type of debugging tools does Android provide?

The Android IDE (Android Studio) is the number one tool used for android. This includes DDMS, Logcat and ADB.

  • DDMS provides port-forwarding services, screen capturing on the device, and more.
  • Logcat is the android logging system. Which provides a mechanism for collecting and viewing system debug output.
  • ADB is the "Android Debug Bridge" which allows communication between the terminal and an emulator or real device.

Who writes use cases?

Ideally the business analyst will write use cases before developers start coding. However, who writes isn't as important as what is actually in them.
Quality Assurance Engineers may write use cases to use as test cases. This is not ideal since use cases should be written before developers start coding.

What is Quality?

Quality is meeting expectations, such as the customers, or your managers. It meets product requirements is reasonably bug free. This includes no showstoppers.

What is a use case?

A use case is a description of a set of interactions between a system and one or more actors (where 'actor' can be people, or other system: for example, people would be the online shopper (QA) and PayPay be the system).
The use case document generally will include this kind of information:

1. use case title
2. rationale/description/goal
3. actor/user
4. preconditions (steps that must be executed before running the use case)
5. alternate paths or extensions (negative testing, edge cases, different testing paths)
6. post conditions (expected results, what the system should have done by the end of the step)

Quality Engineers usually write test cases based off of use cases.

What are test cases?

Test cases are a set of instructions to test the functionality of the system in order to determine if it meets the requirements.
These steps are usually written in sequential order based upon requirements to help testers evaluate the quality.

What is a test plan?

A test plan documents the strategy that will be used to verify and ensure that a product or system meets its design specifications and other requirements. A test plan is usually prepared by or with significant input from test engineers.

UA-55583484-3