Wednesday, 18 May 2016

Testing Techniques And Test Plans

Software testing is a critical element of software quality assurance and represents the ultimate review of specification, designing and coding.


·         Testing is the process of executing a program with the intent of finding an error.
·         A good test case design is one that has a probability of finding a yet undiscovered error.
·         A successful test is one that uncovers an as yet undiscovered error.

These above objectives imply a dramatic change in view port. Testing cannot show the absence of defects, it can only show the software errors are present.


Any engineering product can be tested in one of two ways:

 Levels of testing
Client Needs
Acceptance Testing
System Testing
Integration Testing
Unit Testing

1. White Box Testing: This testing is also called as glass box testing. In this testing, by knowing the specified function that a product has been designed to perform, test can be conducted that demonstrates each function is fully operation at the same time searching for errors in each function. It is a test case design method that uses the control structure of the procedural design to derive test cases. Basis path testing is a white box testing. Basis Path Testing:
·         Flow graph notation
·         Cyclomatic Complexity
·         Deriving test cases
·         Graph matrices

Control Structure Testing:

·         Condition testing
·         Data flow testing
·         Loop testing
2. Black Box Testing: In this testing by knowing the internal operation of a product, tests can be conducted to ensure that “all gears mesh”, that is the internal operation performs according to specification and all internal components have been adequately exercised. It fundamentally focuses on the functional requirements of the software. The steps involved in black box test case design are:

·         Graph based testing methods
·         Equivalence partitioning
·         Boundary value analysis
·         Comparison testing


A software testing strategy provides a road map for the software developer. Testing is a set of activities that can be planned in advance and conducted systematically. For this reason a template for software testing a set of steps into which we can place specific test case design methods should be defined for software engineering process. Any software testing strategy should have the following characteristics:
1. Testing begins at the module level and works “outward” toward the integration of the entire computer based system.
2. Different testing techniques are appropriate at different points in time.
3. The developer of the software and an independent test group conducts testing.
4. Testing and Debugging are different activities but debugging must be accommodated in any testing strategy.


The Software Test Plan (STP) is designed to prescribe the scope, approach, resources, and schedule of all testing activities. The plan will identify items to be tested, the features to be tested, the types of testing to be performed, the personnel responsible for testing, the resources and schedule required to complete testing. The purpose of the software test plan is such as:
·         To achieve the correct code and ensure all Functional and Design
·         Requirements are implemented as specified in the documentation.
·         To provide a procedure for Unit and System Testing.

·         To identify the test methods for Unit and System Testing. 

Friday, 13 May 2016

.R FILE in Android

This is an auto generated file in android. If something is created in the activity_main.xml, then an element is created in the R file corresponding to it. A project cannot run without the R file.
If R.jar file is deleted, then android automatically creates one back.  It provides access to the resources defined in android. It contains access to resources such as drawables, layouts, strings, arrays etc. One of the advantage is to use different elements for different screens.
For more details refer to:

Wednesday, 11 May 2016


Why to seek an opportunity,
When I'm an opportunity.
Why wait for the right time,
When every time is a right time.
Why to follow the path shown by others,
When I can create my own path.
But still the question is why?
And when will I find the answer
Why why....

Why to give up,
When I can!
Why to say impossible,
When it itself says that
"I'm possible".
Why to criticize others,
When there are many to do so.
But still the question is why?
And when will I find the answer?
Why why......

Why to cut others line,
When I can create my own!
Why to think of failure,
When I can succeed!
Why to regret any decision,
When it was mine!
But still the question is why?
And when will I find the answer
Why why......

Why, why and why
Still there remain many whys'
When I am the answer.
Now stop this why and when,
Just start finding the real you. 👍

                                                            -  Navtej Singh Bajwa

Monday, 9 May 2016

Fragments in android activity

Fragments in an android activity are used for more modular designs. A fragment can be reused in various activities. An activity can include multiple fragments. A fragment is used in the activity, so the fragment works as long as the host activity works.
Benefits of using fragments:
1.Modularity: They divide the work of an activity into smaller parts. Thus helping in faster speed and better maintenance of tasks at hand.
2.Reusability: Fragments can be shared among various activities.
3.Adaptability: They help in using various elements of the activity according to the screen orientation and the screen size.
To create a fragment the developer needs to make a sub class of the existing class. In order to create a fragment for the layout, it is needed to be implemented through onCreateView() callback method. This function is called when the Android System has to call the fragment to its layout.
A fragment can be added to the activity in two ways:
1.Declaring the fragment inside the activity’s layout file.
2.Programmatically adding the fragment to an existing ViewGroup.

Friday, 6 May 2016

Android Layouts

There are six different layouts in android:
1. Linear Layout: Aligns all children in a single direction, vertically or horizontally.
2. Relative Layout: Displays child views in relative positions.
3. Table Layout: This groups the views into rows and columns.
4. Grid View: Displays data in a 2D, scrollable grid.
5. Tab Layout: This provides a horizontal view to display all the tabs.
6. List View: List of scrollable items.
You can declare a layout in two ways:
1. Declare UI elements in XML
2. Instantiate layout elements at runtime.
Layout Parameters:
XML layout attributes named layout_something define layout parameters for the View that are appropriate for the ViewGroup in which it resides.
A view has a location, expressed as a pair of left and top coordinates, and two dimensions, expressed as a width and a height. The unit for location and dimensions is the pixel.
Layout Files: Each layout file must contain at least one root element. The root element must be either a View or ViewGroup object. Once defined, other widgets or additional objects can be added as objects.
• Attributes: Each layout has its own variety of XML attributes. Attributes need to be declared first through "attr" tag in the /res/values sub directory.

