Continuing from the previous post, I'm seeing what are the different factors in Communication to test and to automate. In a brainstorm session, I got the below areas. The below mentioned are apart from the call receiving and dialing, receiving and sending of the message -- text, multimedia, voice or whatever the message supports to send and receive.
I learn and see, these are the activities whose events bring in communication. When I say communication, I also see the communication as disturbance because it disturbs the ongoing activities of another active app(s) in the device. For example, the disturbance to other app which is active in device and communicating. I don't claim these are the only factors of Communication. These are the few which I was able to identify in a brainstorm session. As this, one can keep identifying and include it in test coverage and automation coverage areas.
I learn and see, these are the activities whose events bring in communication. When I say communication, I also see the communication as disturbance because it disturbs the ongoing activities of another active app(s) in the device. For example, the disturbance to other app which is active in device and communicating. I don't claim these are the only factors of Communication. These are the few which I was able to identify in a brainstorm session. As this, one can keep identifying and include it in test coverage and automation coverage areas.
- Phone Call
- Dialing
- Receiving
- Hold
- Ending
- Call Swapping
- Conference Call
- Unattended
- Missed Call
- Changing the system (device) state and ignoring call
- Flight Mode
- Mute off sound
- Unmute
- Turn off/on vibration
- Turn off/on indicators
- Network interrupted call
- Inconsistent signal transmission
- Telephony Events and Notifications
- Message (text, multimedia, voice)
- Incoming
- Outgoing
- Notifications
- Failure
- Drafted
- Bluetooth
- Scanning
- Manual Scan
- Auto Scan
- Scheduled Scan
- Regular Scan
- Receiving
- Sending
- Scanning
- Internet (WiFi and Network Carrier)
- Switch of network signal
- EDGE / 2G
- 3G
- 4G
- Intermittent signal
- Restricted Signal
- Network/Signal Jammer
- Upload Scenarios
- Download Scenarios
- Browsing scenarios
- Other Apps Activities
- Regular Interval Synchronization
- Anti Virus and Enterprise App Synchronization
- VPN
- Restricted Network Channels
- Client Server Scenarios
- Restricted
- Redirection
- Timeout
- Denial of Service
- Payload
- Processing by device and its resources
- Processing time for app to keep communication alive
- For example, transactions of amount via mobile banking apps
- Platform Organization
- Cloud
- Distributed
- One Store
- Switch of network signal
- System Calls
- Alarm
- Reminder
- Meeting
- ToDo
- Tasks
- Updates
- Software Update
- Scheduled update
- Vendor Update
- System Monitoring
- Device Intelligence
- Low Battery Interruption
- Resource Shortage Interruption
- Compatibility Interruption
- OS and Device
- OS, Device and App
- OS, Device, App and Sensors
- OS, Device, App, Sensors and related hardware and software
- and many more upon building the heuristic list
- Network Surveillance Interruption
- Power and Discharge Interruption
- Device not responding for any tap or interruption
- During call
- During transaction's request or response
- Device Intelligence
- Sensor Interruption
- Gyroscope
- Accelerometer
- Compass
- Motion Sensor
- Light Intensity Sensor
- Gaming Interruption
- With association of above sensor
- Hardware Support
- Device support on different geographical network
- Transfer of Files
- On different USB modes
- On different transfer modes
- Manifest Permissions
- Manifest not providing required communication permission
- Revoked permission by device
- aborted communication channels due to restrictions on launch of app or/and device
- Geographical restrictions
- Platform Library Integration
- 3rd Party Library Integration
- ODM's data or component being replaced by OEM's components
- For example, default Android libraries being replaced by 3rd party vendor's SDK on particular device model
- iOS platform can be approached on down scaling of device model i.e. installing latest apps on previous Apple devices
- ODM's data or component being replaced by OEM's components
- Compatibility with different version of pure native libraries of Android and iOS platform and the OEM's device
- Device's Interpretation of Communication and Conveying to User
As this, I keep identifying the areas to interpret with tests which potentially can influence the Communication which is
- existing and communicating
- about to communicate
- to start the thread of communication
- the terminated communication thread
I will continue to identify them by several means based on the context of testing. In general, knowing and learning the Platform, OEM and ODM along with its associated system helps very much. Now, looking closely into the above mentioned, I see Communication crossing over Network, Platform and other factors of COP FLUNG GUN. Further, understanding the architecture of the product and how technology is used to build the app, I will start isolating and narrow down much into Communication from and along with other factors of COP FLUNG GUN.
On the closing note, it is up to me for what do I bring in communication -- a phone call or a message. And both of these need Network and Platform assistance isn't it? To keep it simple and structured, I believe, Network and Platform are seen as separate and individual factors here. How I come up with tests and figure out the areas to automate using these factors which overlaps will be based on my Test Strategy for the context.
There are simple and yet handy tools which can be used to create events which will interrupt, disturbs and starts the new communication while a communication is happening. To end this here, I learn, communication is no more a phone call and text events in mobile devices; it is also a disturbance, noise and interruption to its very own system. And, the communication also exist within the device like the communication exist between the two or more devices.