Sunday, August 12, 2012

Business Vs Functional Requirement


Chaps associated with the software development whether they are software engineers, business analyst or software quality assurance professionals are often confused about Business and Functional Requirements and are not easily able to distinguish from one another.

Let’s describe Business and Functional Requirements briefly followed by short scenario to get it right more clearly.

Business Requirement:

Any objective business or organization wants to achieve from software application. It could be single line statement or set of statements.

e.g. Pakistan Government wants to take all of its operations online and each ministry will have its separate online portal to cater respective population needs.

Presence of each business requirement in software applications is critical to its success.

Functional Requirement:

All the explicitly stated user requirements are considered as Functional Requirements. Also, any requirement that helps in achieving business objective but not specifically put forward by user is also considered as functional requirement.

e.g. Authentication required to login to application. Page load time shall not increase from 5 seconds.

Presence of each functional requirement in software applications may or may not be critical to its success.

Let’s take a following short scenario to understand practically the difference between business and functional requirements.

“Ministry of Education, Pakistan has decided to formulate the ratio between Pakistan’s States (Sind, Punjab, Baluchistan, KP and Kashmir) about population’s education and level of education (undergrads, grads and postgrads etc.) and devised a form for that purpose.”

In the above statement “education ratio between states population” is the business objective (business requirement) Ministry of Education wants to achieve. For that purpose, provision (i.e. user is able to select or provide his/her state he/she lives in) of States in the application is a success criteria of the application. Now, Functional requirement in this scenario is that Combo Box (pre-filled with states Sind, Punjab etc. user may select one out of available choices) or Textbox (user may type in his/her states he/she lives in) could be provided depending upon the feasibility of application.

Must comment if you like it.


Saturday, June 2, 2012

Managing Employees With Especial Needs


Although Pakistan ordained the Disabled Persons (Employment and Rehabilitation) Ordinance in 1981, many managers are still uncertain about how best to handle employees with special needs.

Here is the roadmap that can be followed

1. Have a work plan: Document the goals that should be achieved by the employee and his/her key responsibilities. Prepare a proper job description and a plan regarding how responsibilities will gradually be transferred to the employee.

2.    Know the core strengths: Be clear on what skills the person is bringing to the table. If administrative tasks are part of the employee’s job description, make sure that there are enough administrative tasks for the person to do. Repetition is boring for anyone, so ensure you have a job enrichment plan in place.

3.    Expect ethical behavior: The idea is to give equal not preferential treatment. Most people resort to treating people with special needs like children and make allowances for slack behavior in order to avoid confrontation. As with all other employees, you need to objective even if you feel guilty and sympathetic.

4.    Frequent feedback session: Whether it is regarding job performance, physical mobility or accessibility limitation issues, and regular one-on-one sessions with the employee will encourage trust and open communication.

5.    Make tough decisions: if there are complaints regarding e.g. unprofessional conduct, absenteeism or tardiness, consult your HR department and obtain 360-degree feedback on the employee to ensure that, you are being fair and have tried all options available to you before you take an action against the employee.
  
Nobody wants to discriminate against an employee with disabilities, but as a good manager it is important to stay focused on the core premise of a healthy work environment - equal treatment for all employees.


Saturday, May 26, 2012

Software Defect Aging

The term defect aging in software testing is very common term not for Testers but usually for Software Test Leads, Test Managers and Project Managers. Defect aging is basically let these chaps know how long it has been the defect under question is not closed or still open and/or how many times the software defect life cycle is performed on that defect. The greater the number of software defect life cycles performed on any defect the greater the cost actually incurred on that defect, and this is the very alarming sign for any project and project team as well.

Defect aging also helps in analyzing the performance of the testing team and software development team. If the defects are fixed and closed in the very first software defect life cycle then this will let the Project Manager that its software development team is on the right track with right performance.

In order to keep track of the things discussed above the organization should have robust test management systems or tools. Defect Aging with manual work will be cumbersome to manage; the tools and TMS do it for you easily. The test management tools keep track of the defect status, who changes it and when changes it and this way it gets automatically find out that how many times the software defect life cycle have been performed on any particular defect.

Tuesday, April 3, 2012

