One point stop for all Mobile Application Testing and Internet of thing knowledge. The key Idea is to share my core experience, information,skills and technical expertise with reference to Native,Hybrid,Web Apps and IOT along with the latest trends,tips and tricks.
Saturday 16 January 2021
Mobile Application Testing Interview |Ministry of Testing Meetup |Testing Android & iOS Apps | Testing Native & Testing React Native
Monday 4 January 2021
Mobile Application Testing Made Easy | Ministry of Testing PPT | Kuala Lumpur #9 Meetup
Mobile Application Testing Made Easy
This deck was shared in MoT Kuala Lumpur's Meetup #9 on 15th December 2020
𝗔𝗯𝗼𝘂𝘁 𝗦𝗽𝗲𝗮𝗸𝗲𝗿:
Saif Siddiqui is a Quality Analyst (Mobile) at REA Group Asia (also known as iProperty) with Scrum Master certification, managing multiple consumer and customer-facing applications.
He is an experienced and certified Mobile Apps & IoT application tester some including iBeacon Sensors, Drones, Smart Watches, etc.
He is experienced in leading and managing Mobile functional, Automation, and Digital testing. Taking pride in playing key roles In delivering some of the" Highest rated Apps" in Europe, India, and other APAC regions with more than a million downloads in different App stores.
Linkedin: https://www.linkedin.com/in/saifsms91
Blog: http://mobiletestingtip.blogspot.com
𝗔𝗯𝘀𝘁𝗿𝗮𝗰𝘁 𝗼𝗻 "Mobile Application Testing: Made Easy":
Have you ever wondered what Mobile Application Testing looks like? Or how Mobile applications are being created and tested?
In this talk, Saif will be spilling some beans in and around these topics to our fellow Quality Engineers to apply this knowledge in the "$157 Billion App Store Consumer Spending" market as per "Tech Crunch"
Today mobile phones have evolved from simple communication devices to a gadget that can basically do everything. Whether it be ordering food, booking a cab service, or simply looking for directions, it can all be done using a mobile phone. This is only possible due to the wonderful world of mobile applications. In this meetup, we will be discussing the testing process of such applications.
𝗟𝗲𝗮𝗿𝗻𝗶𝗻𝗴 𝗢𝘂𝘁𝗰𝗼𝗺𝗲𝘀:
- Introduction to Mobile Application Testing.
- Why is Mobile Application Development Important?
- Why is Mobile Application Testing Important?
- Approaches to Mobile App Testing.
- Key Challenges in Mobile Application Testing.
- How to Create Device Matrix with so many devices available in the market?
- Read about Push notification here
Sunday 6 December 2020
Sample Test Plan for Automation in Software Testing
Objective:
Every time we make any changes to our applications, we need to do a considerable amount of manual testing for both iOS and Android platforms. Our objective is to prepare an automated regression test suite for react-native applications that will cover major functionality.
Framework:
Jest:
Jest is a JavaScript Testing Framework with a focus on simplicity. It works with projects using: Babel, TypeScript, Node.js, React, Angular and Vue.js. It aims to work out of the box and config free.
React Test Renderer:
This package provides a React renderer that can be used to render React components to pure JavaScript objects, without depending on the DOM or a native mobile environment. Essentially, this package makes it easy to grab a snapshot of the platform view hierarchy (similar to a DOM tree) rendered by a React DOM or React Native component without using a browser or jsdom.
React Component:
React lets us define components as classes or functions. Components defined as classes currently provide more features which are described in detail on this page. To define a React component class, you need to extend React.Component:
class Welcome extends React.Component {
render() {
return <h1>Hello, {this.props.name}</h1>;
}}
The only method you must define in a React.Component subclass is called render(). All the other methods described on this page are optional.
Test React Component:
Currently we are writing test for the components if it's affected by conditional statement (if else). For and example:
<Button
style={{
padding: 16,
backgroundColor: disabled ? 'white' : 'black',
flexDirection: 'row'
}}
/>
test('test button background color if disabled',()=>{
const testRenderer = TestRenderer.create(<Button/>);
const testInstance = testRenderer.root;
const button = testInstance.findByType(Button);
const buttonStyle = button.props.style;
expect(buttonStyle.backgroundColor).toBe('#FFFFFF');
})
We are not writing any test for default style of the components(Which doesn't have any logic). For an example,
<Button
style={{
padding: 16,
backgroundColor: 'black',
flexDirection: 'row'
}}
/>
Note: You can find more details about the test guideline here:
Resource:
All the mobile test team will be involved in the automation scripting.
Out of Scope:
Device-specific testing: Like rendering of UI on different OS (Android and iOS). OS-specific like issues, to recall any iOS upgrade.
WebView related Testing:
Any non-functional testing:
Limitation:
Resource Limitation:
All the members of the mobile team have knowledge of Java. So everyone needs to be familiar with JavaScript as we are using the Jest framework. Also, need to be familiar with the react component.
Technology Limitation:
We can not perform testing on physical devices. (We are not sure if this is possible)
Not Everything can be automated.
Current Progress:
Currently, we are writing unit tests for react components across products. So far, we are able to manage 37.54% of the overall components. We will try to achieve max % unit test coverage for react components. But there are few components with animation and some components which required re-factoring.
Milestone:
We divided our milestone in 2 steps. In step 1, we will try to gain 80% unit test code coverage for the react component. And in step 2, we will try to cover all the functional testing for our product.
Milestone 1: Component Unit Test
Application | Total Components | Weekly Task | QA Involved | Deadline(Weeks) |
Abc App | 25 | 1 | 1 | 20 |
Def App | 50 | 2 | 2 | 25 |
Milestone 2: Screen Functionality Test
Application | Completed | Weekly Task | QA Involved | Deadline(Weeks) |
Abc App | 0 | 1 | 1 | On-going Process |
Def App | 13 | 2 | 2 | On-going Process |
Test Report:
We will get the test report from the scheduled build from BuildKite or any other CI/CD. The test report will trigger once a day through the Slack channel. From the report, we will show the below information.
Header 1 | Header 2 |
Build Number | 6453 |
Build Status | Passed |
Total Passed | 110 |
Total Failed | 0 |
Total Test Cases | 110 |
Test Coverage | 29% |
Report Detail | SonarQube Link |
Interview Experience with AMAZON for the role of Quality Assurance Tester
This role was for Digital/ IoT/Mobile Application based testing :) Amazon is a dream company and everyone wants to work for that company a...
Popular Posts
-
How to Create New AVD (Virtual Device) In Emulator in Android Studio and Install Apk We start AVD in Emulator to test our Android App. AVD...
-
The @BeforeTest methods run after each Test methods . @BeforeTest can be used for creating an initial data set up and prior to running other...
-
Locator strategies supported by Appium: In the video we will see how to find element in different os Android and iOS when doing mobile autom...
-
TestNg provides an option to include or exclude Groups, Test Methods, Classes and Packages using include and exclude tags by defining in tes...
-
In this video we are going to see what is hard assertion in testng Hard Assertion The Default build mechanism of assert is Hard assertion,...
-
What Is TestNG.Xml? TestNG.xml file is a configuration file that helps in organizing our tests. It allows testers to create and handle multi...
-
We are going to understand some of the important Concepts in rest API for sample example I have added a screenshot from Postman which is a p...
-
@BeforeClass: The annotated method will be run before the first test method in the current class is invoked. @AfterClass: The annotated meth...
-
@BeforeTest: This will be executed before the first @Test annotated method. It can be executed multiple times before the test case. @AfterTe...
-
Commonly asked selenium interview questions I will keep updating the list . I have added the answer along with the questions but feel free ...