Monday, 2 May 2016

Feasibility Study

The detailed studies carried out to check the work ability of proposed system. A feasibility study is a test of system proposal regarding its work ability, impact on the organization, ability to meet user needs and effective use of resources. Thus during feasibility analysis for this project, following primary areas of interest were considered. Investigating the existing system in the area under investigation and generating ideas about a new system does this.
Technical Feasibility
This evaluation determines whether the technology needed for the proposed system is available or not.
• It will avoid multiple file handling
• Registration and query generation is very easy
• The new system provides full security of confidential data
Economical Feasibility
The system will be developed and operated in the existing hardware and software infrastructure. So there is no need for procuring additional hardware and software for the system. The proposed system will replace the hectic effort, cost and man power involved in the existing system. The employees will be trained in using and operating the system. Thus the project is economically feasible for the department.
Behavioral Feasibility

It can be operated by anyone since it provides an effective and user-friendly GUI. Therefore, it can be operated by anyone without requiring some special technical skills to operate. This mainly includes the users which are using this application. They can schedule their visit without wasting their precious time and also help the operation team in providing fast and effective service delivery. For the new users who are using the application for the first time it is very simple. They can easily understand it as it is very responsive. Generally all the fragments and the activities have been displayed for the easy preference of the user.

Scheduled Feasibility
The project is assigned to the intern as an internship exercise to complete within a fixed schedule of time. Each module of the system is designed following a specific module in order to assist the proper accomplishment of all requirements.

  • To complete the project as per schedule.
  • Create a truly collaborative work environment where visibility of the work involved in the project.
  • Communication breakdowns cause unclear goals and objectives.

Sunday, 1 May 2016

ਮੇਰੀ ਮਾਂ / meri maa

ਅੱਜ ਫੇਰ ਯਾਦ ਤੇਰੀ ਮਮਤਾ ਦੀ ਆਈ ,
ਓਹ ਘੁੱਟ ਚੂਰੀ ਤੇਰੀ ਦੀ ਯਾਦ ਮੇਰੇ ਮੂਹ 'ਚ ਅੱਜ ਵੀ ਪਾਣੀ ਲਿਆਈ ਮੇਰੀ ਮਾਂ।  
ਜਦ ਕਦੇ ਵੀ ਠੰਡ 'ਚ ਠ੍ਰਇਆ ਜਾਂ ਕਦੇ ਧੁੱ੫ 'ਚ ਸੀ ਸੜਿਆ,
ਓਦੋ ਯਾਦ ਤੇਰੀ ਬੁੱਕਲ
ਬੜੀ ਸਤਾਈ ਮੇਰੀ ਮਾਂ। 

ਉਂਜ  ਤਾਂ ਸਾਲ ਕਈ ਹੋਗੇ ਸਾਨੂੰ ਵੱਖ ਰਿਹਣਦਿਆਂ ਨੂੰ,
ਪਰ ਤੂੰ ਇੱਕ ਪਲ ਨਾ ਮੈਨੂੰ ਭੁਲੱ ਪਾਈ ਮੇਰੀ ਮਾਂ। 

ਪਰ ਮੈਨੂੰ ਯਾਦ ਆ ਕੇ ਜਦ ਵੀ ਆਪਾਂ ਮਿਲੇ,
ਮੈਂ ਘੱਟ - ਵੱਧ ਹੀ ਮਮਤਾ ਤੇਰੀ ਹੈ ਸਲਾਈ ਮੇਰੀ ਮਾਂ। 

ਮੁਜ ਨਿਮਾਣੇ ਨੇ ਕਰੀਆਂ ਗ਼ਲਤੀਆਂ ਹਜ਼ਾਰ,
ਪਰ ਤੂੰ ਰੱਬ ਵਾਂਗ ਮੇਰੀ ਹਰ ਇੱਕ ਗ਼ਲਤੀ ਹੈ ਭੁਲਾਈ ਮੇਰੀ ਮਾਂ। 
ਰੱਬ ਨਾ ਕਰੇ,
ਜੇਕਰ ਮੈਂ ਵੀ ਹੋਰਾਂ ਵਾਂਗ ਦੂਰ ਤੇਰੇ ਤੋਂ ਹੋਜਾਂ,
ਪਰ ਮੁਜ ਆਪ ਜਾਏ ਨੂੰ ਦੁਆਵਾਂ ਤੋਂ ਨਾ ਭੁਲਾਈਂ ਨੀ ਮਾਂ। 
ਵੱਖ ਆਪ ਤੋਂ ਹੋਵਨ ਨਾ ਦੇਵੀਂ,
'ਤੇ ਮੁਜ ਭਟਕਤੇ ਨੂੰ ਸਹੀ ਰਾਹ ਲਿਆਈਂ ਮੇਰੀ ਮਾਂ। 

ਆਖੀਰ 'ਚ ਇੱਕ ਹੀ ਗੱਲ ਆ ਕੇ
ਜੇ ਰੱਬ ਚਾਹਇਆ, ਤੇ ਤੇਰਾ ਜਾਇਆ 
ਪਹੁੰਚ ਨਵੀਆਂ ਬੁਲੰਦੀਆਂ ਪਾਇਆ ।
ਤੇ ਆਹਾ ਸਬ ਵੀ ਤਾਂ ਤੇਰੇ ਪੈਰੋਂ ਹੀ ਆਇਆ ,
ਤੇ ਆਹਾ ਸਬ ਵੀ ਤਾਂ ਤੇਰੇ ਪੈਰੋਂ ਹੀ ਆਇਆ।

                                                                      -  ਨਵਤੇਜ ਸਿੰਘ ਬਾਜਵਾ