Quality Family and Definitions

 Quality:  Conformance to explicit and implicit requirements and adherence to defined standards.


Quality Control: Are set of reactive activities (testing, inspection, technical reviews) to uncover defects injected into the product by people and/or processes.


Quality Assurance: are set of preventive activities that prevent defects to be injected into the product/project by people and/or processes.


Quality Improvement: Lessons learnt throughout the project/product life cycle when something went wrong or well. Adopting practices/processes (for future project/product life cycles) that worked well and avoiding those that created a mess. E.g. decide on whether to adhere to inspection of artifacts produced in different life cycle phases or it can be skipped if that not worked (according to objectives set when project is initiated) in some specific cases.


Measuring Quality: The degree to which the conformance to explicitly stated requirements is achieved. Numerically, number of client reported issues, number of defects uncovered during testing, inspection, reviews, effort variance in completing activities.

Friday, March 16, 2012

Exit Interviews


Exit interviews are a critical step in the employee separation process. Yet, in most organization in Pakistan, they are often ceremonial procedures only; standard questions are asked and certain forms are signed. However, exist interviews should be about listening to the employee, and viewed as an opportunity for the management to find out why their organization isn’t and ideal workplace.

HR Do’s & Don’ts
  • Don’t schedule the exit interview at the last stage of the resignation process. Conduct it immediately after the resignation notification, so remedial steps can be taken, especially if the person leaving is the key resource.
  • Use the interview to learn about issues afflicting other employees and share the top reasons for turnover with the senior management.
  • If the reason for leaving is listed as ‘personal’ make sure to investigate whether the employee has ticked this option to avoid listing issues such as harassment or knowledge of fraudulent activities.

Employee Do’s & Don’ts

  • Don’t use the exit interview to badmouth your former boss or vent about how you were not rewarded with a promotions. This will only reflect your poor social skills. If the reason why you are leaving is that you had a hard time working for your boss, state the problem. For example, “I was forced to work late on a daily basis which took a toll on me and my co-workers.”
  • If the person conducting the interview is at a senior level, convey your thoughts regarding the performance management system and key issues that your department faced.
  • If you were being discriminated against because of your religion, gender or ethnicity, state specific instances. If possible, provide evidence/witnesses to back your claim.
  • Share your career objectives with the interviewer; he or she may be conducting an exit interview now, but could be recruiting you at another organization in the future.


The writer is a branding consultant and can be contacted via LinkedIn.


Sunday, March 4, 2012

How to make impressive impression in an interview?

Most of the time it happens in our professional life that we come across a situation, where people complaining about the job they really deserve but failed to get that. This happens sometime just because people not using the right thing at the right time. I have found some common mistakes or missing attitude in peoples usually going through interviews and failing most of the time.

Mistake # 01: Attire

Most of the time people wear odd stuff that is not according to the job description or position they are being interviewed for. Always try to wear plain shirt and trousers always wear the matching waist-belt with the shoes. Black color is best choice for these trio belt-trousers-shoes, and the shirt can be of any choice but make sure to consider the plain which is consider as formal.

Mistake # 02: Shake hands firmly

Employer and/or people hiring for the organizations want the potential candidates to be with full of energy. No one likes to invest in the type of human resource that lack in the energy needed for the job, for that when you shake hands with the person interviewing you always shake hands firmly (make sure you are not going to break the hands) and with confident each time before starting interview and leaving the interview room. But this is not the case when opposite gender are there in the interview room, reduce the firmness accordingly.

Mistake # 03: Effective use of body language.

Sitting in the steady position throughout the interview gives the indication that you are not comfortable in the interview and you lack in confidence as well. Keep your body flexible enough and use your hands and facial expression to support your responses against each question. Effective use of body language always give the extra advantage and support your answers, fill the gap of the content that you are unable to deliver from words.

Mistake # 04: Never give frown face

Short-tempered people usually give the feeling of dislike when they are asked for an answer which is not directly map with the required knowledge and skills and usually give the bad answers. Always keep in mind that hiring an employee does not only mean to meet the skills required. There are certain things considered. If you are asked such question always try to give your best answers with all smiling face, this will reduce your anger and give the good impression on the interviewer.

