Monday, August 27, 2018

How to Create a Test Plan and Test Cases: A Simplified View

Acknowledgement: Most of the content of this post are based on the Book " Advanced Software Project Management" by Andrew Stellman and Jennifer Greene. However Errors if any are due to me and I apolozie for them.


The goal of test planning is to establish the list of tasks which, if performed, will identify all of the requirements that have not been met in the software.
The main work product is the test plan.
     The test plan documents the overall approach to the test. In many ways, the test plan serves as a summary of the test activities that will be performed.
     It shows how the tests will be organized, and outlines all of the testers’ needs which must be met in order to properly carry out the test.
     The test plan should be inspected by members of the engineering team and senior managers.
     The bulk of the test planning effort is focused on creating the test cases.

Fig: Sample format of Test Plan


      A test case is a description of a specific interaction that a tester will have in order to test a single behavior of the software.
      Test cases are very similar to use cases, in that they are step-by-step narratives which define a specific interaction between the user and the software.
     A typical test case is laid out in a table, and includes:
      A unique name and number
      A requirement which this test case is exercising
      Preconditions which describe the state of the software before the test case (which is often a previous test case that must always be run before the current test case)
      Steps that describe the specific steps which make up the interaction
      Expected Results which describe the expected state of the software after the test case is executed
      Test cases must be repeatable.
     Good test cases are data-specific, and describe each interaction necessary to repeat the test exactly.
        The requirement specified on chapter 6-  how a search-and-replace function must deal with case sensitivity. One part of that requirement said, “If the original text was all lowercase, then the replacement  text must be inserted in all lowercase.”



Fig: Test Case Sample

Monday, October 16, 2017

NLP Research Group,CDCSIT, TU,

Natural language processing (NLP) is the automatic understanding and generation of natural language by computer or machine. Since the invention of computer or machine, the idea of human machine interaction was in the quest of research. Many eminent personalities has done a lot of work to bring the NLP to the current stage: from simple language processor such as compiler to the complicated image description and captioning problem. 

The NLP works in the pipeline of different stage: Morphological analysis(Word Segmentation), Lexical Analysis (Lexime/word analysis), syntactic analysis(sentence structure), semantic analysis,  and pragmatic analysis, intermediate form representation and natural language generations( one language to another language).

Natural Language Processing has been one of the most investigated research topic since the decade. The top technological firm such as the Google, Microsoft, Facebook and others have invested much dollar in the research of NLP. The Google has many product such as Google Voice, Google Translator, Google Input Tools which are available in many languages. Among these products, most of them include Nepali Language but not as comparable to other language like English and European Language. However, the research on Nepali language processing is in its fledgling stage i.e. there are many rooms to fill out yet. 

The history of NLP in Nepali date back around 2004 AD when a project named PAN localization project jointly conducted by Madan Puruskar Pustakalay, Kathmandu University and Linguistic department of TU (Now Known as Language Technology Kendra "http://ltk.org.np"). However, after the completion of this project, the work was not continued in  the same speed, systematic and organized manner. The different individuals, organizations and institutions have been doing research in this field and often publishes the result as well, but there is no easily accessible repository of such work in the internet or in any other medium.

During the same period, a few master's degree students, at Central department of computer science and information technology, who has compulsory thesis work in their final semester, wrote their thesis about NLP and related field (I am also one of them). Counting individual thesis, almost all stage of NLP in Nepali Language has been worked out by student as their thesis topic. However, if one would like to built a NLP based application or try to investigate Nepali Text analysis such as Text summarization, classification, Information Retrieval and so. on, he/she can't find the necessary pre-processed resources, niether on internet nor in any other medium. This is the result of not making a single repository in a accessible medium such as GitHub or Code-Repository. The same situation is prevailing in other institutions as well.

I have realized this situation only when I come back to the same department after 4-5 years, joining as Lecturer of CS and tried to continue my research on text analysis. I couldn't access even a simple Nepali Stemmer which is first and foremost step for any task related to NLP. 

Now Its time to make a systematic and organized repository of our work and make it accessible to all other, anywhere in the world. For this, we have initiated a Online NLP research group, where anyone interest in NLP research can take part, contribute and be a proud member of the group.

If you are interested please join us as a member in GitHub, Google Group, Facebook and Twitter. The link are as follows:

Github: https://github.com/tucdcsit
Gmail: cdcsittu@gmail.com
Twitter: Not yet created
Facebook:Not yet created

With Best Regards
Tej Bahadur Shahi (Lecturer, CDCSIT), Member
Ashok Kumar Pant (Sr. Machine Learning Engineer), Member


Wednesday, September 13, 2017

GRE Frequent Word-3

warrant /n/- the legal document form the court that authority can arrest someone.
unwarranted/adj/- not justified (without any reason)
esteem /n/:- Great respect
justified/adj/- with reasons
Feigned /adj/- fake eg. feigned interest
disguised/adj/- real eg disguised interest (unfeigned)
undue/adj/- sufficiently large(excessive) eg. undue praise/critisim
contempt/n/
           - dislike eg. unfeigned contempt.
           -contempt of court
Introverted/adj/
           -not willing to speak more eg. introverted natures.
fondness/n/
            -strong liking eg. Bush's fondness for travel is well known.
ceaseless/adj/
             -not stoppable(continuous) eg. ceaseless explorations
disdain/n/
            - contempt eg disdain for other art.
disdainful/adj/
            -disliking (thinking that they don't deserve your interest).
deceive /v/
      -keep the truth hidden form other for your own advantages eg deceive yourself.
wanderings/n/
       - Time spent travelling around eg. wandering around America
Self-proclaimed/adj/
        -self declare eg Devkota was a self-proclaimed poet of the people.

preconceptions/n/
       -concept before experience eg. The preconception about earthquake was wrong.
At large/phr./
       - as a whole/of many different subject/out of capture eg. Criminal was at large.
Rambling and unconstrained /phr./
      - Very broad
Rambling/adj/
      -too long and confusing
Forays/n/
      - A journey in order to explore
      -Raid/First attampt
Realm/n/
      -an area of interest
Aphoristic/adj/
    -- containing truth
Tantamount/n/
     -having the same effect as st. eg her refusal to answer is tantamount to guilt.
Exert/v/
     -to use st. such as power or authority in order to happen st.
Reclusive/adj/
     - preferring isolation ( eg. reclusive person)

Good Luck to Your GRE preparation... See you next time..




Saturday, August 19, 2017

Data Mining and Data warehousing: Issues and Challenge


What is data?

A representation of facts, concepts, or instructions in a formal manner suitable for communication, interpretation, or processing by human beings or by computers

What is Data Mining?

Word Meaning
·         the practice of examining large databases in order to generate new information.
Definition:
·         Art/Science of extracting non-trivial, implicit, previously unknown, valuable, and potentially useful information from a large database
 

An Introduction to Data mining and data warehousing can be found here