Saturday 6 February 2021

Installing Appium with WSL ( Windows Subsystem for Linux )

Make sure WSL  ( Windows Subsystem for Linux ) is  up and running on your windows.I will be using Debian command line environment.

Refer this post on how to setup WSL : IN PROGRESS


For installing Appium through WSL CLI we need

-nodejs 

-NPM


Note: It can also be installed using windows command prompt by running likewise command used in windows.


Check if node.js and npm are installed in your system by going to the WSL command line and typing the command

$ nodejs --version
$ npm --version

If they are not installed follow below steps:

Launch WSL Terminal ( In my case it will be Debian)

Start by updating the packages list by typing :

$ sudo apt update

Install the nodejs using the apt package manager

$ sudo apt install nodejs

To verify the Installation execute the following command :

$ nodejs --version

To be able to download npm package, you need to install the npm, the Node.js pacakge manager .To do so type:

$ sudo apt install npm

To verify the npm Install check using the command :

$ npm --version

To verify the npm Install check using the command :

$ npm --version

Install Appium with node.js by typing the following command,

$ sudo npm install -g appium


If you are getting any error/warning related to npm version error like this,



 

Type and enter below command to fix it to install to latest node version 

$ sudo npm i npm@latest -g

and run Appium command again

We will check if Appium is installed by typing the following command

$ appium -v

Start Appium by typing the following command and hit enter

$ appium

You will get something like this




Congratulations!! You have successfully installed Appium with WSL.

Happy Learning 😁

Saturday 16 January 2021

Mobile Application Testing Interview |Ministry of Testing Meetup |Testing Android & iOS Apps | Testing Native & Testing React Native


𝗔𝗯𝘀𝘁𝗿𝗮𝗰𝘁 𝗼𝗻 "Mobile Application Testing: Made Easy": How to test Android & iOS Native, React Native and Flutter apps. Mobile Application Testing Real interview questions answered at the end of session. https://www.meetup.com/Ministry-of-Testing-Kuala-Lumpur/events/274959449 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. This meetup is full of knowledge on Mobile App testing and how we can approach for mobile testing. Blog: http://mobiletestingtip.blogspot.com 𝗟𝗲𝗮𝗿𝗻𝗶𝗻𝗴 𝗢𝘂𝘁𝗰𝗼𝗺𝗲𝘀: ------------------------------------------------------------------------------------------------------------------------ - 00:01 - Introduction to Mobile Application Testing. - 04:08 - Why is Mobile Application development Important? - 05:22 - What is Mobile Application Testing? - 07:05 Why is Mobile Application Testing important? - 10:24 - Any doubt why mobile app testing is important? - 10:54 - Approach to Mobile Application Testing? - 11:06 - Type of Mobile Apps? - 12:15 - Types of Mobile Testing? - 16:55 - 5 Incredible handy key points while testing "Mobile Application" - 19:45 - Creating device matrix? On which device to test? - 21:53 - Simulators vs Emulator? - 24:30 - How you deal with with the possible permutation of creating different device matrix that fit testing requirement? - 26:30 - Do you test on actual device or you get out to get services that emulate the device? - 27:48 - Force upgrade testing: What happens to the phone that does not support upgraded version? - 31:20 - When you have limit of time to test mobile app do you have any plan or order on what to do first and which order you suggest? - 32:28 - Can we do mobile performance testing without deep knowledge of test automation? - 33:00 - Any example of interesting bug you found during testing mobile apps which we can take into account? - 34:00 - When we release an app, I found out some bugs from the customer that even did not come to my mind do you have any tips for test strategy or risk assessment in your work which can help to come up with this idea? - 35:41 - How to answer professionally during interview on a question what is the difference in testing web and mobile application? - 37:30 - Thanks from audience - 38:10 - Arranging the session of live demo for mobile testing that would be great? - 38:30 - Any test technique that you use specially for mobile app testing ( I sliced up fun)? - 39:31 - How we can do regression testing for mobile? - 40:40 - Do you have example of Mobile Apps which can be used as good example when developing mobile apps? - 41:35 - Can you tell me about accessibility point which can be tested in mobile apps anything special? - 42:09 - For my curiosity I got a question: Based on your experience out of 4 like real devices, emulator , simulator and cloud devices which one you prefer for mobile testing? - 43:17 - Any resources which we can read or listen to broaden our knowledge for mobile Testing? Other Playlist: C# For Beginners Playlist: https://www.youtube.com/playlist?list=PLP6zt4-ygviQ8RvlAOGix5JmfkiiZZJn2 Full Software Testing Course: https://www.youtube.com/playlist?list=PLP6zt4-ygviQfrPXX2nLd2bSP_4rZKSRx Python + Selenium Basic: https://www.youtube.com/playlist?list=PLP6zt4-ygviRjvKNuYb8rj8JkT1LwOgBA GraphQL Automation: https://www.youtube.com/playlist?list=PLP6zt4-ygviRXRZ-VUE8C8_xs-6E3rE1k Mobile Testing: https://www.youtube.com/playlist?list=PLP6zt4-ygviTRhQkz4I2G8k0qmMCeyaDC Subscribe to my youtube channel: https://www.youtube.com/user/saifsms91?sub_confirmation=1 For more updates on courses and tips follow us on: - Twitter: http://twitter.com/saifsms91 - LinkedIn: https://www.linkedin.com/in/saifsms91/ - Website: http://mobiletestingtip.blogspot.com - Github: https://github.com/saifsms91 - Buy me a coffee: http://paypal.me/saifsms91 ⚡ Please leave a LIKE and SUBSCRIBE for more content! ⚡ ⭐ Tags ⭐ - Mobile Testing Tutorials - Mobile App test interview questions ⭐ Hashtags ⭐ #mobiletesting #mobileapptesting #mobiletestinginterview

Monday 4 January 2021

Mobile Application Testing Made Easy | Ministry of Testing PPT | Kuala Lumpur #9 Meetup


Mobile Application Testing Made Easy

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: BabelTypeScriptNode.jsReactAngular 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