These are the potential mistakes that candidates usually make. Using slight tricks one can leverage these mistakes and turn them into his/her favor. This is not a big deal.

All the very success!!!

Tuesday, February 28, 2012

Understanding CMMI with bird-eye view.


This is the fourth of a series of How to be Software Quality Professional, and we will look two major frameworks that are widely implemented by thousands of organization. As a Software Quality newbie you don’t need to be certified in CMMI or ISO, you only need to know the basics of these standards and process improvement framework. The subsequent posts will talk over in greater detail.

As the Software Industry is growing around the globe and companies are willing to remain intact with their clientele by providing quality software solutions to them. By this willingness there comes an idea of Standards and Best Practices to win the customers or at least sustain them. In order to lower the threats of organization losing their customers some international organization produces some standards and best practices which are widely accepted and practiced around the world in every software development organization to a minimum to maximum extent. This post will describe high level overview of some common quality standards which help in implementing robust Quality Management Systems – QMS

CMMI

CMMI –Capability Maturity Model Integration, one of the robust and widely implemented process improvement standards developed by Software Engineering Institute, Carnegie Mellon University. This process improvement framework provides a five step ladder to achieve the unmatched maturity in software development industry and most of the time CMMI becomes the competitive advantage for the organizations in question. CMMI Levels and their definitions are as follows.

            Level 5:            Continuous Improvement OR Optimized
            Level 4:            Quantitatively Manage
            Level 3:            Defined
            Level 2:            Managed
            Level 1:            Initial OR Performed

In order to achieve any of the above level any organization must implement the corresponding process areas also known as Key Process Areas (KPAs). For instance, If an organization willing to achieve Level 2 maturity it should implement all the applicable process areas correspond to Level 2 (i.e. Managed). All of the levels have some specific goals and generic goals. Specific Goals are related to each process area while Generic Goals are related to individual Maturity Level.

For example, Project Planning is one of the process area belongs to Level 2; it has 3 Specific Goals namely:

  1. Establish estimates
  2. Develop a Project Plan
  3. Obtain commitment to the plan
The generic goals of each maturity levels are as follows:

  1. Achieve Specific Goals
  2. Institutionalize a managed process
  3. Institutionalize a defined process
  4. Institutionalize a quantitatively managed process
  5. Institutionalize an optimizing process

Mark C. Paulk, Ph.D (http://www.cs.cmu.edu/~mcp/) has rightly defined the need of process improvement and common misunderstanding about process framework implementation he say, “Much of the software crisis is self-inflicted, as when a CIO says, “I would rather have it wrong than have it late, we can always fix it later”.

Implementing processes standards doesn’t make you late on the project; it takes you well on the project with estimated cost, effort and quality.


Monday, February 20, 2012

Working With Passion






With Valentine’s Day just passed, love and passion were and are still in the air. Unfortunately, many people spend more than half their waking hours doing work for which they feel no passion, living a work life gloom and misery.

The passion has to be spontaneous and cannot be forced is an unfortunate myth in our culture; people think you can either love your job or not. However, in reality, passion can be created by tweaking the activities and pursuits you engage in. All it takes is a bit of patience and an open mind.

The process of seeking what you love and turning it into a successful career is possible.

Here are some ways to fire your enthusiasm and passion:

  • Be curious
Curiosity is the basis of passion; keep things interesting by taking fresh perspective and a novel approach to your work.

  • Break the frustration barrier
You can do this by tweaking the challenge. For example, if an activity is too difficult for you to become enthusiastic about it, worry less about results and concentrate on experimenting and building up skills.

  • Remove the chains
Feeling forced into an activity is a sure way to kill passion. Resisting the flow of work and the given tasks will only make you more miserable. Keep In mind that there are consequences for not taking action and remember, you always have a choice.

  • Focus on the present
When you find a task overwhelming, don not stress about what needs to be done next month or next year, focus on the immediate action needed. Focus on each step of the marathon, not on how many miles you have left.

No one can be in ‘a state of passion’ all the time. Inevitably, there will be boring and uninteresting routine administrative tasks that you dread. The key is to recognize when you are in one of these bored phases and figure out how to improve the situation and get those passion juices flowing again.

Saturday, February 11, 2012

How to get most out of the feedback session?


Empowering Feedback

One of the hardest challenges you may face as a manager is giving constructive feedback to your employees. However, if you follow some simple guidelines, you can make feedback sessions useful rather than stressful.

Effective feedback comprises five key elements:

1. Deliver feedback immediately

Instant feedback will allow the employee to modify his/her behavior immediately. If there was an incident that prompted the feedback, it will fresh in everyone’s mind.

2. Praise and then provide suggestions for improvement

It is critical to begin each feedback session by praising the employee’s accomplishments. Then, make a conscious effort to give constructive feedback and suggestions that will help your employee(s) improve their quality of work, rather than just criticizing their work.

3. Be specific and make positive statements

Specific feedback is more likely to resonate with employees instead of vague allusions or accusations. Instead of saying, “You make too many mistakes” or “Costs are too high” rephrase your statements to say, “I would like you to reduce your error rate,” or “Let’s aim to reduce costs by 25%”.

4. Focus on Improvement

Remember to focus on Improvement instead of just criticizing. Talk about how you would like to see things done instead of focusing on the things you don’t like. Let your employees know that you have confidence in their ability to improve.

5. Invite employee response

After you deliver feedback, invite the employee to respond. Listen to what he/she has to say. There may be circumstances you were unaware of. You may need to investigate resource problems or process issues. You can learn a lot if you give the employee a chance to talk openly.
  
Remember, effective feedback can build employee confidence and help improve quality of output. When appropriate feedback is delivered at the right time, employees have timely and specific information about how to change the way they work. If done in the right manner, feedback can be empowering rather than demoralizing.


Tuesday, January 31, 2012

Exhaustive Testing


Exhaustive Testing as the name suggests ‘Performed comprehensively and completely’ and remember that 100 % Testing is not possible, you may have a greater confidence on your application but 100 % Tested Application can only be found in Pluto; just take it for the understanding don’t get into it.

Let’s come to the actual point. Assume you are testing an application that has a Textbox (accepts min 1 and max of 26 chars length) that accepts characters from a-z, if the user is a novice tester then it will first enters a, b … z individually then will group them as aa, ab, … az, then will increase the order and combinations and then finally come up at the point where he has to enter all characters as abcde…z in that Textbox. This kind of testing is exhaustive testing which is extremely undesirable.

The solution for the Exhaustive testing appears to be resolved by boundary values as follows:

If I am going to test that Textbox in my application I will create following test cases to get the same degree confidence that required by Exhaustive Testing.

1. Enter nothing (leave the textbox blank) application remains intact error/warning is displayed depending on requirement.
2. Enter a or any other SINGLE character only
3. Enter ab or any other TWO character only
4. Enter abc..y or any combination of 25 characters only
5. Enter abc…z or any combination of 26 characters only
6. Enter abc…za or any combination of 27 characters only, error/warning is displayed depending on requirement.

I anticipate, the idea is a bit clear about Exhaustive Testing by considering above two examples and it is very obvious which way is more effective and efficient.

Let’s look at the scientific part of the Exhaustive Testing. You know that English alphabets composed of 26 letters and the Textbox above is also a maximum of 26 length, therefore there are “6.1561195802071573107966742884002 e+36” that many combination that you have to test for that single Textbox which is impossible. If you are thinking to automate this textbox then you are fooling yourself, the amount of logic required to test this textbox will also be cumbersome. Once you try to find the solution for this then you will say test case 1 to test case 6 is the better solution.




Monday, January 30, 2012

Test Strategy versus Test Plans


Test Strategy is part of the Test Plans. Test Plans describes who will do what? Describes roles and responsibilities of test team, resources required any risks associated, major functions to be tested. Test Strategy is a very important part of the test plan. When requirements analysis phase is finished and requirements are somewhat mature then testing team starts preparing test plans, how to carry on testing and what strategy to be followed.

In very simple precise terms there are two basic testing strategies:

 To test the software in its entirety, once the completed package is available; otherwise know as “big bang testing”
 To test the software piecemeal, in modules, as they are completed (unit test); then to test groups of tested modules integrated with newly completed modules (integration tests). This process continues until all the package modules have been tested. Once this phase is completed, the entire package is tested as a whole (system test). This testing strategy is usually termed “Incremental Testing”

Incremental Testing is further divided into two classes Bottom-up Testing Strategy and Top-Down Testing Strategy.


What is Test Scenario?


Test Scenario

Test Scenarios, as it little obvious with its phrase. Scenario is something which is meaningful. Let’s take an example of routine life – as in submitting a utility bill in queuing in front of the local bank or via your cell phones. Doing that scenario you have to meet some conditions (i.e. by date available for the bill) and some valid documents (utility bill). Available Date and Utility bill itself meaningless in someway until it is submitted/cleared. Therefore, all the steps you will take to submit your utility bill will become a SCENARIO. Thinking all these steps in computer software context is a Test Scenario if an automated systems is put into place in the bank and you are testing the utility bill scenario in that software application.

Technically, test scenario is group of test cases to achieve/complete desired goal (objective) with the software application.

Let’s take the other example step-wise.

How do you check your emails? Checking emails is Test Scenario… How?

1. Launch browser or tab
2. Enter mail.google.com
3. Provide user-id password
4. Press Login

Step 1 to 4 as a whole represent a Test Scenario, if you successfully managed to see your emails the Test Scenario is passed otherwise it will be considered as failed

Formally, “steps required to complete a meaningful activity is a test scenario”

In the above example steps 1 to 4 are individual test cases in order to test individual steps.

Test Scenarios are the cornerstone of Scenario Based testing.



Saturday, January 28, 2012

Are You/We Confucius At Work?


Confucius at work

Confucius, the Chinese philosopher (551-479 BC), is widely quoted for his succinct counsel. On the occasion of Chinese New Year which has began a few days back, and coincides with the post-appraisal period for most companies, lets take heed of his words to shape the coming year at work.

Confucius advice, “Real knowledge is to know the extent of one’s ignorance,” is particularly relevant in this context. It suggests that we ought to be aware of how much we know. And, more importantly, how much we don’t know, which is to say that we ought to be aware of the limitations of our knowledge.

In the terms of what Confucius advises, the acquisition of knowledge is to widen one’s own perspective in order to see a broader truth. As they say, the more you know, the more you realize how much you don’t know. In the word of Albert Einstein, “As the circle of light increases so does its circumference of darkness.

To have knowledge enables one to be acutely aware of oneself and the world around us, to the extent of recognizing how far you can go (for instance) to the edge of a cliff without being ignorant to the possibility of falling over. Another quote by Confucius that shed more light to be one above is, “He that would perfect his work must first sharpen his tools”

Steven Covey calls it ‘Sharpening the Saw’, the habit of self-renewal. It suggests examining the extent of your knowledge; a blunt saw is far less efficient. It calls for planning and preparation and constantly revisiting what you know in order to add to it, because the minute we decide that we are an expert in any field, we stop being innovative and seeking new ways of doing things.

Questioning what we know and what we don’t know is the principle and the process that empowers us to move in an upward spiral of growth, change and continuous improvement.







Saturday, January 21, 2012

How To Help Employees Dealing With Winter Blues?


While many of us go into a sort of ‘natural hibernation mode’ in winter and grumble and complain as the days turn shorter, a lot of people suffer from a condition called Seasonal Affective Disorder -  SAD, popularly know as the ‘Winter Blues’

People suffering from SAD typically feel lethargic, depressed and withdrawn. They sleep more, eat more and crave carbohydrates and sweets. They also become irritable and impatient, have trouble thinking clearly and quickly, and tend to make more mistakes. Usually, symptoms cease after winter is over; for people suffering from severe cases of SAD, light therapy and counseling are advised.

Research indicates that SAD is caused by inadequate light during winter, which creates an imbalance in brain chemistry. In his book, Winter Blues: Everything You Need To Know To Beat Seasonal Disorder, Norman E. Rosenthal states that even people living in cities that are sunny during the winter suffer from Seasonal Affective Disorder. He attributes this due to decreased exposure to direct sunlight. Additionally, some researchers and psychologist point out that December is also a nostalgic month for many people, and as a result, they are prone to being depressed.

There are a number of initiatives that employers can implement to help arm employees against Seasonal Affective Disorder:

ü      Position Desks near windows or install sufficient lighting.
ü      Encourage employees to exercise daily and eat healthy
ü      Organize Lunch ‘n’ Learn seminars or provide written information on how better to deal with Seasonal Affective Disorder
ü      Provide counseling services.

Perhaps the last word about SAD goes to Stephan Covey, who in The 7 Habits of Highly Effective People writes that proactive people carry their weather with them. He suggest that people should concentrate on the things they have control over and can change, rather than being counterproductive and wasting energy complaining about the Cold and Dark.



Monday, January 16, 2012

Software Testing Briefly Re-visited...


This post at the Software Quality Geeks is 3rd of a series of how to be Software Quality Professional. This post will talk about the basics of software testing. This is one of the core areas of Software Quality and also stands for one of the major responsibility of the Software Quality Professionals as we discussed in the “Does Your Organization Have A Well Defined Software Quality Process?”

Software Testing

Software Testing can be very simply defined as “the process of executing/running the software application in order to find visible and/or hidden defects (non-conformance to requirements)”. The defects are not only non-conformance to requirement this can be unusual behavior of controls of the application which is not usually and explicitly elaborated by clients.

“Good testers are masters at noticing ‘something funny’ and acting on it.”  
-Brian Marick

Practical implication of the Brian Marick can be felt when you trying to scroll down from the keyboard on Microsoft Word file and MS Word does not allow you to scroll down via keyboard navigation keys and suddenly moves up where you have dragged the scroll bar from.

Software Testing can be performed in either of the following two ways depending upon the Software Development Life Cycle chosen for the software being developed.

Conventional: In conventional ways testing is started after the coding is finished.

Unconventional: In unconventional ways testing is ongoing process and started from the initial phase. This is widely accepted as compared to conventional testing because it helps identifying defects as early as possible.

In order to achieve a great level of confidence on the software application great effort required to put on the application. But this is not the case in today’s world of software development. Effective and efficient use of software testing can help achieve a required confidence. In order to achieve a greater confidence on software application any organization can use mixed combination of testing techniques provided by Black-Box testing and White-Box testing.

Black-Box (Functional) Software Testing

Identifies bugs only according to software malfunctioning as they are revealed in its erroneous outputs. In cases that the outputs are found to be correct, black box testing disregards the internal path of calculations and process performed. This is also known as the Functional or Functionality testing.

White-Box (Structural) Software Testing

White box testing strategy deals with the internal logic and structure of the code. White box testing is also called as glass, structural, open box or clear box testing. The tests written based on the white box testing strategy incorporate coverage of the code written, branches, paths, statements and internal logic of the code etc.

The following table illustrates the testing techniques belong to what specific type of testing whether Black-Box or White-Box.
  

The above are the most common testing techniques most widely acceptable and can be adapted for most of the software projects undergoing in any organization. There can be hundreds of software testing techniques that can be elaborated by different prominent software quality geeks around the globe. Each of the above testing techniques will be discussed in the coming post at Software Quality Geeks. 


Wednesday, January 11, 2012

Does Your Organization Have Well Defined and Strong Quality Assurance Process?


What motivates an organization to have an independent Software Quality Assurance department/process?

What value Software Quality Assurance process brings to an organization?


The answer of above two questions and many such questions lies here

  • Malaysia Air Jetliner, August 2005
Flight between Perth, Australia and Kuala Lumpur, Malaysia zoomed 3000 feet upwards. A defective software program had provided incorrect data about the aircraft’s speed and acceleration, confusing the flight computers.

  • NASA Mars Polar Lander, 1999
On 3rd December 1999 MARS Polar Lander disappeared during its landing attempt. Failure Review Board concludes the likely failure reason was unexpected setting of single data bit.

  • The Lion King Animated Storybook
Disney’s first multimedia CD-ROM game for kids, released in Christmas season.26th December was the nightmare for the customer support. The CD was tested only for specific PC platform. It failed on many popular PC and operating systems.

Organizations are becoming more quality conscious as the customer is getting aware of the technologies, its pros and cons, the risk involved in it etc. When it comes to meeting and/or exceeding the customer’s expectations in Software Development Industry the need of well defined and well matured Software Quality Assurance process arise.

Quality

Quality is defined by American Heritage Dictionary very precisely and comprehensively it says “Quality is the characteristics or attribute of something”

The following equation summarizes the quality that can best be fit in to the software development industry.

User Satisfaction = Compliant product + good quality
    + Delivery within budget and schedule

             “People forget how fast you did a job—but they always remember how well you did it.”
                                                                                      -Howard Newton.


There exist many software quality standards (see software quality standard in upcoming posts) and procedure around the globe to conduct business by meeting or exceeding the customer’s expectations. The block diagram below generalizes the Software Quality Assurance process that comprises two major activities:
         
  • Formal Technical Reviews (aka. FTRs)
  • Software Application Testing
Software Quality Assurance Process

Formal Technical Review

A formal technical review is a quality control activity performed by dominantly Software Quality Assurance Engineers (SQAEs) and/or Software Engineers themselves in rare cases. The primary purpose of this activity is walkthroughs, inspections, round-robin reviews and other small group technical assessments of software.

The most common and widely used activity is inspection; in which SQA Engineer execute the checklist on the document produced in the Requirement Gathering (i.e. FS, SRS and CRF) and Design (i.e. ERD, Class Diagram and DFD) phase. There are many objectives of and FTR or inspection:

  1. To uncover errors what customer actually wanted and what is described by the business analyst (BA) in the document (e.g. functional specification –FS)
  2. To verify that software under review and/or development will meet its requirement.
  3. To make projects more manageable.

Software Application Testing

“Like death and taxes, testing is both unpleasant and inevitable.”
                                                                               –Ed Yourdon

This is the very important and critical activity in the software quality assurance process that guarantees the software application quality mainly. This phase usually takes the output of formal technical reviews activities (i.e. inspected FS, SRS or CRF) and makes use of it in the following core activities; that includes:

  1. Test case writing
  2. Test data preparation (done usually for large, complex and critical applications)
  3. Test environment setup
  4. Test case execution
  5. Defect summary report

You will be the happiest and luckiest person on this earth if you do not have to compile defect summary report for the application being tested or have been tested.


What Requires To Be A Software Quality Professional?



Software Quality professionals are highly in demand worldwide. Therefore, organizations are developing separate department for Quality Assurance and ensuring the independence of that department in order to provide great values and quality products to their clientele.

To be a successful and competent Software Quality Professional one must exhibit and have some or all of the following skills and capabilities.
                   

  1. Good understanding of software quality process and concepts
  2. Good understanding of software testing concepts and their application.
  3. Reasonable Understanding of Quality Improvement standards like CMMI and ISO series.
  4. Good communication skills
  5. Good hands on databases, RDBMS concepts and above all at least know how to write queries in SQL.
  6. Reasonable knowledge of UML of any version
  7. Good Intelligence Quotient – IQ, greater the IQ then greater the chances of grabbing any position and job in this world.

The above skills are blueprints to be a successful and competent Software Quality Professional, there could be more than that. The order is kept with respect to the importance that organizations give to their prospects employees, but this is not the case in general, great organizations give value to the persons have high IQ; that in some way suggests that the person is a Quick Learner which is considered as a triumph card for the organization during talent hunting. Organization prefers Quick Learner because he/she can adjust and mold himself/herself according to organization needs and can perform various flavors of tasks which help in both learning and career growth.

IQ can be increased by reading and listening to people have experience and have spent most of their lives no matter whether they went to high school or some sort of universities.


Intelligence Quotient = (Person’s Mental Age / Person’s Age) X 100

Let’s assume a sixty year old man writes his Autobiography and twenty years old high school fellow reads that biography than we can roughly estimate the guy’s intelligence quotient by the formula appeared earlier which will result in 300.

More accurate IQ is more complex to calculate and there exist so many other parameters to take care of that.

Skim around Software Quality Geeks blog to find out more on the above skills which will give an insight into ‘How to be a successful Software Quality Professional?”. The blog will later provide some mock interviews questions in forthcoming posts.
All the skills require to be a Software Quality professional that will be posted in future to Software Quality Geeks will be marked with the same number exist above.

Good luck!!!